一种基于前置网关的http隐藏按钮保护方法

文档序号:7764322阅读:419来源:国知局
专利名称:一种基于前置网关的http隐藏按钮保护方法
技术领域
本发明一般地涉及Web安全领域。更为具体的,本发明涉及一种基于前置代理网关保护HTTP R)rm中的隐藏按钮值的方法和装置,保护Web应用免受关键数据篡改和泄漏的威胁。
背景技术
由于HTTP协议的无状态特性,Web服务器经常在HTTP表单(Form)中使用隐藏按钮实现跨HTTP会话的数据传递。隐藏按钮的值都是由服务器生成,并发送到客户端以便它们在下一个会话中被客户端提交回来供服务器使用。通过这种方式,Web服务器可以获取以前HTTP交互中产生的重要数据(例如迄今,当前用户已经购买的商品价值总额),以便作为与用户进一步进行交互和计算的基础。在大多数情况下,隐藏按钮的值是必须是真实的,否则可能造成对Web应用服务的欺诈。有些情况下,Web应用使用隐藏按钮记录用户在以前交互页面中输入的银行账户等敏感信息,这些信息是需要进行机密性保护的。从整个 Web会话的角度,客户端的可信性是难以保证的,隐藏按钮的值可能在客户端被恶意用户或者恶意软件篡改以实现对Web服务器的业务欺诈。如果隐藏按钮中包含了敏感信息,则该信息也容易在传输过程中被泄露。上述问题的根源在于HTTP协议的无状态特性以及安全机制的缺乏。Web服务器通常采用HTTPS来加强Web交互的安全性,这种安全协议保证数据在传输过程中机密性和完整性,但无法解决Cookie在客户端被篡改和泄漏的问题。Web应用也可以在其实现代码中对HTTP R)rm表单的产生过程中主动对隐藏按钮进行加密或者实施完整性保护,但这种方法需要对大量已有的Web应用的实现代码进行修改,容易造成对应用的干扰,也不具有可扩展性。

发明内容
针对在现有web应用代码中对R)rm的隐藏按钮进行安全加固所面临的对应用的干扰和扩展性缺乏问题,本发明提供了一种基于前置代理网关的HTTP Form隐藏按钮安全加固装置,基于前置HTTP代理网关透明介入到客户端和Web服务器的会话过程中,实现对 Web服务器发往客户端的R)rm表单中隐藏按钮加密和完整性保护,保证隐藏按钮承载的敏感数据不能在传输过程和客户端被泄露和篡改。在提高Web会话安全性的同时,该装置能够同时实现对多个W^eb网站的安全加固,并避免对Web应用代码的修改。技术方案本发明解决其技术问题所采用的技术方案是前置网关部署在受保护的Web服务器之前,充当Web服务器的反向代理,解析服务器发往客户端的HTTP表单内容,基于网关自身的秘密对HTTP R)rm应答中的隐藏按钮的值进行加密和完整性保护;当网关接收到用户提交的发往Web服务器的表单时,对其中的隐藏按钮的值进行解密和完整性验证。前置网关可以以桥或者反向代理模式部署,在桥模式中,通过目标地址转换(DNAT)使得协议数据
3能够被网关接收;在反向代理模式中,协议数据直接发送给网关。该方案中对R)rm中可能存在的多个隐藏按钮进行逐一的基于对称密钥的加密, 并且用加密值替换隐藏按钮的原值。同时,将多个隐藏按钮的值按照其在表达中出现的顺序进行连接,基于此连接值、网关自身的密钥和时间戳计算HMAC(哈希消息认证码)码。网关在服务器发往客户端的表达中增加一个特殊的隐藏按钮来承载该HMAC码,以便于以后进行完整性验证。本发明的有益效果是,基于前置网关对HTTP表单中隐藏按钮的值进行透明安全保护,无需更改Web应用的是实现代码,又可以同时保护多台Web服务器,具有良好的可扩展性。


