论文部分内容阅读
软件的安全性设计是软件开发中极其重要的一部分,近些年来,人们开始越来越重视对软件的保护,各种技术手段得以蓬勃发展,本文通过对常见软件保护技术的分析,提出了一个新的解决方案——USB加密狗。
USB是在1994年底由Compaq、IBM、Microsoft等多家公司联合提出的一种连接外部设备的新型的通用串行接口技术,它具有真正的即插即用和热插拔功能,接口本身具有电源线,可为外设提供稳定可靠的工作电源,从而对USB加密狗所用元器件的工作电压、功耗等的要求大大降低,更容易实现复杂、灵活的设计和电路的微型化。
在本文的第二部分,首先对密码学的概念和原理做了简单的阐述,并且详细论述了两种经典的密码算法DES和RSA的具体过程。通过对密码算法的分析,为加密狗数据的安全传输提供了理论保证。
在本文的第三部分,从系统的体系结构、数据传输以及协议层三个方面,对USB1.1规范做了详细的介绍,为后面的系统设计提供了技术支持。
本文的第四部分是USB加密狗的硬件设计。给出了USB加密狗的总体设计思路及系统的硬件电路,并从各个方面分析、验证硬件电路的合理性。
本课题的重点和难点是软件的设计,在本文的第五部分,为了使软件的设计更加简单和清晰,本文将软件设计分为两个子模块:USB设备端程序设计和USB主机端程序设计。USB设备端程序设计主要包括:单片机固件程序设计和DogID的读写,单片机固件程序设计采用前后台编程思想,包括后台ISR中断服务程序和前台主程序循环;主机通过单片机与E<2>PROM进行通讯来完成DogID的读写。USB主机端程序设计主要包括:加/解密算法设计,USB驱动程序设计,客户端应用程序设计,加/解密算法设计主要采用DES算法进行加/解密;USB驱动程序提供操作系统与加密狗的接口,支持用户及其应用程序要求的信息流,它是Windows核心的一部分,与系统中的USB总线驱动程序一起完成PC机对USB设备的管理;客户端应用程序通过I/O控制调用访问设备驱动程序。其中USB驱动程序设计是本文重点介绍的部分。
最后,对全文做了总结,并针对本系统在安全性方面存在的问题提出了进一步的思索。