论文部分内容阅读
虚拟专用网(Virtual Private Network,VPN)指的是在公共网络上建立专用网络。其之所以被称为虚拟网,主要是因为整个VPN网络的任意两个节点之间的连接并没有传统专用网所需要的端对端的物理链路,而是在公共网络上面,利用身份认证及加密技术而构筑起的虚拟专用网络。VPN由于成本低廉,安全可靠,连接方便灵活,对专网完全控制等几个优点而发展迅速。VPN以PKI体系架构为基础,使用数字证书进行身份认证。
尽管VPN网络在传输上解决了安全传输的问题,其中密钥对的生成及存储是安全的关键。传统的方式是在主机端产生并且存储在主机端,计算机开放的应用环境给这种方式带来了巨大的安全隐患。万一私钥丢失,非法用户就可以进行非法访问甚至破坏行为。所以私钥的安全保存的问题显得尤其重要。
本文以密码学理论及数字证书体系为基础,提出以USBKEY作为身份认证的手段。利用USBKEY生成密钥对,应用程序不能直接访问密钥的内容。用户可以通过应用程序访问CSP(Cryptographic Service Provider)接口选择所使用的算法类型,但用户及应用程序都无法直接访问密钥,实际的操作完全由CSP内部进行控制。因为所有的密钥都是在CSP内部产生的,应用程序通过不透明的句柄对密钥进行访问。这就避免了应用程序和其相关联的动态链接库泄露密钥或使用不好的随机数产生密钥的可能。由于用户私钥保存在USBKEY的密码锁中,理论上使用任何方式都无法读取,并且采用USBKEY+PIN码双因子认证的方式,这可在极大程度上保障私钥的安全性,从而满足VPN移动客户端的安全性需要。本文最后以ePass3003系列USBKEY进行设计,演示了用USBKEY对数据进行加解密等操作,并测试采用USBEKY作为SSL VPN安全移动客户端的性能情况。