基于超文本传输协议的通信方法、服务器、终端的制作方法

文档序号:9914559阅读:972来源:国知局
基于超文本传输协议的通信方法、服务器、终端的制作方法
【技术领域】
[0001]本申请涉及网络安全技术领域,特别是涉及一种基于超文本传输协议的通信方法、服务器、终端。
【背景技术】
[0002]目前随着互联网越来越深入地影响人们日常工作生活,基于互联网的数据通信的安全性就显的尤为重要。
[0003]在各种影响网络通信安全的因素中,重放攻击(ReplayAttacks)是最为常见的攻击方式之一。重放攻击又称重播攻击、回放攻击或新鲜性攻击(Freshness Attacks),是指攻击者利用网络监听或者其他方式盗取认证凭据,之后再把经伪装的数据包重新发给服务器,来达到欺骗系统的目的。其多用于身份认证过程,破坏认证的正确性。这种攻击会不断恶意或欺诈性地重复一个有效的数据传输,重放攻击可以由发起者,也可以由拦截并重发该数据的敌方进行。从这个解释上理解,数据加密虽可以有效防止网络请求信息被劫持或篡改,但由于重放攻击是截取有效信息重新发送,因此即使数据加密也无法防止重放攻击。
[0004]目前的网络通信技术架构中,传输控制/互联协议(TCP/IP,Transmiss1nControl Protocol/Internet Protocol)是整个互联网通信的基础。TCP/IP协议采用了4层的层级结构:网络接口层、网络层、传输层和应用层,其每一层都呼叫它的下一层所提供的网络来完成自己的需求。其中,在应用层,基于超文本传送协议(HTTP,Hypertext TransferProtocol)的数据通信是当前诸多网络应用的主要通信方式,如大多数网站、论坛等。但由于HTTP协议是一个无连接、无状态的协议,S卩服务器每处理完终端请求并收到应答后即断开连接,且该协议对事务处理无记忆能力,因此终端每次给服务器发出的HTTP网络请求,前后之间是没有联系的。
[0005]HTTP协议的无状态性、无连接性在该协议设计之初就已经决定。因为HTTP协议的目的在于支持超文本的数据传输,那么在终端浏览器向HTTP服务器发送请求,继而HTTP服务器将相应的资源发回给终端这样一个过程中,无论对于终端还是服务器,都没有必要记录这个过程,因为每一次请求和响应都是相对独立的。一般而言,一个统一资源定位符(URL,Universal Resource Locator)对应着唯一的超文本,而HTTP服务器对任意终端发送的请求,它都会根据接收到的URL请求返回相同的超文本。正是因为这样的唯一性,使得记录用户的行为状态变得毫无意义,所以,HTTP协议被设计为无状态的连接协议。
[0006]基于上述原因,一旦终端与服务器在数据传输的过程中请求信息被拦截,由于服务器没有记录任何有关请求的状态等相关信息,因此也就无法识别该请求是否被拦截、重放,也就无法避免重放攻击的发生。
[0007]总之,需要本领域技术人员迫切解决的一个技术问题就是:如何防止现有网络通信技术中针对HTTP协议通信的重放攻击。

【发明内容】

