数据传输时进行安全性验证的方法及系统的制作方法

文档序号:7986667阅读:200来源:国知局
专利名称:数据传输时进行安全性验证的方法及系统的制作方法
技术领域
本发明涉及数据传输技术,尤其涉及数据传输时进行安全性验证的方法及系统。
背景技术
在互联网应用中,用户终端基于浏览器平台与服务器之间进行数据传输。具体地,浏览器向服务器发送关于各页面的请求消息;服务器对接收的页面请求消息进行处理,并反馈处理后的信息;浏览器接收服务器反馈的信息后进行解释、显示。一般地,通过超文件传输协议(HTTP,hypertext transmission protocol)通道在浏览器与服务器之间进行数据传输,由于HTTP通道对于收发的数据不做安全性处理,导致传输的数据存在泄露的风险。为了提高数据传输的安全性,可采用HTTPS通道进行数据传输,HTTPS通道会对浏览器与服务器之间传输的页面请求消息进行加解密处理。在统一资源定位器(URL,UniformResource Locator)地址中包含“HTTPS: ”就表明通过HTTPS通道进行数据传输,HTTPS存在不同于HTTP的默认端口及一个加密/身份验证层。虽然采用HTTPS通道提高了数据传输的安全性,但如果第三方进行了页面伪造,修改了发送给服务器的页面请求消息,将导致服务器进行错误的处理,大大降低安全性。下面以在本地应用平台上运行第三方应用的情况进行举例说明,该第三方应用例如为网络游戏应用。首先,需要对cookie进行简要说明。cookie方法是在浏览器储存数据的一种方法,cookie对应于域名,不同的域名对应不同的cookie。与某一域名对应的所有页面共享同一个cookie,并且,各域名对应的cookie互相独立,一个域名不能获取另一个网站的cookie,某一域名对应的各页面不能获取另一域名对应的cookie。域是一个网络概念,指的是一个网络单位,是一个网络单位与其它网络单位之间的界限,可以将域理解为一组有组织管理和访问控制的计算机的集合。对于不同域的访问是有限制的,其他域不能轻易访问本域里的资源,比如wm.sina.com和www.sohu.com,就属于两个不同的域,两者的Cookie是分开的。下面对在本地应用平台上运行网络游戏的过程进行说明。浏览器首先显示用户登录页面,用户输入用户名等登录信息,浏览器将登录信息保存在用户登录页面所对应域的网页本地缓存字段(Cookie)中,该用户登录页面的域(domain)名例如为qq.com。而后,用户选择调用网络游戏,浏览器显示网络游戏页面,这里,将该网络游戏页面的域名表示为app.com,在网络游戏中,用户拥有虚拟资产,如各种道具等,虚拟物品具有类似实物的可购买行及有价属性。用户在使用虚拟卡、币等购买虚拟物品时,浏览器根据用户操作显示虚拟物品交换页面,该虚拟物品交换页面可具体为充值支付页面,一般地,充值支付页面与用户登录页面的域名相同,这里都为qq.com ;用户在充值支付页面中输入充值数量和购买物品;浏览器通过HTTPS通道向服务器发送当前页面请求消息,该当前页面请求消息中包含充值数量和购买物品;并且,根据浏览器的特点,会在当前页面请求消息的头部添加与该充值支付页面所对应域的cookie,也就是添加qq.com对应的cookie。服务器接收页面请求消息后进行相应处理,包括从该用户的账户扣除虚拟卡或币,并向用户配送其购买的物品。网络游戏中有较多的即时小额购买行为,浏览器会频繁地向服务器发送关于充值支付页面的请求消息,提高数据传输时的安全性成为较重要的问题。在上述实例中,虽然浏览器采用了 HTTPS通道向服务器发送页面请求消息,以提高安全性;但是,如果当前页面是第三方伪造的,第三方会对用户在当前页面输入的信息进行修改,再向服务器发送修改后的当前页面请求消息时,这将导致服务器进行错误的处理,不能保证数据传输的安全性。

