您的位置:首页 > > 正文
发布时间:2020-04-14 17:45
安全问题是所有在互联网上进行金融结算业务的系统都必须解决的问题,同样也是网上资金结算系统必须解决的核心问题之一。多年来,针对网络应用软件系统的安全问题,人们提出了各种解决方案,其中有很多是使用SSL/TSL协议来完成信息安全传输的。由于受密钥长度的限制,以及不可否认性方面的缺陷,SSL/TSL方案不能满足网上资金结算系统安全的需要[1,2]。因此研究网上资金结算系统中的安全问题,设计更安全更合理的安全方案显得十分重要。本文结合PKI技术、硬件加密技术及HTTP协议,设计了一种安全代理方案,来实现网上资金结算系统的安全。
2网上资金结算系统安全代理的总体结构
网上资金结算系统的基础是原有的结算业务系统及其专用网络[3],网上资金结算系统是原有关键业务在互联网上的延伸。其结构可以分为三层。
1)用户交互层:增加了安全措施的B/S结构,完成用户登录、注销、交易界面的格式化等功能;
2)交易处理层:实现网上资金结算的业务规则;
3)数据处理层:由原资金结算系统的数据库和数据处理接口组成。
安全代理位于用户交互层,为网上资金结算提供安全保证,其所处位置如图1所示。从图中可以看到,安全代理分为服务器端和客户端两部分[4],将正
收稿日期:2010 05 29基金项目:河南省教育厅自然科学研究计划项目(2009B520009)
常的HTTP通信分成了3段,即3网上结算系统Web服
务器到OSP(Origin Server Proxy)段、OSP到UAP(User Agent Proxy)段和UAP到客户浏览器段。数据的具体流向由安全代理决定。
以客户端浏览器访问Web服务器为例,如图2所示,客户端安全代理的数据传输主要涉及的是向外发出的HTTP Request报文和回流的HTTP Status报文。
首先看请求报文。通过对报文的目的地址,路径和端口等的判断,将发送到网上资金结算Web服务器的请求包文进行加密及签名处理,而对于发送到互联网上其他Web服务器的请求则不做处理直接发送。
图1网上结算系统的结构
再看响应报文。由于其可能来自网上资金结算系统服务端,也可能来自互联网上的其他服务器,因此,也要通过目的地址,端口等信息进行判断。对于网上资金结算的响应报文则要进行解密和脱签名等相关的操作,然后再发送给客户端浏览器。而对于互联网上其他Web服务器的响应报文则不进行处理,直接发送给浏览器进行显示。
作者简介:吕书波(1975),男,河南新乡人,讲师,硕士,主要从事计算机网络研究。
23
河南机电高等专科学校学报2010年6期
钥不出设备,保证其机密性。数字签名卡用于服务器端,提供高速的信息加密和解密处理;电子钥匙(USB
Key)用于客户端,具有便于携带、防复制、不易损坏、成本低等优势。
在密钥管理策略上,采用了两类、三级密钥,用于信息的签名和加密:
1)签名密钥:非对称密钥,1024位,成对出现,用于信息签名和签名校验。
2)会话密钥:非对称密钥,1024位,成对出现,用
图2客户端安全代理的数据流向
于对随时生成的包文密钥进行加密和解密。
由上文可知,为了保证结算信息的保密性、完整性和不可否认性,网上资金结算系统需要对传送的数3)包文密钥:对称密钥,128位,在信息传输的过据进行加密签名等操作。这些内容涉及该系统的密程中随时生成,一包一密,信息交换双方共用,用于信
息及其签名的加密和解密。
钥体制和加密方法。
由于对称密钥算法效率较高,可以明显提高大信
3安全代理的加密及签名方案息量包文的处理速度,因此包文密钥采用了对称密网上资金结算系统的安全需求主要有用户权限钥。为了完成签名及对称密钥的传递,分别采用了基认证、保密性、完整性和不可否认性四个方面。鉴于于非对称加密的签名密钥和会话密钥。图3是信息安全传输的流程,上部是信息加密传输的过程,信息基于公钥密码算法的公钥基础设施PKI(Public Key
Infrastructure)是目前已被实践证明的、较为完善和成原文在传送前要用Hash算法形成摘要,再用发送方熟的信息安全解决方案,在本文中采用了这一方案。私钥形成签名,与信息原文一起再用本次传送所用的
3.1相关技术包文密钥进行加密,结果与用接收方公钥加密后形成的包文密钥密文一起构成传送数据发送给接收方。
PKI系统由认证机关(CA)、数字证书库、密钥备份及恢复系统、证书作废系统、应用接口等基本部分接收方首先用私钥获得包文密钥,然后利用包文密钥构成[5]。公钥体制的密钥对(即私钥和公钥)是PKI获得签名和原文,之后就可以用发送方的公钥对签名
进行验证。
的核心和基础。一个密钥加密的信息只能由与之配
在整个流程中分别涉及了中心签名公钥和私钥、对的另一个密钥解密,私钥由信息主体(如人、服务器
中心加密公钥和私钥、会话密钥、客户签名公钥和私等)独立掌握、不公开,而公钥可以公开传递和查询;
钥以及客户加密公钥和私钥。通过这些密钥的使用,数字证书是将信息主体的身份与其公开密钥绑定的
[6]实现了数据及签名的保密传输。
合法证明(一般以电子文档形式存在)。公钥密码算法RSA可以实现身份确认、信息的不可抵赖、不可4安全代理的流程
篡改及不可窃取等安全功能。
金融业务在互联网化的过程中,出于对数据的保在确定了密钥及证书管理策略并建立CA后,安护,大多选择了智能卡作为保存密钥、证书及进行加全系统的应用接口,或者说软件结构是另一个技术难密和解密的设备。智能卡内部的核心是一块微型晶点。下面对基于HTTP协议的安全代理软件的流程加
以解释。
片,包括CPU、存储器、操作系统和固化的程序,实际上相当于一台计算机系统。智能卡特有的硬件制造安全代理分为用户端(简称UA端)和网上资金工艺,可以抵御物理、电子、化学方法的攻击,其操作结算Web服务器端(简称OS端)。这两端的安全代系统(COS)可以防止攻击者利用软件方式窃取卡内理从结构上很相似,只是UA端要分辨请求或数据是的机密信息。所以,智能卡是一种非常安全可靠的存否为到非网上资金结算系统Web服务器的,所以UA储设备。另外,智能卡不仅能够安全存储私有密钥、端比OS端要复杂一些。这里就以UA端为例,进行口令等机密信息,而且可以内置加密算法程序,完成解释。安全代理的实现是使用C++语言完成的,这加/解密运算。因此,智能卡是用于存储私有密钥和里用到了Sockets编程技术。由于系统上传输的都是数字证书理想介质。重要的单据信息,所以安全代理是使用Sockets流来
3.2加密和签名方案完成请求和数据的传输的。安全代理大致分为连接在本文中,采用了基于数字签名卡、电子钥匙处理部分和数据处理部分。连接处理部分的任务是(USB Key)等硬件设备的加密和数字证书方案,RSA对中断连接发出关闭连接的响应,对连接请求,依据加密和解密算法在数字签名卡和电子钥匙内完成,私请求的源网络地址来决定是否连接。
24
吕书波等:基于HTTP协议的安全代理研究
图3信息安全传送的流程
数据处理部分的任务相对复杂得多。数据主要Web服务器,如果是则要对包文进行签名加密,如果分为Http Request包(客户端)和Http Status包(服务不是,直接发送就可以了。对于Http Status包,可以器端)。对Http Request包,要通过端口号判断是否已明确认为是从网上资金结算系统Web服务器端来的,经和服务器建立了连接,如果没有,则建立。另外还所以直接进行包文解密脱签,然后发送就可以了。具要判断这个包要连接的是否是网上资金结算系统的体流程如图4所示。
图4 UA端和OS端安全代理的流程图
25
河南机电高等专科学校学报2010年6期
5安全代理的实现
安全代理的实现中涉及了很多函数。这里以客户端安全代理对HTTP Request包文的处理为例,说明各函数之间的关系及处理的流程。并对实现中的几个方法简要介绍。
5.1 HTTP Request包文的处理
客户端安全代理对于来自客户端浏览器的HTTP Request包文首先用Get_http_request函数将其放置到内存中的缓冲区(Sock_catch)中,然后根据请求包文首部行中的路径信息判断该请求中的信息是否需要加密签名。由于登录和退出登录及部分涉及结算业务的页面中的信息需要加密签名,为此通过Get_crypt _request函数将这些请求加上标记,对于不需要加密签名的普通请求包文则添加BYPASS标记。根据标记,调用对应的加密函数(如:Request_login_encrypt)完成加密和签名操作,并将加密签名后的数据放置到缓冲区中。由于加密签名数据的加入,导致HTTP包文的变化,为此需要调用对应的函数(如Add_http _ head)对HTTP Request包文的首部进行修改。完成之后,调用Put_http_request函数将修改后的HTTP Re
图5客户端处理HTTP Request包文的过程2
quest包文发送到服务端安全代理。对于不需要进行加密签名的包文则直接将其发送到目的端。具体过程如图5所示。
5.2 HTTP报文的分析
在对重要数据进行加密前,首先要由安全代理将这些敏感的数据找出来。在本文中提出了一个方法,就是在网上资金结算系统的网页上,对于需要进行加密传输的网页名称中添加特殊字符串,以此为特征来决定安全代理的处理动作,对于有这些特征的网页进行处理,对于其他的网页则仅仅做转发即可。这些特征会体现在HTTP包文首部行的路径信息中。
5.3加密数据的传输
对于加密数据的传输,本文利用了HTML表单中的隐藏字段。具体的做法就是将加密签名的数据填充到表单中的隐藏字段,然后对发生了改变的HTTP报文进行修改,最后通过正常的网络传输服务将数据
26
发送到对方。采用该方法的好处在于,不用为了传输保密数据而为安全代理设计相关的通信协议,很好地利用了成熟的TCP/IP体系,从而使安全代理更加简洁,反应的速度能够更快。
6结束语
该方案实现了网上资金结算系统中Web服务器与浏览器之间的安全传输,并且具有如下的特点:
1)易于结合硬件密钥证书设备和接口的应用。
2)选择重要信息的签名长期保存,以备将来作为法律证据。
3)便于选择信息进行签名和加密,提高处理速度。