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

文档序号:9914559阅读:来源:国知局
元,用于发送凭证标识生成单元所生成的凭证标识。
[0086]优选的,所述第二接收单元所接收的网络请求信息中还包括凭证标识;
[0087]所述包含第一时间戳的算法因子还包括所述凭证标识;所述算法因子由所述第一时间戳和所述凭证标识按预设规则组成。
[0088]优选的,所述凭证标识动态有效;
[0089]所述服务器还包括:
[0090]凭证校验模块,用于验证第二接收单元所接收的网络请求信息中是否包括凭证标识,若包括且该凭证标识无效,则所述网络请求信息无效。
[0091]为解决上述问题,本申请还公开了一种基于超文本传输协议的终端,包括:
[0092]发送模块、接收模块和密文模块;
[0093]其中所述发送模块包括:
[0094]第一发送单元,用于发送第一时间戳获取请求;
[0095]第二发送单元,用于发送网络请求信息;所述网络请求信息中包含所述接收模块接收的第一时间戳,和对应的由所述密文模块生成的时间戳密文;
[0096]其中所述接收模块包括:
[0097]第一接收单元,用于接收第一时间戳;
[0098]其中所述密文模块用于根据预置加密算法对包含有所述接收的第一时间戳的算法因子加密生成时间戳密文。
[0099]优选的,所述预置加密算法为签名加密算法;
[0100]所述密文模块还包括:
[0101]第一加密单元,用于对包含所述第一时间戳的算法因子加密生成第一数字签名组成时间戳密文。
[0102]优选的,所述预置加密算法为对称加密算法;
[0103]所述密文模块还包括:
[0104]第二加密单元,用于使用与所述对称加密算法对应的密钥对包含所述第一时间戳的算法因子加密生成间戳密文。
[0105]优选的,所述预置加密算法为非对称加密算法;
[0106]所述密文模块还包括:
[0107]第三加密单元,用于使用与所述非对称加密算法对应的公钥对包含所述第一时间戳的算法因子加密生成间戳密文。
[0108]优选的,还包括:
[0109]凭证标识生成模块,用于生成凭证标识;
[0110]所述包含第一时间戳的算法因子还包括所述凭证标识模块生成的凭证标识;
[0111]所述算法因子由所述第一时间戳和所述凭证标识按预设规则组成。
[0112]优选的,
[0113]所述发送单元还包括:
[0114]第三发送单元,用于发送凭证请求信息;
[0115]所述接收模块还包括:
[0116]第二接收单元,用于接收凭证标识;
[0117]所述第二发送单元所发送的网络请求信息中还包括第三接收单元所接收的凭证标识;
[0118]所述包含第一时间戳的算法因子还包括所述凭证标识;所述算法因子由所述第一时间戳和所述凭证标识按预设规则组成。
[0119]与现有技术相比,本申请具有以下优点:
[0120]考虑到现有基于HTTP协议的网络通信存在无连接、无状态的特性,请求信息被拦截重放后服务器无法识别这一问题,我们提出在终端向服务器发送的请求信息中加入时间戳,服务器通过验证网络请求信息中的时间戳与当前时间的时间间隔是否在其有效期内,若所述时间间隔超出有效期,则认为当前网络请求被拦截重放,是一个无效请求,因此可以有效避免针对HTTP通信重放攻击的发生。
[0121]进一步的,在本申请提供的方案中,终端从服务器获取时间戳,并对包含该时间戳的字符串按约定的签名算法规则生成数字签名,并将该数字签名放入向服务器发送的网络请求信息中。服务器按照相同的签名算法规则生成数字签名,并验证服务器生成的数字签名与网络请求信息中所带数字签名是否一致,若不一致,则认为当前网络请求信息中包含时间戳的字符串被篡改,认为该网络请求为无效请求。这样一来,避免了企图通过篡改网络请求信息中时间戳来伪装有效信息欺骗服务器的可能,因而更进一步避免了重放攻击的发生。
【附图说明】
[0122]图1是本申请实施例一所述一种基于HTTP协议的网络通信方法的流程图;
[0123]图2是申请实施例二所述一种基于HTTP协议的网络通信方法的流程图;
[0124]图3是本申请实施例三所述一种基于HTTP协议的网络通信方法的流程图;
[0125]图4是本申请实施例所述一种基于超文本传输协议HTTP服务器的结构示意图;
[0126]图5是本申请实施例所述一种基于超文本传输协议HTTP终端的结构示意图;
[0127]图6是本申请实施例所述一种基于超文本传输协议HTTP网络通信系统的结构示意图。
【具体实施方式】
[0128]为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和【具体实施方式】对本申请作进一步详细的说明。
[0129]参照图1,示出了本申请提供的一种基于HTTP协议的通信方法实施例一的流程示意图,本实施例的基于HTTP协议的通信方法包括以下步骤:
[0130]步骤101,终端向服务器发送时间戳请求。
[0131]步骤102,服务器生成第一时间戳。
[0132]服务器可按照国际标准规则获取当前时间生成第一时间戳。
[0133]步骤103,服务器将第一时间戳发送至终端。
[0134]步骤104,服务器接收终端发送的网络请求信息;所述网络请求信息中包含所述第一时间戳和对应的时间戳密文;所述时间戳密文由终端根据预置加密算法对包含所述第一时间戳的算法因子加密生成。
[0135]步骤105,服务器按所述预置加密算法验证所述时间戳密文是否有效,若无效,则所述网络请求信息为无效请求。
[0136]步骤106,服务器验证所述网络请求信息中的第一时间戳与当前时间的间隔是否在有效期内,若超出,则所述网络请求信息无效。该步骤为可选步骤。
[0137]对包含第一时间戳的算法因子加密生成时间戳密文,服务器按照与终端约定的加密算法验证该密文是有效,若无效,则可认为时间戳密文在传输过程中可能被拦截或篡改,因而可进一步认定所述第一时间戳和对应的网络请求无效。
[0138]为便于描述,本文将服务器应终端请求生成的时间戳,以及在网络请求信息中直接包含的时间戳称为第一时间戳,将生成时间戳密文的算法因子中的时间戳称为第二时间戳。
[0139]由于时间戳由服务器统一生成,可保证该时间戳具有严格的准确性。服务器可根据不同终端所处的网络应用环境设置该终端对应的时间戳的有效期。时间戳有效期通常是一个时间长度,如0.5秒,意思是终端从服务器获取时间戳,以及将含有该时间戳的网络请求发送至服务器这一过程所耗时间应在0.5秒内,若超出,则认为该网络请求在传输过程发生了延迟,可能被拦截或发生了重放攻击,为无效的网络请求。
[0140]本领域技术人员容易理解,可根据终端所处的地域、应用复杂度设置该类终端对应的时间戳有效期。
[0141]步骤107,服务器向终端返回网络请求的应答信息。
[0142]若经验证网络请求信息有效,则服务器向终端返回的应答信息就应包括该网络请求对应的有效信息,如网页资源等,否则,所述应答信息中就含有网络请求失败的通知信息。
[0143]参照图2,示出了本申请提供的一种基于HTTP协议的通信方法实施例二的流程示意图,本实施例的基于HTTP协议的通信方法包括以下步骤:
[0144]步骤201,终端生成凭证标识。
[0145]终端可根据实际应用选择凭证标识的组成方式,如可获取终端的IP地址和端口号、网卡标识和当前时间组成凭证标识等,只要保证不同终端的网络请求或同一终端的多轮网络请求所使用的凭证标识具有唯一性即可。
[0146]步骤202,终端向服务器发送时间戳请求;所述时间戳请求信息中包含所述终端的凭证标识。
[0147]由于现有基于HTTP协议的网络通信是无连接、无状态的通信,终端向服务器发送的多个请求之间没有联系。因此,我们在终端向服务器发送的多个网络请求中加入统一的凭证标识,即可将前后多个内容上关联的网络请求通过该凭证标识建立起联系,方便终端和服务器管理多个内容关联的网络请求。
[0148]步骤203,服务器生成第一时间戳;存储配置信息,所述配置信息存储有当前网络请求信息对应的凭证标识、第一时间戳和对应的第一时间戳有效期。
[0149]服务器每收到终端的时间戳获取请求,就存储当前凭证标识新的第二时间戳和有效期,同时也可以清空该凭证标识之前的第二时间戳有效期记录。
[0150]步骤204,服务器将第一时间戳发送至终端。
[0151]步骤205,服务器接收终端发送的网络请求信息;所述网络请求信息中包含所述第一时间戳和对应的时间戳密文;所述时间戳密文由终端根据预置加密算法对包含所述第一时间戳和凭证标识的算法因子加密生成。
[0152]步骤206,服务器验证时间戳密文是否有效,若无效,则所述网络请求信息无效。
[0153]步骤207,服务器验证网络请求中的第一时间戳是否有效,若无效,则所述网络请求信息无效。
[0154]服务器通过当前网络请求中的凭证标识、第一时间戳从存储的配置信息中获取该第一时间戳对应的有效周期,然后判断当前网络请求中的时间戳与服务器当前时间的时间间隔是否在其对应的有效期内,若超出有效期,则认为当前网络请求的时间戳失效,该网络请求为非法请求。
[0155]优选的,所述凭证标识动态有效。服务器可根据一定条件判断该凭证标识是否有效,例如该凭证标识对应的终端是否已经离线、断线或长时间无应答、超出有效周期等,若满足无效条件,服务器可将该凭证标识置为无效状态,以及中断当前网络请求的后续处理并向终端返回请求失败的应答信息,这样一来即使该凭证标识被他人窃取或利用也无法合法通信,有效提高了通信过程的安全性。
[0156]步骤208,服务器向终端返回应答信息。
[0157]在实施例一中,服务器只能对某一类终端使用固定的有效期判断其网络请求时间戳是否有效,而在上述实施例二中,服务器通过配置信息存储终端凭证标识对应的时间戳和该时间戳的有效周期,由于凭证标识对不同终端或使用终端的不同用户具有唯一性,因此,对时间戳有效期的配置和判断可以具体到对各个终端和使用该终端的不同用户,提高了服务器验证时间戳有效性的精细度。
[0158]参照图3,示出了本申请提供的一种基于HTTP协议的通信方法实施例三的流程示意图,本实施例的基于HTTP协议的通信方法包括以下步骤:
[0159]步骤301,终端向服务器发送凭证请求。
[0160]步骤302,服务器响应凭证请求,按规则生成凭证标识;将凭证标识发送至终端。
[0161]凭证标识虽然可以由终端自行产生,但当终端数量、并发请求过多时,所生成的凭证标识无法保证绝对唯一。由服务器根据各个终端的凭证请求按预设规则统一生成凭证标识则有效地避免了上述问题,例如可按终端请求信息中包含的IP地址、端口号和时间生成该终端当前唯一的序列号作为凭证标识。
[0162]步骤303,终端向服务器发送时间戳请求。
[0163]步骤304,服务器生成第一时间戳。
[0164]步骤305,服务器将第一时间戳发送至终端。
[0165]步骤306,终端按预置加密算法对包含第一时间戳的算法因子加密生成时间戳密文。
[0166]步骤307,服务
当前第2页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1