摘 要:基于公钥体系结构(PKI)原理,设计了结合CA安全证书的Web Mail安全系统,并将PKI技术融入到系统各组成部分。一方面,利用智能卡安全身份认证技术,提供了一种安全便捷的身份认证模式;另一方面,应用了动态页面关键信息提取技术,使得用户数据在客户端完成加解密操作,解决了公务邮件传输中的安全性和完整性问题。经过实验环境的原型验证,系统运转良好。
关键词:电子邮件;PKI;安全身份认证;关键信息加密
电子邮件作为互联网应用最广泛的信息交流工具,已深入普及到人们的日常生活和工作当中。于是电子邮件的安全性日益成为互联网行业和整个社会关注的问题,如何实现安全且易用的电子邮件系统,成为安全电子邮件应用的明确需求。
传统电子邮件技术是一种安全性较差的信息传输技术。目前,因特网用户所使用的绝大多数电子邮件系统中,基本没有采取任何措施来保证电子邮件在网络中安全传送。电子邮件的内容以明文的形式在网络中传递,使其面临着被截获、篡改、破坏的危险。
我国安全电子邮件应用的自主研究也在迅猛发展。服务提供商、产品厂商通过自己的努力,对安全电子邮件系统做出探索性的研制和推广,并配合相关法规和制度不断反馈和修订,但都尚未形成公开的或权威的标准。为了解决应用层邮件的安全问题,需要设计易用的企业级安全邮件系统,具有集中管理用户证书并进行后台自动数据安全处理的机制,同时做到灵活和易集成。
经过广泛的市场调研,基于非对称密钥加密理论,在传统电子邮件系统中引入公共密钥体系(PKI),通过CA安全认证、数字签名和信息加密技术(对称加密和非对称加密)可以为电子邮件用户提供以下安全服务:邮件发送方身份认证、邮件内容保密、邮件内容完整、邮件内容不可否认,从而实现安全易用的电子邮件系统[1]。
1 安全Web Mail系统总体设计
安全Web Mail系统总体分为4层,由基础层、平台层、应用层和客户层组成,提供统一的整体服务,如图1所示。底层是基础层,提供整体系统的后台基础服务,包括标准电子邮件服务系统及其管理用户信息的附属目录服务系统、CA证书服务系统。平台层位于基础层之上,包括Web服务器、应用服务器和数据库服务器,符合Internet3层应用部署架构,为上层应用提供运行环境和数据存储空间,为客户端提供访问接入响应。应用层位于平台层之上,包含安全身份认证系统、网上证书受理系统、Web Mail系统以及企业用户地址树、系统后台管理、单点登录接口等应用服务,实现证书受理、身份认证、信息加解密、用户管理和系统接口等各项安全Web Mail邮件功能。最上层是客户层,包括客户端浏览器及插件、用于安全认证的USB接口智能密钥棒。
2 安全身份认证技术
2.1 身份认证安全设计
安全Web Mail邮件系统认证包括4个部分,即私钥签名、证书验证、证书检测、身份确认,主要完成对拥有证书的用户进行身份认证的功能。
每个用户拥有唯一一个密钥棒,其中存储代表用户身份的数字证书和私钥,用户登录系统时,在客户端USB口插入智能密钥棒,与远程身份认证服务器通讯,由认证服务器验证用户的数字签名完成对用户身份的认证,并得到用户的身份以及系统的授权信息[2-3]。采用智能密钥棒进行身份认证,很好地结合了PKI体系和智能卡设备,使PKI体系具有了“移动”特征[4]。
设计中采用RSA+SHA1作为安全Web Mail系统中身份认证的签名算法,采用RSA作为数字信封的非对称加密算法,采用国密标准的SDBI作为HASH算法[5]。
2.2 智能卡协调管理器
智能卡作为数字证书存储介质,遵循国际标准协议(PKCS11)。为了屏蔽各类智能卡的差异,简化应用系统的开发并增强系统的通用性,在原有各类智能卡接口函数的基础上,推出CA系统智能卡协调管理器,统一了各个类型智能卡的接口。
智能卡协调管理器主要分为3部分:上层应用调用的组件、Windows智能卡资源管理接口和智能卡驱动程序。智能卡协调管理器就是中间调节作用的抽象层。智能卡协调管理器模型将智能卡厂商提供的应用接口与智能卡应用程序使用的接口隔离开。智能卡厂商提供的驱动程序发生变化或更新,对上层的智能卡应用程序没有影响。
3 动态页面关键信息提取技术
3.1 HTTP数据的获取技术
IE就是一个包含许多其他COM组件的较大COM组件,可以访问已经运行的IE实例,并从应用程序中获得对IE的控制。
对一个与其客户通信的COM对象来说,该对象必须支持一个或多个发出接口,支持发出接口的COM对象称作可连接对象。要想有资格成为可连接对象,就必须实现Iconnection Point Container接口。发出接口实际上由客户端来执行,并通过连接点插入COM对象。每次启动新实例时,IE都会加载浏览器帮助者对象(BHO)所指定的一个动态链接库(DLL),而此DLL能有效地与IE进行连接,获知IE正在激发的事件。对于BHO下的每个CLSID,IE在与浏览器相同的进程空间调用CoCreateInstance,启动BHO实例。如果BHO注册了它的CLSID并执行了IobjectWithSit接口,那么IE就启动BHO并传递指向IE的IwebBrowser接口指针,通过该接口指针,就能控制和接收来自IE的事件。
3.2 Web页面关键信息提取技术
关键信息标记语言是对HTML的扩充。HTML脚本语言可以分为表现式语言和内容式语言。表现式语言主要完成显示功能,如表格的标记
等;而内容式语言就是需要传递给用户的真实数据,如文本输入标记 |