论文部分内容阅读
密码是网络安全的重要基础设施,能有效解决网络所面临的假冒、信息截取、信息篡改和否认等问题。伴随着微电子技术的快速发展和信息技术的广泛使用,密码技术也今非昔比,已经由单纯的编码和算法研究发展为现代密码工程系统。而如何实现高效、快捷、安全的密码管理成为密码工程系统的重要研究方向之一。特别是近年来,随着政府、军队和企事业单位各类密码设备广泛投入使用,对实时、高效、便捷、易于维护的密码系统的需求和依赖性也越来越高。IOCP作为一种高效网络连接模型,可以合理利用与管理多线程,妥善处理大量客户端请求的网络服务问题。特别是在服务程序需要同时管理大量Socket,并且随系统处理器数量增加,服务程序的性能也希望进一步提高时,使用IOCP模型不仅可以提升连接性能,而且还具有很高的安全性。如利用IOCP技术构建一个基于IOCPS类的派生类可以实现服务器和客户端的多线程安全通信型。该模型通过运行一个或者多个工作者线程(I/0 Wokers),调用各种不同的函数实现密钥交换和数字签名认证,从而实现密钥管理系统。本文以IOCP技术为核心,提出了一套高效处理网络连接的模型,设计并实现了基于IOCP技术的密码管理系统。主要工作包括:1、对Winsock基础、同步通信模型和异步通信模型进行了研究探讨,特别是对5种异步通信模型(Select、WSAAsyncSelect、WSAEventSelect、Overlapped I/O、IOCP)进行了比较,通过检测评估,确定了 IOCP模型作为本文所设计系统的网络通信模型;2、深入研究了 IOCP技术的基本原理、运行机制和使用,提出了一种基于IOCP模型的高性能可伸缩应用服务器模型;3、全面分析了密码管理系统需求,设计了基于IOCP模型的高效的、功能齐全的密码管理系统,并实现密钥数据及设备的在线管理,可建立高效的客户端管理机制。经全面测试,系统具有通信高效、性能稳定、响应速度快、数据安全等特点,达到密码管理需求。4、采用了多线程及线程管理、内存池管理等技术对设计的系统进行优化,并针对可能面临的数据接收乱序、客户端恶意连接等行为提出了具体解决方案。