发明内容
本发明提供了一种数据传输时进行安全性验证的方法,该方法能够提高数据传输的安全性。本发明提供了一种数据传输时进行安全性验证的系统,该系统能够提高数据传输的安全性。一种数据传输时进行安全性验证的方法,该方法包括:浏览器提取当前页面所对应域的cookie,将cookie加入待签名信息中;浏览器对待签名信息进行签名,将签名后信息放入当前页面请求消息的内容部分;浏览器向服务器发送当前页面请求消息;服务器从当前页面请求消息头部提取出cookie,从内容部分提取出签名后信息,由cookie确定出待签名信息,对待签名信息进行签名,得到当前签名后信息;服务器将当前签名后信息与提取出的签名后信息进行比较,如果两者相同,则通过验证。一种数据传输时进行安全性验证的系统,该系统包括浏览器和服务器;所述浏览器,用于提取当前页面所对应域的cookie,将cookie加入待签名信息中;对待签名信息进行签名,将签名后信息放入当前页面请求消息的内容部分,向服务器发送当前页面请求消息;所述服务器,用于从当前页面请求消息头部提取出cookie,从内容部分提取出签名后信息,由cookie确定出待签名信息,对待签名信息进行签名,得到当前签名后信息;将当前签名后信息与提取出的签名后信息进行比较,如果两者相同,则通过验证。从上述方案可以看出,本发明中,浏览器提取当前页面所对应域的cookie,将cookie加入待签名信息中,对待签名信息进行签名,将签名后信息放入当前页面请求消息的内容部分;服务器接收当前页面请求消息后,从中提取出cookie和签名后信息,进行验证。这样,即使第三方伪造了当前页面,由于第三方无法获知本发明所采用的数据传输方式,也就是,不能获知基于cookie进行签名的数据传输方式,将导致服务器验证失败,相应地,服务器也就不会进行后续处理,从而,提高了数据传输的安全性。


