河北科技大学研究生学位论文格式及范文 下载本文

第5章 安全代理的实现 第5章 安全代理的实现

安全问题是电子商务的核心问题,针对安全问题人们提出了种种解决方案,其中SSL协

5.1 安全代理的实现技术

基于SSL协议的安全代理系统是指客户端与服务器之间通过SSL协议通信的一个代理系统,在系统的实现过程中针对系统需求与该领域内现有技术,采用一些具体的实现技术在实现系统基本功能的基础上更加优化系统开发。

5.1.1 密码技术

本系统涉及的密码技术主要是公开密钥体制中的一些常见的技术,首先要熟悉常用的公开密钥密码学的基本概念(例如数字签名,数字证书,验证签名等);再就是熟悉一些流行的密码算法(如RSA,DSA,DES等)的基本原理。虽然在安全代理系统的设计过程中一般不会直接牵扯到加密算法的设计,但是在做与密码程序之间的接口程序时需要搞清楚所用的密码算法是如何实现的。

5.1.2 套接字编程技术

套接字(Socket)是一种网络编程接口,它是对通信端点的一种抽象,提供了一种发送和接收数据的机制。Socket实际上代表的是网络通信的一个端点,通过Socket,用户所开发的应用程序可以通过网络与其他Socket应用程序通信[44]。Socket隐藏了网络底层的复杂结构和协议,使得编程人员可以简单的对网络进行编程。

套接字有3种类型:流式套接字、数据报套接字和原始套接字。流式套接字(Stream Socket)提供了双向的、有序的、无重复并且无记录边界的数据流服务,它提供了一种可靠的面向连接的数据传输方法,流式套接字使用传输控制协议(TCP);数据报套接字(Datagram Socket)支持双向的数据流,但并不保证是可靠、有序、无重复的,数据报套接字使用用户数据报协议(UDP);原始套接字允许对底层协议如IP或ICMP直接访问,主要用于新的网络协议实现的测试等。

属性:

Protocol:TCP或UDP协议; SendData:发送数据; GetData:取得接收到的数据;

ConnectionRequest:对方请求连接时接受连接请求; Error:后台处理中出现错误。

21

河北科技大学硕士学位论文 套接字的工作流程

(1) 服务器侦听连接 服务器Socket不会去定位客户端,它开始时只是倾听来自客户端的请求。服务器Socket形成一个队列,用来存放它听到的连接请求。当服务器Socket同意客户连接请求时,它形成一个新的Socket去连接客户端。

(2) 客户端连接 客户端连接是一个本地系统的客户端Socket与一个远程系统上的服务端Socket的连接。客户端连接由客户端Socket开始。首先,客户端Socket必须描述它想连接到的服务端Socket。接着客户端Socket查找服务端Socket,当找到服务器时,就要求连接。服务端Socket可能不能完成正确的连接。服务器Socket维持一个客户端请求队列,在它有时间时完成连接时,服务端Socket接受客户端连接,并向想连接的客户Socket发送一个完整的描述,客户端的连接完成。

5.2 本章小结

本章介绍了基于SSL安全代理系统实现的关键技术,即密码技术,套接字技术,以及系统实现的软件支持OpenSSL软件包。对开发环境的选择以及实现方案的最终确定做了说明。并且详细介绍本课题研究系统的实现,同时对系统各页面的功能做了必要的说明。最后对系统实现作了总结,得出实验结论。

22

结 论 结 论

安全问题是电子商务的核心问题,针对安全问题人们提出了种种解决方案,其中SSL协议以其简单可靠的特点成为应用最为广泛的协议。目前己经有若干国外厂商推出了基于SSL的安全产品,但是由于加密技术出口政策的限制,这些产品大多采用一些低安全强度的算法,难以满足我国信息安全的需要,对电子商务中安全问题的研究必要而且迫切。

如何建立一种基于SSL协议的网络通信安全通道是本课题研究的重点。通过对SSL协议的分析研究以及对网络安全常用机制的探讨,本文设计并实现了基于SSL协议的安全代理系统。

本文主要做了以下具体工作

1) 全面分析了SSL协议的结构与运作规范,重点分析了SSL协议握手层与记录层数据处理流程。结合网络安全研究常用的信息安全机制的探讨与研究,分析了SSL协议的安全性并指出了其中的安全缺陷,提出分软件和硬件两方面解决SSL协议的安全性隐患的改进思想。对可能危及SSL协议安全性的关节点,采用加强master_secret的保密性、提高随机数的质量、提高证书CA的可靠性以及使用SSL安全代理来加强密钥的安全性策略。同时给出了可提高SSL协议执行效率的选择。 2) 设计了一种完善的安全代理。论述了安全代理的原理,设计了安全代理的体系结构。并且根据客户端和服务端不同的需求与侧重,分客户端程序和服务端程序两个方面分别做了设计。定义了安全代理客户端的各模块功能,实行模块化的设计。经过比较,得出了该安全代理的模块化、高强度等特点。且模块化的设计保证了系统的高可扩展性。

3) 在服务端系统设计阶段,考虑到服务器处理SSL任务的速度问题,在保证良好安全性的基础上,侧重于服务端的性能提高。引入代理控制器以分开不同安全需求的请求信息和适时的会话恢复,并提出代理模块叠加策略,多模块并行运作,在服务增多的情况下,也可以通过增加代理模块的方法来扩展服务器功能。

4) 系统实现环节采用开放的OpenSSL软件包来辅助系统的实现,利用开放源代码OpenSSL提供的应用程序接口来开发实现。节省开发时间,避免不必要的错误。除了模拟实现安全代理系统之外,还对仿真结论做了总结。

由于本人时间和精力有限,又由于本系统工作量偏大,时间紧促,还有许多需要完善的地方。论文存在以下不足:

1) 对SSL安全缺陷的改进方案有些地方尚不够具体,以参照PMI(特权管理基础设施)增加属性证书为例,在实践中具体如何操作有待细化。

23

河北科技大学硕士学位论文 2) 对安全代理的设计出现了一种矛盾,安全强度是加强了,但复杂性也提高了,实现成本必然提高,这样可能会使SSL失去其简单的特点。虽然设计之初考虑到性能与安全性不能兼得,但是矛盾没有达到很好的解决。

另外,服务端安全代理的设计很少有人研究过,目前更没有一个成熟的产品投诸于使用。本文的设计只是从理论上探讨,并作了理论上的合理性分析,虽然提出了解决性能瓶颈的策略,但是最终没有能在实际中去开发应用。

随着Internet、软件技术和通信技术的不断发展,随着信息化进程的深入,人们的工作、学习和生活方式正在发生巨大变化,效率大为提高,信息资源得到最大程度的共享。紧随信息化发展而来的网络安全问题日渐凸出,如果不很好地解决这个问题,必将阻碍信息化发展的进程。并且网络安全建设是涉及我国经济发展、社会发展和国家安全的重大问题。所以网络安全研究工作仍然任重而道远。

24