基于PKI技术的网络安全平台设计分析
[摘要]采用USB加密机和PKI技术设计并实现一个网络安全平台。该安全平台实现身份验证、安全传输和访问权限管理等功能。研究该平台所使用的协议的工作流程,并详细介绍客户端、访问控制服务器和证书管理系统的工作原理。
[关键词]信息安全 PKI 安全协议 USB加密机 网络安全平台
一、概述
本文的目的是开发基于PKI技术的网络安全认证和连接平台。该平台使用USB 密码机,利用PKI体系的相关技术,构建一个供拥有密码机的合法用户通过内网或者互联网访问内部网络的资源服务器的安全平台。平台要求实现用户的和服务器的双向认证、密钥磋商、用户访问权限管理,保证信息传输的保密性、完整性、不可否认性。
这个网络安全平台的服务器端分为两个部分,访问控制服务器和证书管理服务器。访问控制服务器是直接与客户端交换数据的服务器,负责的是与客户端完成密钥磋商,实现加密传输,控制客户端的访问权限。证书管理服务器负责包括访问控制服务器在内的所有用户的证书牛成和证书颁发。证书采用X509v3格式,并且在连接的时候负责用户的身份鉴定。
二、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、客户端密码机生成一个12 8位的随机数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为SA 128算法的密钥开始和服务器进行通信,到此,验证过程结束,客户端和访问控制服务器之问建立起安全连接。
四、安全平台的主要横块
这个网络安伞认证平台的安全连接部分主要分成3个部分,客户端,访问控制服务器和证书管理服务器。这个系统是一个网络安全的应用,所以网络通信和安全非常重要。在Internet公网上的通讯采用TCP/IP协议,使用MFC封装的一步SOCKET类CasyncSocket建屯网络连接。至于安全方面的连接是采用密码机,编程采用对USB的驱动程序应用接口的访问,这里使用的是针对这个密码机的软件开发包。
(一)客户端的实现
客户端的实现土要分为两个部分,一个是对密码机的控制,一个是对网络安全协议的支持。客户端被设置为验证PIN码之后,就开始进行公私钥自检,自检成功后就开始向连接控制服务器提交验证申请。
(二)访问控制服务器的实现
访问控制服务器的主要功能是负责外网和内网的数据交换,并判断数据的属性以做不同的处理。在访问服务器上面,维护了一个访问权限数据库,这个数据库鹗面含有资源服务器上面所有的资源并且对每个不间的用户ID标明了权限。在客户端和访问控制服务器之间建立了安全连接之后,服务器就会将和这个客户端联系的线程转变成一个转发线程,客户端将自己的需求加密之后发过来,经过转发线程的解密处理之后,会按 贶 客户端的权限范围决定是否将需求发送给资源服务器,如果需求符合客户端的权限,那么转发线程会将得到的资源加密之后发送给客户端。
(三)证书管理服务器的实现
在这个安全平台里面,证书管理服务器的作用是证书生成和颁发,验证客户端和服务器端的身份,并且生成对称加密密钥。证书管理服务器有一个证书库,存有安全平台系统里所有密码机的证书。
客户端授权码是一个认证用户身份的凭证,可以用来访问特定的服务器资源或者完成特定的 *** 作。客户端授权码可以通过多种方式获取,具体取决于服务器的架构。1 在客户端/服务器架构中,客户端授权码可以通过客户端的认证服务器获取,认证服务器会根据用户的凭据(如用户名密码)来验证用户的身份,并生成一个授权码返回给客户端。
2 在基于令牌的认证架构中,客户端授权码可以通过认证服务器获取,认证服务器会根据用户的凭据(如用户名密码)来验证用户的身份,并生成一个令牌返回给客户端。客户端可以把令牌发送给服务器,服务器会根据令牌来验证客户端的身份,并生成一个授权码返回给客户端。
3 在基于OpenID的认证架构中,客户端授权码可以通过OpenID提供者获取,OpenID提供者会根据用户的凭据(如用户名密码)来验证用户的身份,并生成一个授权码返回给客户端。
4 在基于OAuth的认证架构中,客户端授权码可以通过OAuth认证服务器获取,OAuth认证服务器会根据用户的凭据(如用户名密码)来验证用户的身份,并生成一个授权码返回给客户端。
总之,客户端授权码的获取方式取决于服务器的架构,可以通8021x认证过程与本质8021x协议实质上是基于端口对接入的合法性进行认证,进而决定允许或拒绝资源接入网络。在8021x的认证体系结构中,引入了“受控端口”与“不受控端口”概念,将一个物理LAN端口定义为“受控端口”与“不受控端口”两类逻辑LAN接入点。不受控端口只能传送认证的协议报文,受控端口传送业务报文。 表1 目前业界有几种认证方式:pppoe、web和8021x,以下做一个比较:
认证方式web/portalpppoe8021x标准程度厂家私有rfc2516ieee标准封装开销小较大小接入控制方式设备端口用户用户ip地址认证前分配认证后分配认证后分配多播支持好差好vlan数目要求多无无支持多isp较差好好客户端软件不需要需要需要设备支持厂家私有业界设备业界设备用户连接性差好好对设备的要求高(全程vlan)较高(bas)低8021x认证体系通常由提请认证的客户端系统(Supplicant System)、认证系统(Authenticator System)及认证服务器系统(Authentication Server System)等三部分组成。 图1其中,客户端系统一般为安装有客户端软件的用户终端系统,用户通过客户端软件发起8021x协议认证过程,认证通过后可以发起IP地址请求。 认证系统通常为支持8021x协议的网络设备,该设备对应于不同用户的受控与不受控两个逻辑端口。不受控端口始终处于双向连通状态,主要用来传递 EAPOL协议帧,可保证客户端始终可以发出或接受认证。受控端口只有在认证通过的状态下才打开,用于传递网络资源和服务。受控端口可配置为双向受控、仅输入受控两种方式,以适应不同的应用环境。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)