CN103973703A - 一种用于应用程序和服务器之间交换数据安全的请求方法 - Google Patents
一种用于应用程序和服务器之间交换数据安全的请求方法 Download PDFInfo
- Publication number
- CN103973703A CN103973703A CN201410220742.5A CN201410220742A CN103973703A CN 103973703 A CN103973703 A CN 103973703A CN 201410220742 A CN201410220742 A CN 201410220742A CN 103973703 A CN103973703 A CN 103973703A
- Authority
- CN
- China
- Prior art keywords
- application program
- server
- signature
- private key
- timestamp
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种用于应用程序和服务器之间交换数据安全的请求方法,防止应用程序和服务器之间产生重放攻击,包括设置时间戳,服务器设有时间戳数据库,应用程序端和服务器端的底层代码中都设有一个约定好的共同的私钥,应用程序端利用私钥计算生成签名,应用程序端向服务器端发出请求时将签名和时间戳一同发出,服务器端进行验证,应用程序端、服务器端利用私钥计算签名时均采用哈希算法。本发明可防止HTTP请求内容被篡改,防止重放攻击,保证数据的机密性、来源可靠性和完整性。
Description
技术领域
本发明涉及网络通信领域,尤其是涉及一种用于应用程序和服务器之间交换数据安全的请求方法。
背景技术
重放攻击(Replay Attacks)又称重播攻击、回放攻击,是指攻击者发送一个目的主机已接受过的包,来达到欺骗系统的目的,主要用于身份认证过程,破坏认证的正确性,重放攻击可以由发起者,也可以由拦截并重发该数据的敌方进行,攻击者利用网络监听或者其他方式盗取认证凭据,之后再把它重新发给认证服务器,重放攻击在任何网络通信过程中都可能发生,是HTTP请求常见的攻击方式之一;对应用程序与服务器之间交换数据而言,没有一个可靠地身份认证机制,易造成一系列的安全问题:比如信息泄露、窃听、假冒、授权侵犯等等,防止重放攻击的一般方法是使用时间戳,通过附加的注册请求消息的日期和时间,但这种方法很容易被攻击者识破并篡改,造成安全问题。
发明内容
本发明是为了解决应用程序和服务器之间交换数据容易被攻击而产生的安全问题,提供一种防止HTTP请求内容被篡改、防止重放攻击,保证数据的机密性、来源可靠性和完整性的用于应用程序和服务器之间交换数据安全的请求方法。
为了实现上述目的,本发明采用以下技术方案:一种用于应用程序和服务器之间交换数据安全的请求方法,防止应用程序和服务器之间产生重放攻击,包括设置时间戳,所述的服务器设有时间戳数据库,所述的应用程序端和服务器端的底层代码中都设有一个约定好的共同的私钥,所述应用程序端利用私钥计算生成签名,所述应用程序端向服务器端发出请求时将签名和时间戳一同发出,所述的服务器端在接到应用程序端请求后,所述服务器端根据应用程序端利用私钥重新计算生成签名,所述服务器端对时间戳和两个签名分别进行验证。数字签名,就是只有信息的发送者才能产生的别人无法伪造的一段数字串,这段数字串同时也是对信息的发送者发送信息真实性的一个有效证明,保证信息传输的完整性、发送者的身份认证、防止数据被篡改;本方案在应用程序端和服务端的底层代码中都设有一个共同的私钥,用于生成有效的签名,该秘钥存在于代码底层,不会载入到网络传输中,因此无法被攻击者拦截到,服务器在接到请求时验证双方的时间戳和签名,对于无效的时间戳或签名,可直接返回无效的请求,避免了遭受重放攻击,保证了数据的机密性、可靠性和完整性。
作为优选,所述的服务器端首先判断时间戳的有效性,然后利用私钥重新计算生成签名,所述服务器端以此签名与应用程序端传来的签名进行验证。时间戳,是通过附加的注册请求消息的日期和时间,但很容易被攻击者识破并篡改,因此,对于无效的时间戳可直接返回无效申请,不必进行签名验证了,对于有效的时间戳,则再进行签名验证,这样可节约验证时间。
作为优选,所述的应用程序端、服务器端利用私钥计算签名时均采用哈希算法。哈希算法将任意长度的二进制值映射为固定长度的较小二进制值,称为哈希值,哈希值是一段数据唯一且极其紧凑的数值,如果散列一段明文而且哪怕只更改该段落的一个字母,随后的哈希都将产生不同的值,要找到散列为同一个值的两个不同的输入,在计算上是不可能的,所以数据的哈希值可以检验数据的完整性;比如采用MD5 HASH 算法,该算法具有单向性、抗冲突性、映射分布均匀性和差分分布均匀性,从而有效防止Secret Key盗用、数据篡改等恶意攻击行为。
因此,本发明具有如下有益效果:1)防止HTTP请求内容被篡改;2)防止重放攻击;3)保证数据的机密性、来源可靠性和完整性。
附图说明
图1是本发明的原理示意图。
具体实施方式
下面对本发明做进一步的描述。
如图1所示,一种用于应用程序和服务器之间交换数据安全的请求方法,防止应用程序和服务器之间产生重放攻击,包括设置时间戳,服务器设有时间戳数据库,应用程序端和服务器端的底层代码中都设有一个约定好的共同的私钥,应用程序端利用私钥计算生成签名,应用程序端向服务器端发出请求时将签名和时间戳一同发出,服务器端在接到应用程序端请求后,服务器端首先判断时间戳的有效性,然后利用私钥重新计算生成签名,服务器端以此签名与应用程序端传来的签名进行验证,应用程序端、服务器端利用私钥计算签名时均采用MD5 哈希算法。
具体使用过程是,应用程序端向服务器端发出带有签名和时间戳的请求,服务器端首先验证时间戳是否有效,如果时间戳无效则返回无效请求,如果时间戳有效则将其记录到时间戳数据库中作为下次有效期判定条件,然后服务器计算签名并将其与应用程序端发来的签名进行验证,如果无效则返回无效请求,如果签名有效则响应应用程序端请求并传送数据。
Claims (3)
1.一种用于应用程序和服务器之间交换数据安全的请求方法,防止应用程序和服务器之间产生重放攻击,包括设置时间戳,所述的服务器设有时间戳数据库,其特征在于,所述的应用程序端和服务器端的底层代码中都设有一个约定好的共同的私钥,所述应用程序端利用私钥计算生成签名,所述应用程序端向服务器端发出请求时将签名和时间戳一同发出,所述的服务器端在接到应用程序端请求后,所述服务器端根据应用程序端利用私钥重新计算生成签名,所述服务器端对时间戳和两个签名分别进行验证。
2.根据权利要求1所述的一种用于应用程序和服务器之间交换数据安全的请求方法,其特征在于,所述的服务器端首先判断时间戳的有效性,然后利用私钥重新计算生成签名,所述服务器端以此签名与应用程序端传来的签名进行验证。
3.根据权利要求1所述的一种用于应用程序和服务器之间交换数据安全的请求方法,其特征在于,所述的应用程序端、服务器端利用私钥计算签名时均采用哈希算法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410220742.5A CN103973703A (zh) | 2014-05-23 | 2014-05-23 | 一种用于应用程序和服务器之间交换数据安全的请求方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410220742.5A CN103973703A (zh) | 2014-05-23 | 2014-05-23 | 一种用于应用程序和服务器之间交换数据安全的请求方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103973703A true CN103973703A (zh) | 2014-08-06 |
Family
ID=51242749
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410220742.5A Pending CN103973703A (zh) | 2014-05-23 | 2014-05-23 | 一种用于应用程序和服务器之间交换数据安全的请求方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103973703A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105049428A (zh) * | 2015-06-30 | 2015-11-11 | 深圳市深信服电子科技有限公司 | 数据安全传输的方法和装置 |
CN105516186A (zh) * | 2015-12-31 | 2016-04-20 | 华为技术有限公司 | 一种防止重放攻击的方法和服务器 |
CN106470103A (zh) * | 2015-08-17 | 2017-03-01 | 苏宁云商集团股份有限公司 | 一种客户端发送加密url请求的方法和系统 |
CN107276747A (zh) * | 2017-08-11 | 2017-10-20 | 杭州铜米互联网金融服务有限公司 | 一种基于协议扩展的移动设备安全访问的方法和系统 |
CN112202706A (zh) * | 2020-08-21 | 2021-01-08 | 国网浙江省电力有限公司杭州供电公司 | 一种电力系统内网的安全访问方法及装置 |
CN113381855A (zh) * | 2021-06-11 | 2021-09-10 | 上海哔哩哔哩科技有限公司 | 通信方法和系统 |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101064595A (zh) * | 2006-04-27 | 2007-10-31 | 联想(北京)有限公司 | 一种计算机网络安全输入认证系统和方法 |
CN101076165A (zh) * | 2007-05-11 | 2007-11-21 | 华中科技大学 | 一种基于手机的移动防伪方法及其系统 |
CN101277185A (zh) * | 2007-03-28 | 2008-10-01 | 联想(北京)有限公司 | 一种基于无线标识的认证方法、系统和无线标识、服务器 |
CN101330438A (zh) * | 2007-06-21 | 2008-12-24 | 华为技术有限公司 | 一种节点间安全通信的方法及系统 |
US20090013177A1 (en) * | 2007-07-03 | 2009-01-08 | Samsung Electronics Co., Ltd. | License management system and method |
US20090022325A1 (en) * | 2006-03-10 | 2009-01-22 | Abb Research Ltd | Access control protocol for embedded devices |
CN101373528A (zh) * | 2007-08-21 | 2009-02-25 | 联想(北京)有限公司 | 基于位置认证的电子支付系统、设备、及方法 |
CN101808100A (zh) * | 2010-01-26 | 2010-08-18 | 北京深思洛克软件技术股份有限公司 | 一种解决信息安全设备远程升级重放性的方法和系统 |
CN101902476A (zh) * | 2010-07-27 | 2010-12-01 | 浙江大学 | 移动p2p用户身份认证方法 |
US20110289306A1 (en) * | 2010-05-21 | 2011-11-24 | Khosravi Hormuzd M | Method and apparatus for secure scan of data storage device from remote server |
CN102647461A (zh) * | 2012-03-29 | 2012-08-22 | 奇智软件(北京)有限公司 | 基于超文本传输协议的通信方法、服务器、终端 |
US20130036223A1 (en) * | 2010-03-16 | 2013-02-07 | Qualcomm Incorporated | Facilitating authentication of access terminal identity |
-
2014
- 2014-05-23 CN CN201410220742.5A patent/CN103973703A/zh active Pending
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090022325A1 (en) * | 2006-03-10 | 2009-01-22 | Abb Research Ltd | Access control protocol for embedded devices |
CN101064595A (zh) * | 2006-04-27 | 2007-10-31 | 联想(北京)有限公司 | 一种计算机网络安全输入认证系统和方法 |
CN101277185A (zh) * | 2007-03-28 | 2008-10-01 | 联想(北京)有限公司 | 一种基于无线标识的认证方法、系统和无线标识、服务器 |
CN101076165A (zh) * | 2007-05-11 | 2007-11-21 | 华中科技大学 | 一种基于手机的移动防伪方法及其系统 |
CN101330438A (zh) * | 2007-06-21 | 2008-12-24 | 华为技术有限公司 | 一种节点间安全通信的方法及系统 |
US20090013177A1 (en) * | 2007-07-03 | 2009-01-08 | Samsung Electronics Co., Ltd. | License management system and method |
CN101373528A (zh) * | 2007-08-21 | 2009-02-25 | 联想(北京)有限公司 | 基于位置认证的电子支付系统、设备、及方法 |
CN101808100A (zh) * | 2010-01-26 | 2010-08-18 | 北京深思洛克软件技术股份有限公司 | 一种解决信息安全设备远程升级重放性的方法和系统 |
US20130036223A1 (en) * | 2010-03-16 | 2013-02-07 | Qualcomm Incorporated | Facilitating authentication of access terminal identity |
US20110289306A1 (en) * | 2010-05-21 | 2011-11-24 | Khosravi Hormuzd M | Method and apparatus for secure scan of data storage device from remote server |
CN101902476A (zh) * | 2010-07-27 | 2010-12-01 | 浙江大学 | 移动p2p用户身份认证方法 |
CN102647461A (zh) * | 2012-03-29 | 2012-08-22 | 奇智软件(北京)有限公司 | 基于超文本传输协议的通信方法、服务器、终端 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105049428A (zh) * | 2015-06-30 | 2015-11-11 | 深圳市深信服电子科技有限公司 | 数据安全传输的方法和装置 |
CN106470103A (zh) * | 2015-08-17 | 2017-03-01 | 苏宁云商集团股份有限公司 | 一种客户端发送加密url请求的方法和系统 |
CN105516186A (zh) * | 2015-12-31 | 2016-04-20 | 华为技术有限公司 | 一种防止重放攻击的方法和服务器 |
CN105516186B (zh) * | 2015-12-31 | 2019-07-23 | 华为技术有限公司 | 一种防止重放攻击的方法和服务器 |
CN107276747A (zh) * | 2017-08-11 | 2017-10-20 | 杭州铜米互联网金融服务有限公司 | 一种基于协议扩展的移动设备安全访问的方法和系统 |
CN112202706A (zh) * | 2020-08-21 | 2021-01-08 | 国网浙江省电力有限公司杭州供电公司 | 一种电力系统内网的安全访问方法及装置 |
CN113381855A (zh) * | 2021-06-11 | 2021-09-10 | 上海哔哩哔哩科技有限公司 | 通信方法和系统 |
CN113381855B (zh) * | 2021-06-11 | 2022-12-27 | 上海哔哩哔哩科技有限公司 | 通信方法和系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11128477B2 (en) | Electronic certification system | |
CN106878318B (zh) | 一种区块链实时轮询云端系统 | |
CN106789090B (zh) | 基于区块链的公钥基础设施系统及半随机联合证书签名方法 | |
US20200169406A1 (en) | Security authentication method and device | |
US9634841B2 (en) | Computer implemented method and a computer system to prevent security problems in the use of digital certificates in code signing and a computer program product thereof | |
CN102624740B (zh) | 一种数据交互方法及客户端、服务器 | |
CN108768652B (zh) | 一种可抗量子攻击的联盟区块链底层加密方法 | |
CN105721500B (zh) | 一种基于TPM的Modbus/TCP协议的安全增强方法 | |
CN103634114B (zh) | 智能密码钥匙的验证方法及系统 | |
US20110202992A1 (en) | method for authenticating a trusted platform based on the tri-element peer authentication(tepa) | |
CN103973703A (zh) | 一种用于应用程序和服务器之间交换数据安全的请求方法 | |
CN106411528A (zh) | 一种基于隐式证书的轻量级认证密钥协商方法 | |
CN102546179A (zh) | 一种服务器端和客户端之间的身份验证方法 | |
CN109687965A (zh) | 一种保护网络中用户身份信息的实名认证方法 | |
CN104486087B (zh) | 一种基于远程硬件安全模块的数字签名方法 | |
CN106452764A (zh) | 一种标识私钥自动更新的方法及密码系统 | |
CN103701787A (zh) | 一种基于公开密钥算法实现的用户名口令认证方法 | |
CN110020869B (zh) | 用于生成区块链授权信息的方法、装置及系统 | |
CN109698806B (zh) | 一种用户数据校验方法及系统 | |
US7739500B2 (en) | Method and system for consistent recognition of ongoing digital relationships | |
CN103166969A (zh) | 一种基于云计算平台的安全云控制器访问方法 | |
CN111711607B (zh) | 一种基于区块链的流式微服务可信加载与验证方法 | |
US10079680B2 (en) | Selective revocation of certificates | |
CN104820807B (zh) | 一种智能卡数据处理方法 | |
CN114257376B (zh) | 数字证书更新方法、装置、计算机设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
EXSB | Decision made by sipo to initiate substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20140806 |