[论文摘要]采用usb加密机和pki技术设计并实现一个网络安全平台。该安全平台实现身份验证、安全传输和访问权限管理等功能。研究该平台所使用的协议的工作流程,并详细介绍客户端、访问控制服务器和证书管理系统的工作原理。
[论文关键词]信息安全pki安全协议usb加密机网络安全平台
一、概述
本文的目的是开发基于pki技术的网络安全认证和连接平台。该平台使用usb密码机,利用pki体系的相关技术,构建一个供拥有密码机的合法用户通过内网或者互联网访问内部网络的资源服务器的安全平台。平台要求实现用户的和服务器的双向认证、密钥磋商、用户访问权限管理,保证信息传输的保密性、完整性、不可否认性。
这个网络安全平台的服务器端分为两个部分,访问控制服务器和证书管理服务器。访问控制服务器是直接与客户端交换数据的服务器,负责的是与客户端完成密钥磋商,实现加密传输,控制客户端的访问权限。证书管理服务器负责包括访问控制服务器在内的所有用户的证书牛成和证书颁发。证书采用x.509v3格式,并且在连接的时候负责用户的身份鉴定。
二、usb密码机介绍
本文中采用的sjw-21c型usb密码机是采用usb接口的密码设备。
sjw-21c型密码机的对称加密算法使用的是经国家密码局鉴定的专用密码算法芯片,其加密分组为64位,密钥长度为128位,密码机的对称加密速度≥smbps,公钥算法支持1024何的rsa,签名速度≥4次/秒,摘要算法则支持sha—l和mds。密码机还内置通过国家有关部门鉴定的随机数发生器,并且支持随机数的筛选,也就是会自动检查随机数的质量,如果达不到要求,会自动舍去。另外,密码机本身也硬件支持生成rsa密钥对。
三、pki同络安全平台原理介绍
基于pki的网络安全平台的安全认证过程分为两个部分,一个是认证信息初始化过程,一个是对用户的入网认证过程,
(一)认证信息初始化
认证信息初始化指的是这个网络安伞平台在架设起来之后,证书管理系统会生成所有用户包括访问控制服务器的证书和私钥,然后分发到各自的密码机中去,具体过程如下。
1,将证书管理系统安装好之后,会进行初始化。
2,证书系统会开始根据需要牛成其他认证实体的证书。
3,各用户将自己的密码机拿到证节管理系统里面来初始化,写入证书和私钥。
4,密码机初始化完毕之后,只要把密码机安装到任何一个可以连接到访问控制服务器的电脑上,运行客户端,输入正确的pin码,就可以开始按照自己的权限来使用资源服务器上面的内容。以上就是整个安全平台系统的初始化过程。
(二)安全平台认证协议的认证过程
安全平台的认证协议设计思想来自ssl/tls协议,但不是纯粹的将两者简单的加在一起,因为那样不仅小能发挥usb密码机的真正优势,密码机本身的特性也会对ssl/tls协议的安全性带来影响,所以这个协议是在理解了ssl/tls协议的设计思想之后根据密码机的安全功能和实际情况之后设计的。在下面的介绍里,会将密码机所自带的128位国产对称加密算法称为sal28,认证协议过程如图1所示。
1,客户端密码机生成一个128位的随机数r1,然后用sha一1算法取这个随机数和密码机td的信息摘要h1,用sal28算法以rl为密钥将h1加密,然后用密码机的私钥加密r1,并在前头加上密码机的id发送给访问控制服务器。
2,访问控制服务器将用户发来的数据直接转发给证书管理服务器。
3,证书服务器收到包之后,先根据这个id在证书数据库里面找这个id所对应的证书,然后用证书电所包含的公钥解密被客户端私钥加密过的rl,然后用这个r1通过sal28算法解密得到h1,验证通过后。证书服务器会生成一个新随机数r2,然后将r2用客户端的公钥进行rsa加密,把加密后的数据加上rl之后取摘要值h2,然后将rl和加密之后的r2还有h2以r2为密钥用sal28算法加密,再将r2用访问控制服务器的公钥进行rsa加密,再将以上数据发送给访问控制服务器。
4,服务器收到上述数据后,首先用自己的公钥解出r2,然后用r2通过sal28算法得到rsc(r2)+ri+h2,验证通过后,将r2取摘要h3,然后将rsc(r2)+h3以r1用sal28算法加密之后发送给客户端。
5,客户端收到数据后,先用rl解出rsl(r2)和h3,在确认之后,用自己的私钥解出r2,然后以r2为sa128算法的密钥开始和服务器进行通信,到此,验证过程结束,客户端和访问控制服务器之问建立起安全连接。
四、安全平台的主要横块
这个网络安伞认证平台的安全连接部分主要分成3个部分,客户端,访问控制服务器和证书管理服务器。这个系统是一个网络安全的应用,所以网络通信和安全非常重要。在internet公网上的通讯采用tcp/ip协议,使用mfc封装的一步socket类casyncsocket建屯网络连接。至于安全方面的连接是采用密码机,编程采用对usb的驱动程序应用接口的访问,这里使用的是针对这个密码机的软件开发包。
(一)客户端的实现
客户端的实现土要分为两个部分,一个是对密码机的控制,一个是对网络安全协议的支持。客户端被设置为验证pin码之后,就开始进行公私钥自检,自检成功后就开始向连接控制服务器提交验证申请。
(二)访问控制服务器的实现
访问控制服务器的主要功能是负责外网和内网的数据交换,并判断数据的属性以做不同的处理。在访问服务器上面,维护了一个访问权限数据库,这个数据库鹗面含有资源服务器上面所有的资源并且对每个不间的用户id标明了权限。在客户端和访问控制服务器之间建立了安全连接之后,服务器就会将和这个客户端联系的线程转变成一个转发线程,客户端将自己的需求加密之后发过来,经过转发线程的解密处理之后,会按贶客户端的权限范围决定是否将需求发送给资源服务器,如果需求符合客户端的权限,那么转发线程会将得到的资源加密之后发送给客户端。
(三)证书管理服务器的实现
在这个安全平台里面,证书管理服务器的作用是证书生成和颁发,验证客户端和服务器端的身份,并且生成对称加密密钥。证书管理服务器有一个证书库,存有安全平台系统里所有密码机的证书。
证书管理服务器还维护一份crl,由于所有的证书不是在证书管理服务器的证书库里面,就是在密码机里面,所以这份cue,除了过期的证书以外。其它所有情况下证书的状态改变都是管理员手动修改。
五、固终安全平台中的数据库设计
该网络安全平台中,一共存在四个数据库,其中访问控制服务器两个,分别是日志数据库和访问权限数据库,证书管理服务器两个,分别是日志数据库和证书数据库。
由于本安伞平台并不是基于公众网的安哞,平台,所以用户量不会很大,出于效率的考虑,选用tberkeleydb数据库系统。berkeleydb是开放源码嵌入式数据库函数库,不同于sql等关系类数据库,berkeleydb直接使用api调用数据库里面的各项功能,而且对于大多数数据库系统berkeley踞只提供了相对简单的数据访问方式。记录是以(key,v“ue)对存放,所以berkeleydb对的查询比带有高级语占解释的关系类库快很多,也便很多。
本文链接:http://www.qk112.com/lwfw/jsjlw/jisuanjiyingyong/245201.html