图1为本发明数据传输时进行安全性验证的方法示意性流程图2为本发明数据传输时进行安全性验证的方法流程图实例;图3为本发明数据传输时进行安全性验证的系统结构示意图。
具体实施例方式为使本发明的目的、技术方案和优点更加清楚明白,下面结合实施例和附图,对本发明进一步详细说明。本发明中,采用基于cookie进行签名的方式进行数据传输,具体地,浏览器提取当前页面所对应域的cookie,将cookie加入待签名信息中,对待签名信息进行签名,将签名后信息放入当前页面请求消息的内容部分;服务器接收当前页面请求消息后,从中提取出cookie和签名后信息,进行验证。这样,即使第三方伪造了当前页面,由于第三方无法获知本发明所采用的数据传输方式,将导致服务器验证失败,相应地,服务器也就不会进行后续处理,从而,提高了数据传输的安全性。参见图1,为本发明数据传输时进行安全性验证的方法示意性流程图,该流程包括以下步骤:步骤101,浏览器提取当前页面所对应域的cookie,将cookie加入待签名信息中。步骤102,浏览器对待签名信息进行签名,将签名后信息放入当前页面请求消息的内容部分。步骤103,浏览器向服务器发送当前页面请求消息。根据浏览器的特点,浏览器将提取当前页面所对应域的cookie,将cookie放入当前页面请求消息的头部,并将用户在当前页面输入的信息放在当前页面请求消息的内容部分。本发明中,浏览器还在内容部分放入了签名后信息。步骤104,服务器从当前页面请求消息头部提取出cookie,从内容部分提取出签名后信息,由cookie确定出待签名信息,对待签名信息进行签名,得到当前签名后信息。服务器采用与浏览器相同的算法,对待签名信息进行签名,例如,消息摘要算法第五版(MD5,Message Digest Algorithm5)或安全哈希算法(SHA1, Secure Hash Algorithm)
算法等。步骤105,服务器将当前签名后信息与提取出的签名后信息进行比较,如果两者相同,则通过验证。如果通过验证,则服务器对页面请求消息进行正常的后续处理,包括完成充值支付等;如果验证失败,则服务器拒绝对页面请求消息进行后续处理。采用本发明方案,浏览器向服务器发送的当前页面请求消息已经具有较高的安全性,且HTTPS通道的传输速度较HTTP通道慢,因而,浏览器可采用HTTP通道向服务器发送当前页面请求消息;当然地,为了更进一步提高数据传输的安全性,浏览器也可采用HTTPS通道向服务器发送当前页面请求消息。上述流程涉及的待签名信息具体内容可根据需要设定,例如,该待签名信息中可以只包含cookie,相应地,只要获知了 cookie便确定出了待签名信息。下面同样以在本地应用平台上运行网络游戏的过程进行说明。浏览器首先显示用户登录页面,用户输入用户名等登录信息,浏览器将登录信息保存在用户登录页面所对应域的Cookie中,该用户登录页面的域名例如为qq.com。而后,用户选择调用网络游戏,浏览器显示网络游戏页面,这里,将该网络游戏页面的域名表示为app.com,在网络游戏中,用户拥有虚拟资产,如各种道具等,虚拟物品具有类似实物的可购买行及有价属性。用户在使用虚拟卡、币等购买虚拟物品时,浏览器根据用户操作显示虚拟物品交换页面,该虚拟物品交换页面可具体为充值支付页面,一般地,充值支付页面与用户登录页面的域名相同,这里都为qq.com;用户在充值支付页面中输入充值数量和购买物品;浏览器提取qq.com对应的cookie,对cookie进行签名,将签名后信息放入当前页面请求消息的内容部分,将cookie放入头部,将当前页面请求消息通过HTTPS通道发送给服务器,该当前页面请求消息的内容部分还包含充值数量和购买物品。服务器接收页面请求消息后从当前页面请求消息头部提取出cookie,从内容部分提取出签名后信息,对cookie进行签名,得到当前签名后信息;将当前签名后信息与提取出的签名后信息进行比较,如果两者相同,则通过验证。而后,进行相应的后续处理,包括从该用户的账户扣除虚拟卡或币,并向用户配送其购买的物品。为了进一步提高数据传输的安全性,可根据需要在待签名信息中添加其他信息。下面进行举例说明,该实例的步骤流程如图2所示:步骤201,服务器向浏览器下发交互标识(token)和签名密钥(sigkey),浏览器接收服务器下发的交互标识和签名密钥,将交互标识添加到当前页面所对应域的cookie中。具体地,可以在需要采用本发明方案进行数据传输时,由浏览器预先向服务器请求下发交互标识和签名密钥。步骤202,浏览器提取当前页面所对应域的cookie,将cookie和签名密钥加入待签名信息中。步骤203,浏览器对待签名信息进行签名,将签名后信息放入当前页面请求消息的内容部分。步骤204,浏览器向服务器发送当前页面请求消息。步骤205,服务器从当前页面请求消息头部提取出cookie,从内容部分提取出签名后信息,由cookie确定出待签名信息,对待签名信息进行签名,得到当前签名后信息。虽然浏览器没有向服务器传送签名密钥,但服务器自身知道签名密钥,本实例中待签名信息包含cookie和签名密钥,服务器从头部提取出cookie之后,由提取出的cookie和已知的签名密钥便可得到了待签名信息。步骤206,服务器将当前签名后信息与提取出的签名后信息进行比较,如果两者相同,则通过验证。参见图3,为本发明数据传输时进行安全性验证的系统结构示意图,该系统包括浏览器和服务器;所述浏览器,用于提取当前页面所对应域的cookie,将cookie加入待签名信息中;对待签名信息进行签名,将签名后信息放入当前页面请求消息的内容部分,向服务器发送当前页面请求消息;所述服务器,用于从当前页面请求消息头部提取出cookie,从内容部分提取出签名后信息,由cookie确定出待签名信息,对待签名信息进行签名,得到当前签名后信息;将当前签名后信息与提取出的签名后信息进行比较,如果两者相同,则通过验证。可选地,所述浏览器包括第一提取单元、第一签名单元和发送单元,所述服务器包括第二提取单元、第二签名单元和验证单元;
所述第一提取单元,用于提取当前页面所对应域的cookie,将cookie加入待签名信息中,将待签名信息发送给所述第一签名单元;所述第一签名单元,用于对待签名信息进行签名,将签名后信息放入当前页面请求消息的内容部分,将当前页面请求消息发送给所述发送单元;所述发送单元,用于将当前页面请求消息发送给服务器;所述第二提取单元,用于从当前页面请求消息头部提取出cookie,从内容部分提取出签名后信息,发送给所述验证单元;并由cookie确定出待签名信息,将待签名信息发送给所述第二签名单元;所述第二签名单元,用于对待签名信息进行签名,得到当前签名后信息,将当前签名后信息发送给所述验证单元;所述验证单元,用于将当前签名后信息与提取出的签名后信息进行比较,如果两者相同,则通过验证。可选地,所述浏览器还包含添加单元,用于接收服务器下发的交互标识和签名密钥,将交互标识添加到当前页面所对应域的cookie中,将签名密钥加入待签名信息中。所述当前页面请求消息为关于当前页面的超文件传输协议HTTP请求消息,或者,为关于当前页面的安全超文本传输协议HTTPS请求消息。以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
权利要求
1.一种数据传输时进行安全性验证的方法,其特征在于,该方法包括: 浏览器提取当前页面所对应域的cookie,将cookie加入待签名信息中; 浏览器对待签名信息进行签名,将签名后信息放入当前页面请求消息的内容部分; 浏览器向服务器发送当前页面请求消息; 服务器从当前页面请求消息头部提取出cookie,从内容部分提取出签名后信息,由cookie确定出待签名信息,对待签名信息进行签名,得到当前签名后信息; 服务器将当前签名后信息与提取出的签名后信息进行比较,如果两者相同,则通过验证。
2.如权利要求1所述的方法,其特征在于,所述浏览器对待签名信息进行签名包括:浏览器采用消息摘要算法第五版MD5或安全哈希算法SHAt对待签名信息进行签名; 所述服务器对待签名信息进行签名包括:服务器采用MD5或SHAt对待签名信息进行签名。
3.如权利要求1所述的方法,其特征在于,所述待签名信息中只包含cookie。
4.如权利要求1所述的方法,其特征在于,所述浏览器提取当前页面所对应域的cookie之前,该方法还包括:浏览器接收服务器下发的交互标识和签名密钥,将交互标识添加到当前页面所对应域的cookie中,将签名密钥加入待签名消息中。
5.如权利要求1至4中任一项所述的方法,其特征在于,所述当前页面请求消息为关于当前页面的超文件传输协议HTTP请求消息,或者,为关于当前页面的安全超文本传输协议HTTPS请求消息。
6.如权利要求5所述的方法,其特征在于,所述当前页面为虚拟物品交互页面,当前页面对应域的cookie为用户登录页面对应域的cookie。
7.一种数据传输时进行安全性验证的系统,其特征在于,该系统包括浏览器和服务器; 所述浏览器,用于提取当前页面所对应域的cookie,将cookie加入待签名信息中;对待签名信息进行签名,将签名后信息放入当前页面请求消息的内容部分,向服务器发送当前页面请求消息; 所述服务器,用于从当前页面请求消息头部提取出cookie,从内容部分提取出签名后信息,由cookie确定出待签名信息,对待签名信息进行签名,得到当前签名后信息;将当前签名后信息与提取出的签名后信息进行比较,如果两者相同,则通过验证。
8.如权利要求7所述的系统,其特征在于,所述浏览器包括第一提取单元、第一签名单元和发送单元,所述服务器包括第二提取单元、第二签名单元和验证单元; 所述第一提取单元,用于提取当前页面所对应域的cookie,将cookie加入待签名信息中,将待签名信息发送给所述第一签名单元; 所述第一签名单元,用于对待签名信息进行签名,将签名后信息放入当前页面请求消息的内容部分,将当前页面请求消息发送给所述发送单元; 所述发送单元,用于将当前页面请求消息发送给服务器; 所述第二提取单元, 用于从当前页面请求消息头部提取出cookie,从内容部分提取出签名后信息,发送给所述验证单元;并由cookie确定出待签名信息,将待签名信息发送给所述第二签名单元;所述第二签名单元,用于对待签名信息进行签名,得到当前签名后信息,将当前签名后信息发送给所述验证单元; 所述验证单元,用于将当前签名后信息与提取出的签名后信息进行比较,如果两者相同,则通过验证。
9.如权利要求7或8所述的系统,其特征在于,所述浏览器还包含添加单元,用于接收服务器下发的交互标识和签名密钥,将交互标识添加到当前页面所对应域的cookie中,将签名密钥加入待签名信息中。
10.如权利要求7或8所述的系统,其特征在于,所述当前页面请求消息为关于当前页面的超文件传输协议HTTP请求消息,或者,为关于当前页面的安全超文本传输协议HTTPS请求消息。`
全文摘要
本发明提供了数据传输时进行安全性验证的方法及系统,其中,该方法包括浏览器提取当前页面所对应域的cookie,将cookie加入待签名信息中;浏览器对待签名信息进行签名,将签名后信息放入当前页面请求消息的内容部分,向服务器发送当前页面请求消息;服务器从当前页面请求消息头部提取出cookie,从内容部分提取出签名后信息,由cookie确定出待签名信息,对待签名信息进行签名,得到当前签名后信息;服务器将当前签名后信息与从内容部分提取出签名后信息进行比较,如果两者相同,则通过验证。本发明方案能够显著提高数据传输的安全性。
文档编号H04L9/32GK103139147SQ20111038031
公开日2013年6月5日 申请日期2011年11月25日 优先权日2011年11月25日
发明者陈宁国 申请人:腾讯科技(深圳)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1