[0008]本申请所要解决的技术问题是提供一种基于超文本传输协议的网络通信方法、月艮务器、终端,以便有效防止因HTTP网络请求被截取而造成的重放攻击,提高了 HTTP网络通信的安全性。
[0009]为了解决上述问题,本申请公开了一种基于超文本传输协议的网络通信方法,包括:应终端请求向终端发送第一时间戳;
[0010]接收终端发送的网络请求信息;所述网络请求信息中包含所述第一时间戳和对应的时间戳密文;所述时间戳密文由终端根据预置加密算法对包含所述第一时间戳的算法因子加密生成;
[0011]按所述预置加密算法验证所述时间戳密文是否有效,若无效,则所述网络请求信息为无效请求。
[0012]优选的,进一步包括:
[0013]验证所述网络请求信息中的第一时间戳与当前时间的间隔是否在有效期内,若超出,则所述网络请求信息无效。
[0014]优选的,所述预置加密算法为签名加密算法,
[0015]所述终端根据预置加密算法对包含所述第一时间戳的算法因子加密生成时间戳密文包括:
[0016]终端根据所述签名加密算法对包含所述第一时间戳的算法因子加密生成第一数字签名组成时间戳密文;
[0017]所述验证所述时间戳密文是否有效包括:
[0018]按所述签名加密算法对包含所述第一时间戳的算法因子加密生成第二数字签名;
[0019]验证所述第二数字签名与所述时间戳密文对应的第一数字签名是否一致,若不一致,则所述时间戳密文无效。
[0020]优选的,所述预置加密算法为对称加密算法,
[0021]所述终端根据预置加密算法对包含所述第一时间戳的算法因子加密生成时间戳密文包括:
[0022]终端根据所述对称加密算法使用对应的密钥对包含所述第一时间戳的算法因子加密生成间戳密文;
[0023]所述验证所述时间戳密文是否有效包括:
[0024]使用所述对称加密算法对应的密钥对所述时间戳密文进行解密获取其中的时间戳信息作为第二时间戳,判断所述第二时间戳与网络请求信息中的第一时间戳是否一致,若不一致,则所述时间戳密文无效。
[0025]优选的,所述预置加密算法为非对称加密算法,
[0026]所述终端根据预置加密算法对包含所述第一时间戳的算法因子加密生成时间戳密文包括:
[0027]终端根据所述非对称加密算法使用对应的公钥对包含所述第一时间戳的算法因子加密生成间戳密文;
[0028]所述验证所述时间戳密文是否有效包括:
[0029]服务器使用与所述非对称加密算法对应的私钥对所述时间戳密文进行解密获取其中的时间戳信息作为第二时间戳,判断所述第二时间戳与网络请求信息中的第一时间戳是否一致,若不一致,则所述时间戳密文无效。
[0030]优选的,所述终端发送的网络请求信息中还包括由终端生成的凭证标识;且
[0031]所述包含第一时间戳的算法因子还包括所述凭证标识;所述算法因子由所述第一时间戳和所述凭证标识按预设规则组成。
[0032]优选的,所述接收终端发送的网络请求信息之前还包括:
[0033]收到终端的凭证请求信息;
[0034]生成与所述凭证请求信息对应的凭证标识;
[0035]向所述终端发送所述凭证标识。
[0036]优选的,
[0037]所述接收的网路请求信息中还包括所述凭证标识;
[0038]所述包含第一时间戳的算法因子还包括所述凭证标识;所述算法因子由所述第一时间戳和所述凭证标识按预设规则组成。
[0039]优选的,所述凭证标识动态有效,所述方法还包括:
[0040]若所述终端发送的网络请求信息中包括凭证标识,则服务器验证该凭证标识是否有效,若无效,则所述网络请求为无效请求。
[0041]为解决上述问题,本申请还公开了一种基于超文本传输协议的网络通信方法,包括:
[0042]从服务器获取第一时间戳;
[0043]向服务器发送网络请求信息;所述网络请求信息中包含所述第一时间戳和对应的时间戳密文;所述时间戳密文是根据预置加密算法对包含所述第一时间戳的算法因子加密生成。
[0044]优选的,所述预置加密算法为签名加密算法,
[0045]所述根据预置加密算法对包含所述第一时间戳的算法因子加密生成时间戳密文包括:
[0046]根据所述签名加密算法对包含所述第一时间戳的算法因子加密生成第一数字签名组成时间戳密文。
[0047]优选的,所述预置加密算法为对称加密算法,
[0048]所述根据预置加密算法对包含所述第一时间戳的算法因子加密生成时间戳密文包括:
[0049]使用与所述对称加密算法对应的密钥对包含所述第一时间戳的算法因子加密生成间戳密文。
[0050]优选的,所述预置加密算法为非对称加密算法,
[0051]所述根据预置加密算法对包含所述第一时间戳的算法因子加密生成时间戳密文包括:
[0052]使用与所述非对称加密算法对应的公钥对包含所述第一时间戳的算法因子加密生成间戳密文。
[0053]优选的,所述网络请求信息中还包括凭证标识;且
[0054]所述包含第一时间戳的算法因子还包括所述凭证标识;所述算法因子由所述第一时间戳和所述凭证标识按预设规则组成。
[0055]优选的,所述向服务器发送网络请求信息之前还包括:
[0056]向服务器发送凭证请求信息;
[0057]接收服务器发送的凭证标识。
[0058]为解决上述问题,本申请还公开了一种基于超文本传输协议的服务器,包括:
[0059 ]接收模块、发送模块、时间戳生成模块和密文校验模块;
[0060]其中所述接收模块包括:
[0061 ]第一接收单元,用于接收时间戳请求信息;
[0062]第二接收单元,用于接收网络请求信息;所述网络请求信息中包含第一时间戳和对应的时间戳密文;所述时间戳密文是根据预置加密算法对包含所述第一时间戳的算法因子加密生成;
[0063]其中所述时间戳生成模块,用于应所述时间戳请求信息生成第一时间戳;
[0064]其中所述发送模块包括:
[0065]第一发送单元,用于发送时间戳生成模块所生成的第一时间戳;
[0066]其中所述密文校验模块,用于按所述预置加密算法验证所述时间戳密文是否有效,若无效,则所述网络请求信息为无效请求。
[0067]优选的,
[0068]所述服务器还包括:
[0069]时间戳验证模块,用于验证第二接收单元接收的网络请求信息中的第一时间戳与当前时间的间隔是否在有效期内,若超出,则所述网络请求信息无效。
[0070]优选的,所述预置加密算法为签名加密算法,
[0071 ]所述密文校验模块还包括:
[0072]签名生成单元,用于按所述签名加密算法对包含所述第一时间戳的算法因子加密生成第二签名;
[0073]第一校验单元,用于验证所述签名生成单元所生成的第二数字签名与第二接收单元所接收的时间戳密文对应的第一数字签名是否一致,若不一致,则所述时间戳密文无效。
[0074]优选的,所述预置加密算法为对称加密算法,
[0075]所述密文校验模块还包括:
[0076]第二校验单元,用于使用所述对称加密算法对应的密钥对第二接收单元所接收的时间戳密文进行解密获取其中的时间戳信息作为第二时间戳,判断所述第二时间戳与第二接收单元所接收的网络请求信息中的第一时间戳是否一致,若不一致,则所述时间戳密文无效。
[0077]优选的,所述预置加密算法为非对称加密算法,
[0078]所述密文校验模块还包括:
[0079]第三校验单元,用于使用与所述非对称加密算法对应的私钥对第二接收单元所接收的时间戳密文进行解密获取其中的时间戳信息作为第二时间戳,判断所述第二时间戳与网络请求信息中的第一时间戳是否一致,若不一致,则所述时间戳密文无效。
[0080]优选的,所述接收模块还包括:
[0081]第三接收单元,用于接收终端的凭证请求;
[0082]所述服务器还包括:
[0083]凭证标识生成单元,用于根据第三接收单元所接收的凭证请求生成凭证标识;
[0084]所述发送模块还包括:
[0085]第二发送单
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1