[发明专利]一种用于应用程序和服务器之间交换数据安全的请求方法在审

专利信息
申请号: 201410220742.5 申请日: 2014-05-23
公开(公告)号: CN103973703A 公开(公告)日: 2014-08-06
发明(设计)人: 王磊;崔峥;吴辉斌 申请(专利权)人: 杭州智屏科技有限公司
主分类号: H04L29/06 分类号: H04L29/06;G06F21/64
代理公司: 浙江永鼎律师事务所 33233 代理人: 王梨华
地址: 310000 浙江省杭州市西*** 国省代码: 浙江;33
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 用于 应用程序 服务器 之间 交换 数据 安全 请求 方法
【说明书】:

技术领域

发明涉及网络通信领域,尤其是涉及一种用于应用程序和服务器之间交换数据安全的请求方法。

背景技术

重放攻击(Replay Attacks)又称重播攻击、回放攻击,是指攻击者发送一个目的主机已接受过的包,来达到欺骗系统的目的,主要用于身份认证过程,破坏认证的正确性,重放攻击可以由发起者,也可以由拦截并重发该数据的敌方进行,攻击者利用网络监听或者其他方式盗取认证凭据,之后再把它重新发给认证服务器,重放攻击在任何网络通信过程中都可能发生,是HTTP请求常见的攻击方式之一;对应用程序与服务器之间交换数据而言,没有一个可靠地身份认证机制,易造成一系列的安全问题:比如信息泄露、窃听、假冒、授权侵犯等等,防止重放攻击的一般方法是使用时间戳,通过附加的注册请求消息的日期和时间,但这种方法很容易被攻击者识破并篡改,造成安全问题。

发明内容

本发明是为了解决应用程序和服务器之间交换数据容易被攻击而产生的安全问题,提供一种防止HTTP请求内容被篡改、防止重放攻击,保证数据的机密性、来源可靠性和完整性的用于应用程序和服务器之间交换数据安全的请求方法。

为了实现上述目的,本发明采用以下技术方案:一种用于应用程序和服务器之间交换数据安全的请求方法,防止应用程序和服务器之间产生重放攻击,包括设置时间戳,所述的服务器设有时间戳数据库,所述的应用程序端和服务器端的底层代码中都设有一个约定好的共同的私钥,所述应用程序端利用私钥计算生成签名,所述应用程序端向服务器端发出请求时将签名和时间戳一同发出,所述的服务器端在接到应用程序端请求后,所述服务器端根据应用程序端利用私钥重新计算生成签名,所述服务器端对时间戳和两个签名分别进行验证。数字签名,就是只有信息的发送者才能产生的别人无法伪造的一段数字串,这段数字串同时也是对信息的发送者发送信息真实性的一个有效证明,保证信息传输的完整性、发送者的身份认证、防止数据被篡改;本方案在应用程序端和服务端的底层代码中都设有一个共同的私钥,用于生成有效的签名,该秘钥存在于代码底层,不会载入到网络传输中,因此无法被攻击者拦截到,服务器在接到请求时验证双方的时间戳和签名,对于无效的时间戳或签名,可直接返回无效的请求,避免了遭受重放攻击,保证了数据的机密性、可靠性和完整性。

作为优选,所述的服务器端首先判断时间戳的有效性,然后利用私钥重新计算生成签名,所述服务器端以此签名与应用程序端传来的签名进行验证。时间戳,是通过附加的注册请求消息的日期和时间,但很容易被攻击者识破并篡改,因此,对于无效的时间戳可直接返回无效申请,不必进行签名验证了,对于有效的时间戳,则再进行签名验证,这样可节约验证时间。

作为优选,所述的应用程序端、服务器端利用私钥计算签名时均采用哈希算法。哈希算法将任意长度的二进制值映射为固定长度的较小二进制值,称为哈希值,哈希值是一段数据唯一且极其紧凑的数值,如果散列一段明文而且哪怕只更改该段落的一个字母,随后的哈希都将产生不同的值,要找到散列为同一个值的两个不同的输入,在计算上是不可能的,所以数据的哈希值可以检验数据的完整性;比如采用MD5 HASH 算法,该算法具有单向性、抗冲突性、映射分布均匀性和差分分布均匀性,从而有效防止Secret Key盗用、数据篡改等恶意攻击行为。

因此,本发明具有如下有益效果:1)防止HTTP请求内容被篡改;2)防止重放攻击;3)保证数据的机密性、来源可靠性和完整性。

附图说明

图1是本发明的原理示意图。

具体实施方式

下面对本发明做进一步的描述。

如图1所示,一种用于应用程序和服务器之间交换数据安全的请求方法,防止应用程序和服务器之间产生重放攻击,包括设置时间戳,服务器设有时间戳数据库,应用程序端和服务器端的底层代码中都设有一个约定好的共同的私钥,应用程序端利用私钥计算生成签名,应用程序端向服务器端发出请求时将签名和时间戳一同发出,服务器端在接到应用程序端请求后,服务器端首先判断时间戳的有效性,然后利用私钥重新计算生成签名,服务器端以此签名与应用程序端传来的签名进行验证,应用程序端、服务器端利用私钥计算签名时均采用MD5 哈希算法。

具体使用过程是,应用程序端向服务器端发出带有签名和时间戳的请求,服务器端首先验证时间戳是否有效,如果时间戳无效则返回无效请求,如果时间戳有效则将其记录到时间戳数据库中作为下次有效期判定条件,然后服务器计算签名并将其与应用程序端发来的签名进行验证,如果无效则返回无效请求,如果签名有效则响应应用程序端请求并传送数据。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州智屏科技有限公司,未经杭州智屏科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201410220742.5/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top