图1是本发明的功能结构示意图。
具体实施例方式前置代理网关位于受保护的Web服务器之前,在客户端之前接收到来自服务器的 HTTP应答,搜索其中的表单和隐藏按钮,使用网关中的密码设施(加密函数库、加密卡等) 进行安全加固,然后转发给客户端。网关在服务器之前接收到来自客户端的HTTP请求,搜索其中的表单和隐藏按钮,解密和验证隐藏按钮的值,进行进行表单复原,并转发给Web服务器。前置代理网关可以以桥或反向代理两种模式为一台或者多台Web服务器提供安全加固。在桥模式下,客户端发往服务器的请求数据包中的目标地址是真实的服务器,这时为了让网关能够接收和处理这些数据,通过目标地址转换(DNAT)方式将数据包的目标地址和端口转换本机的地址和服务端口,当数据被网关处理完成之后,再转发给服务器。在反向代理模式中,前置网关对外提供多个服务地址或者端口,并在这些地址或端口和真实的服务器之间进行对应,客户端将请求发往网关自身的服务地址与端口,网关解析并处理后转发给Web服务器。由于在HTTP表单中可以包含多个隐藏按钮的名-值对,而且这些按钮在表单中的顺序在服务器首次发往客户端和客户端后继提交的过程中是始终保持一致的,因此这里需要对每个隐藏按钮进行加密保护,对所有隐藏按钮进行一次性全局保护。设服务器发给客户端的HTTP应答中包含的某个表单中的多个隐藏按钮对应的名-值对分别为Ii1 = V1 ;n2 =V2 ;. . . η, = Vi. . . 0方便起见,设网关使用的加密算法为ENC,使用的对称加密密钥为EK, 使用的Hash算法为H,使用的HMAC码密钥为HK。设当前时间戳为T,其中T代表了某个日期。对于ni = Vi,令Vi,= ENC(vi; EK),然后使用Vi'替换Vi,也即用隐藏按钮的加密值替换原值。令V,=VfV2. ..+Vi+...,计算MA = H (V,,HK,T),然后再表单中增加一个特殊的隐藏按钮(例如放到整个表单的末尾),其值为MA。将修改过的HTTP应答发往客户端。由于每个隐藏按钮的值都是加密的,因此不会在传输过程中或者在客户端被泄露。由于隐藏按钮对用户而言是不可见的,所以网关对表单的修改不会对用户产生任何干扰。
在进行验证时,网关在服务器之前截获客户端提交的表单数据,对于每个隐藏按 Ilni = Vi',计算 Vi = ENC (Vi ',EK),使用 Vi 替换 Vi ’。然后网关重新计算 H (Vl+V2. · · +Vi+. · ·, HK, T)的值,并与表单中特殊隐藏按钮的值MA进行比较,如果相同,则说明任何一个隐藏按钮都未被修改;否则说明某些隐藏按钮被篡改,完整性遭到了破坏。如果完整性么有被破坏,网关将删除特殊隐藏按钮,将安全解除过的HTTP请求转发给服务器。如果完整性被破坏,网关可以采用请求阻断的方法来防止恶意请求提交。下面说明系统的执行流程1)用户配置前置网关的执行参数,包括加密、HASH算法的参数等。2)前置网关接收到来自服务器的HTTP应答,搜索其中的每个R)rm中的隐藏按钮 (即type = "hidden”),对每个隐藏按钮的值进行加密,对该表单中所有隐藏按钮提供全局完整性保护。3)前置网关接收到来自客户端的提交的HTTP请求,搜索其中表单和隐藏按钮,对每一个隐藏按钮的值进行解密,并对表单中所有的隐藏按钮的值进行完整性验证。
权利要求
1.一种基于前置网关的HTTP表单隐藏按钮保护方法,对客户端和Web服务器之间传输的表单中的隐藏按钮的值进行机密性和完整性保护,其特征是前置网关对来自Web服务器的HTTP应答表单中的隐藏按钮的值进行逐一加密,通过增加特殊隐藏按钮的方法对表单中的所有隐藏按钮的值进行完整性保护,然后将安全处理的HTTP应答表单发给客户端; 对于来自客户端的HTTP请求表单中的隐藏按钮进行逐一解密,对表单中所有按钮进行全局完整性验证,并将解除安全保护的HTTP请求转发给服务器。
2.根据权利要求1所述的基于前置网关的HTTP表单隐藏按钮保护方法,其特征是前置网关在客户端之前接收到来自服务器的HTTP应答,进行安全处理并转发给客户端在服务器之前接收到来白客户端的HTTP请求,进行安全解除并转发给服务器。
3.根据权利要求1所述的基于前置网关的HTTP表单隐藏按钮保护方法,其特征是前置网关对表单中的隐藏按钮进行逐一安全加密,对表单中的所有隐藏按钮的值进行串接并计算其全局的HMAC码。
4.根据权利要求1所述的基于前置网关的HTTP表单隐藏按钮保护方法,其特征是前置网关通过在表单中增加特殊隐藏按钮的办法承载HMAC码。
全文摘要
一种基于前置网关的HTTP表单隐藏按钮安全保护方法,基于前置网关在客户端之前接收HTTP应答,使用加密设施对表单中的隐藏按钮的值进行逐一加密,对表单中所有隐藏按钮的值进行串接并计算其HMAC码附加到表单中,转发给客户端;在服务器之前对来自客户端的HTTP请求表单中的隐藏字段的值对进行解密和完整性验证,并安全解除的HTTP请求转发给服务器。该方法保护HTTP隐藏按钮在客户端和传输过程中的机密性和完整性。
文档编号H04L29/06GK102469067SQ20101053316
公开日2012年5月23日 申请日期2010年11月5日 优先权日2010年11月5日
发明者史保华, 李佳玥, 翟征德 申请人:中科正阳信息安全技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1