CN109698863A - 一种确定http报文安全性的方法、装置、设备及存储介质 - Google Patents

一种确定http报文安全性的方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN109698863A
CN109698863A CN201811563627.2A CN201811563627A CN109698863A CN 109698863 A CN109698863 A CN 109698863A CN 201811563627 A CN201811563627 A CN 201811563627A CN 109698863 A CN109698863 A CN 109698863A
Authority
CN
China
Prior art keywords
http message
server
dynamic
dynamic password
list
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
Application number
CN201811563627.2A
Other languages
English (en)
Inventor
李佳琦
孟宪
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou DPTech Technologies Co Ltd
Original Assignee
Hangzhou DPTech Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hangzhou DPTech Technologies Co Ltd filed Critical Hangzhou DPTech Technologies Co Ltd
Priority to CN201811563627.2A priority Critical patent/CN109698863A/zh
Publication of CN109698863A publication Critical patent/CN109698863A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • H04L63/0846Network architectures or network communication protocols for network security for authentication of entities using passwords using time-dependent-passwords, e.g. periodically changing passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3226Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a predetermined code, e.g. password, passphrase or PIN

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Power Engineering (AREA)
  • Storage Device Security (AREA)

Abstract

本申请提供一种确定HTTP报文安全性的方法、装置、设备及存储介质。所述方法由客户端执行,包括步骤:检测到表单提交,获取动态口令;将所述表单中的部分数据、所述动态口令以及密钥进行加密处理,其中,所述密钥在客户端开发阶段被确定并记录在客户端及服务器中;将所述动态口令以及加密处理后的结果写入所述表单指定字段,并根据所述表单构造HTTP报文,将所述HTTP报文发送给服务器,以使服务器验证从所述HTTP报文中提取的动态口令是否与服务器记录的动态口令相匹配,以及验证从所述HTTP报文中提取的加密后的结果是否与服务器根据同样加密处理方式得到的结果一致,以确定所述HTTP报文的安全性。旨在解决现有的相关技术中,存在的HTTP报文的安全风险问题。

Description

一种确定HTTP报文安全性的方法、装置、设备及存储介质
技术领域
本申请涉及通信技术领域,尤其涉及一种确定HTTP报文安全性的方法、装置、设备及存储介质。
背景技术
随着WEB应用越来越广泛,WEB请求的安全性问题一直是研究的热点。例如,通过超文本传输协议(HTTP)向WEB服务器发送请求,进行一些业务的处理,如转账、交易等,若攻击者通过第三方程序或脚本对经过网卡的HTTP报文拦截后,进行篡改攻击或复用攻击,从而造成安全风险,给用户的财产造成极大的威胁。
发明内容
有鉴于此,本申请实施例提供一种确定HTTP报文安全性的方法、装置、设备及存储介质。
在本申请的第一方面,提供一种确定HTTP报文安全性的方法,所述方法由客户端执行,所述方法包括步骤:
检测到表单提交,获取动态口令;
将所述表单中的部分数据、所述动态口令以及密钥进行加密处理,其中,所述密钥在客户端开发阶段被确定并记录在客户端及服务器中;
将所述动态口令以及加密处理后的结果写入所述表单指定字段,并根据所述表单构造HTTP报文,将所述HTTP报文发送给服务器,以使服务器验证从所述HTTP报文中提取的动态口令是否与服务器记录的动态口令相匹配,以及验证从所述HTTP报文中提取的加密后的结果是否与服务器根据同样加密处理方式得到的结果一致,以确定所述HTTP报文的安全性。
在一些例子中,所述动态口令包括:动态验证码;
所述获取动态验证码,包括:
向服务器发送获取动态验证码的请求,以使服务器针对所述请求动态生成一动态验证码,记录并将所述动态验证码发送给所述客户端;
所述服务器验证从所述HTTP报文中提取的动态验证码是否与服务器记录的相匹配,包括:
服务器验证从所述HTTP报文中提取的动态验证码与服务器记录的针对该客户端的动态验证码是否一致,并且验证从所述HTTP报文中提取的动态验证码是否在有效时间范围内。
在一些例子中,所述动态口令包括:当前***时间;
所述服务器验证从所述HTTP报文中提取的动态验证码是否与服务器记录的相匹配,包括:
服务器验证从所述HTTP报文中提取的当前***时间与服务器当前***时间的时间差是否在预设范围内。
在一些例子中,所述将所述表单中的部分数据、所述动态口令以及密钥进行加密处理,包括:
将所述表单的部分数据、所述动态口令以及密钥拼成字符串;
对所述字符串进行MD5加密处理。
在一些例子中,所述服务器验证从所述HTTP报文中提取动态口令是否与服务器记录的动态口令相匹配,以及验证从所述HTTP报文中提取的加密后的结果是否与服务器根据同样加密处理方式得到的结果一致,确定所述HTTP报文的安全性,包括:
服务器验证从所述HTTP报文中提取动态口令是否与服务器记录的动态口令相匹配;
若不匹配,则向所述HTTP报文发送端返回报文存在篡改或复用的提示信息;
若匹配,则将从所述HTTP报文中提取的表单的部分数据、动态口令以及自身记录的密钥进行同样的加密处理,并将加密处理后的结果与所述HTTP报文中加密处理后的结果进行比对,若匹配,则认为所述HTTP报文安全;
若不匹配,则向所述客户端返回报文存在篡改或复用的提示信息。
在本申请的第二方面,提供一种确定HTTP报文安全性的装置,所述装置包括:
动态口令获取模块,用于检测到表单提交,获取动态口令;
HTTP报文构造模块,用于将所述表单中的部分数据、所述动态口令以及密钥进行加密处理,其中,所述密钥在客户端开发阶段确定并记录在客户端及服务器;将所述动态口令以及加密处理后的结果写入表单指定字段,并根据所述表单构造HTTP报文,将所述HTTP报文发送给服务器,以使服务器验证从所述HTTP报文中提取动态口令是否与服务器记录的动态口令相匹配,以及验证从所述HTTP报文中提取的加密后的结果是否与服务器根据同样加密处理方式得到的结果一致,确定所述HTTP报文的安全性。
在一些例子中,所述动态口令包括:动态验证码;
所述获取动态验证码时,所述动态口令获取模块具体用于:向服务器发送获取动态验证码的请求,以使服务器针对所述请求动态生成一动态验证码,记录并将所述动态验证码发送给所述客户端;
所述使服务器验证从所述HTTP报文中提取的动态验证码是否与服务器记录的相匹配时,所述HTTP报文构造模块具体用于:使服务器验证从所述HTTP报文中提取的动态验证码与服务器记录的针对该客户端的动态验证码是否一致,并且验证从所述HTTP报文中提取的动态验证码是否在有效时间范围内。
在一些例子中,所述动态口令包括:当前***时间;
所述使服务器验证从所述HTTP报文中提取的动态验证码是否与服务器记录的相匹配,所述HTTP报文构造模块具体用于:使服务器验证从所述HTTP报文中提取的当前***时间与服务器当前***时间的时间差是否在预设范围内。
在本申请的第三方面,提供一种电子设备,包括:
处理器;以及
存储器,所述存储器被配置成存储计算机程序,所述计算机程序被配置成被所述处理器执行如上述第一方面所述的任意一项方法所述的操作。
在本申请的第四方面,提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行如上述第一方面所述的任意一项方法所述的操作。
本申请首先通过检测到表单提交,获取动态口令,由于动态口令具有时效性,所以每条构造的HTTP请求携带的数据中动态口令字段仅在合适的时间段内有效,可以防止复用攻击;进一步,本申请还在客户端开发阶段将协商的密钥记录在客户端及服务器中,并在构造HTTP报文时,在表单中增加以表单中的部分数据、上述动态口令以及该密钥进行加密处理后的结果,由于该密钥在客户端开发阶段就记录在在客户端及服务器中,攻击者无法通过报文拦截以及报文分析的方式破解得到密钥,即使攻击者破解了加密处理的规则,也无法生成正确的加密字段,可以有效防止篡改攻击,极大提升HTTP请求的安全性。
附图说明
图1为本申请一示例性实施例示出的一WEB请求的场景示意图;
图2为本申请一示例性实施例示出的一种确定HTTP报文安全性的方法的流程图;
图3为本申请一示例性实施例示出的一构造好的HTTP报文的示意图;
图4为本申请一示例性实施例示出的另一种确定HTTP报文安全性的方法的流程图;
图5为本申请一示例性实施例示出的另一种确定HTTP报文安全性的方法的流程图;
图6为本申请实施例示例性示出的一确定HTTP报文安全性的装置的示意图;
图7为本申请实施例示例性示出的一电子设备的示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
参照图1,为本申请实施例示意性示出的一WEB请求场景示意图,图1中,电子设备110上安装有一客户端,该客户端可以是一WEB程序,该WEB程序可以通过超文本传输协议(HTTP)向WEB服务器120发送请求报文(HTTP报文),服务器收到该HTTP报文后,在认为该HTTP报文安全时,做出HTTP响应,以进行一些业务的处理,如转账、交易等;但是若攻击者通过第三方程序或脚本对经过网卡的HTTP报文拦截后,进行篡改攻击或复用攻击后,将被篡改攻击或复用攻击的HTTP报文发送给服务器,由于服务器无法得知该HTTP报文被篡改攻击或被复用攻击,会认为该HTTP报文是安全的,而执行HTTP响应,造成安全风险,给用户的财产造成极大的威胁。
上述HTTP报文可以是一种HTTP请求报文:客户端(例如WEB程序)通过超文本传输协议(HTTP)向服务器(提供WEB服务)发起的请求,目的可以是获取、新增、修改和/或删除WEB服务器内的数据。
上述HTTP响应可以指:服务器(提供WEB服务)接收到客户端HTTP报文(浏览器)后,按照报文中的请求信息(例如请求行URI、请求正文中的参数字段等),执行相应动作,返回客户端指定的请求内容,所述内容可以包括二进制图像、文本流、HTML、CSV、XML或JSON等格式的数据。
为了解决上述技术问题,本申请实施例提供一种确定HTTP报文安全性的方法、装置、设备及存储介质。
参照图2,为本申请实施例示意性示出的一种确定HTTP报文安全性的方法的流程图,所述方法由客户端执行,所述客户端可以是一程序,例如浏览器程序,也可以是程序中某一脚本,例如浏览器程序中某页面脚本;所述客户端被安装在电子设备上,所述电子设备可以是具有的连网功能的设备,例如手机、电脑、智能电视、平板或车载终端等。图2所述方法包括步骤:
S210:检测到表单提交,获取动态口令(Dynamic Password)。
本申请实施例所述的表单用于收集用户的输入信息,所述表单可以是HTML表单。所述表单提交可以是当客户端检测到用户的输入信息(例如对页面的某一或若干个表单元素进行操作)后执行,所述表单元素包括不同类型的input元素、复选框、单选按钮或提交按钮等等,例如用户通过触发浏览器程序页面的某一按钮时,所述页面会进行表单提交。
所述动态口令可以是根据专门的算法生成一个不可预测的随机数字组合,在一些例子中每个动态口令只能使用一次。
S220:将所述表单中的部分数据、所述动态口令以及密钥进行加密处理,其中,所述密钥在客户端开发阶段被确定并记录在客户端及服务器中。
本步骤所述的密钥可以是一字符串,该密钥可以在客户端开发阶段被确定,并分别记录在客户端的有关代码中以及服务器中。在一些例子中,所述密钥客户端开发阶段由客户端研发人员与服务器人员一起协商而定。
一些例子中,在加密处理前,可以先将表单中的部分数据、所述动态口令及密钥按照指定的规则拼成字符串。一些例子中,所述部分数据可以包括表单中某些字段名称和/或该字段的值。在一些例子中,所述按照指定的规则拼成字符串时,可以是:字段a名称+字段a的值+密钥+字段b名称+字段b的值+……+字段z名称+字段z的值+密钥+动态口令。当然可以理解,上述仅仅示意性示出一种拼成字符串的指定规则,本申请不限制拼成字符串的指定规则。
步骤S220中,可以将所述拼好的字符串进行加密处理,所述加密处理可以是MD5加密处理。当然本申请不限制加密处理的方式。
S230:将所述动态口令以及加密处理后的结果写入所述表单指定字段,并根据所述表单构造HTTP报文。
参照图3,为本申请实施例一构造好的HTTP报文的示意图,其中,字段310为HTTP报文头,字段320为HTTP报文携带的表单数据,所述字段320中第一指定字段321的名称为“validate”,并被赋值获得的动态口令,字段322的名称为“digest”,并被赋值为加密处理后的结果。
S240:将所述HTTP报文发送给服务器,以使服务器执行S250:验证从所述HTTP报文中提取的动态口令是否与服务器记录的动态口令相匹配,以及验证从所述HTTP报文中提取的加密后的结果是否与服务器根据同样加密处理方式得到的结果一致,以确定所述HTTP报文的安全性。
在一些例子中,本步骤S250中,所述服务器验证从所述HTTP报文中提取动态口令是否与服务器记录的动态口令相匹配,以及验证从所述HTTP报文中提取的加密后的结果是否与服务器根据同样加密处理方式得到的结果一致,确定所述HTTP报文的安全性,具体可以是:
服务器接收到HTTP报文后,从所述HTTP报文中的指定字段提取动态口令,验证从所述HTTP报文中提取动态口令是否与服务器记录的动态口令相匹配;
若不匹配,则向所述HTTP报文发送端返回报文存在篡改或复用的提示信息;
若匹配,则从所述HTTP报文中提取的表单的部分数据,将提取的部分数据、自身记录的动态口令以及自身记录的密钥进行同样的加密处理,将加密处理后的结果与所述HTTP报文中加密处理后的结果进行比对,若匹配,则认为所述HTTP报文安全;
若不匹配,则向所述客户端返回报文存在篡改或复用的提示信息。
需要说明的是,若所述客户端为一WEB程序,在一些例子中,上述图2的步骤S210、S220以及S230中将所述动态口令以及加密处理后的结果写入所述表单指定字段,可以由WEB程序中触发表单提交的页面脚本执行;上述在一些例子中,上述步骤S210、S220以及S230中将所述动态口令以及加密处理后的结果写入所述表单指定字段,可以步骤S230中根据所述表单构造HTTP报文,以及步骤S240由WEB程序执行。
至此,本申请图2所述的实施例首先通过检测到表单提交,获取动态口令,由于动态口令具有时效性,所以每条构造的HTTP请求携带的数据中动态口令字段仅在合适的时间段内有效,可以防止复用攻击;进一步,本申请还在客户端开发阶段将协商的密钥记录在客户端及服务器中,并在构造HTTP报文时,在表单中增加以表单中的部分数据、上述动态口令以及该密钥进行加密处理后的结果,由于该密钥在客户端开发阶段就记录在在客户端及服务器中,攻击者无法通过报文拦截以及报文分析的方式破解得到密钥,即使攻击者破解了加密处理的规则,也无法生成正确的加密字段,可以有效防止篡改攻击,极大提升HTTP请求的安全性。
在一些例子中,所述动态口令可以包括:当前***时间。上述图2所述的步骤S250中,所述服务器验证从所述HTTP报文中提取的动态验证码是否与服务器记录的相匹配,具体可以包括:
服务器验证从所述HTTP报文中提取的当前***时间与服务器当前***时间的时间差是否在预设范围内。
一个具体的例子中,参照图4,为本申请实施例示意性示出的另一种确定HTTP报文安全性的方法的流程图,所述方法包括步骤:
用户进行表单提交后,客户端执行S410-S470,具体如下:
S410:获取当前***时间;
S420:在所述表单中增加一指定字段,并对该指定字段赋值为所述***时间;
S430:对表单数据进行检索,提取所述表单中的部分数据;
S440:将所述表单中的部分数据、所述***时间以及密钥进行加密处理,其中,所述密钥在客户端开发阶段被确定并记录在客户端及服务器中;
S450:在所述表单中增加另一指定字段,并对该指定字段赋值为加密处理后的结果;
S460:根据所述表单构造HTTP报文;
S470:将所述HTTP报文发送给服务器;
服务器接收到所述HTTP报文后,执行步骤S480-S4120,具体如下:
S480:从所述HTTP报文中提取***时间字段内容;
S490:将从HTTP报文中提取的***时间与自身的***时间进行比较,判断从所述HTTP报文中提取的当前***时间与服务器当前***时间的时间差是否在预设范围内;
S4100:若不在,则向所述HTTP报文发送端返回报文存在篡改或复用的提示信息;
S4110:若在,则从所述HTTP报文中提取的表单的部分数据,将提取的部分数据、自身记录的动态口令以及自身记录的密钥进行同样的加密处理,将加密处理后的结果与所述HTTP报文中加密处理后的结果进行比对;
S4120:若匹配,则执行HTTP响应;
S4130:若不匹配,则向所述客户端返回报文存在篡改或复用的提示信息。
至此,本申请实施例巧妙地利用***时间作为动态口令,可以减小客户端与服务器之间的交互数据量的前题下,达到更好地防止复用攻击的效果。
实际应用中,上述实施例利用***时间作为动态口令可以适用与大多场景,但是也可能存在客户端所在电子设备的***时间与服务器的***时间不一致,可能导致安全的HTTP报文也无法实现HTTP响应。为了解决上述问题,在一些例子中,所述动态口令可以包括:动态验证码。图2步骤S210中,具体获取动态验证码的步骤,可以包括:
向服务器发送获取动态验证码的请求,以使服务器针对所述请求动态生成一动态验证码,记录并将所述动态验证码发送给所述客户端;
图2步骤S250中,所述服务器验证从所述HTTP报文中提取的动态验证码是否与服务器记录的相匹配,具体可以包括:
服务器验证从所述HTTP报文中提取的动态验证码与服务器记录的针对该客户端的动态验证码是否一致,并且验证从所述HTTP报文中提取的动态验证码是否在有效时间范围内。
一个具体的例子中,参照图5,为本申请实施例示意性示出的另一种确定HTTP报文安全性的方法的流程图,所述方法包括步骤:
用户进行表单提交后,客户端执行S500:检测到表单提交后;执行S510:向服务器发送获取动态验证码的请求。
服务器接收到所述请求后,执行S520:针对所述请求动态生成一动态验证码,并记录所述动态验证码。服务器还执行S530:将所述动态验证码发送给所述客户端。
所述客户端接收到服务器返回的动态验证码后,执行S540:查找当前需提交的表单,将表单中增加一指定字段,对该字段赋值为上述从服务器获得的动态验证码。
所述客户端对所述表单进行检索,从表单中取出部分数据(S550),例如表单名称和/或值;将所述表单中的部分数据、所述动态验证码以及密钥进行加密处理(S560)。
所述客户端执行S570:对所述表单增加一指定字段,并对该字段赋值为所述加密后的结果。
所述客户端执行S580:根据表单构造HTTP报文;并执行S590:将所述HTTP报文发送给服务器。
服务器接收到所述HTTP报文后,执行S5100:从所述HTTP报文中取出动态验证码字段,与自身记录的动态验证码进行比较。
S5110:若不相同,服务器则向发送所述HTTP报文的客户端返回报文存在篡改或复用的提示信息。
S5120:若相同,则从所述HTTP报文中提取的表单的部分数据,将提取的部分数据、自身记录的动态验证码以及自身记录的密钥进行同样的加密处理,将加密处理后的结果与所述HTTP报文中加密处理后的结果进行比对。
S5130:若匹配,则执行HTTP响应;
S5140:若不匹配,则向所述客户端返回报文存在篡改或复用的提示信息。
至此,本申请实施例利用动态验证码作为动态口令,可以在很好地防止复用攻击的前题下,避免客户端所在电子设备的***时间与服务器的***时间不一致时产生的问题。
与前述确定HTTP报文安全性的方法的实施例相对应,本申请还提供了确定HTTP报文安全性的装置、电子设备及存储介质的实施例。
参见图6所示,确定HTTP报文安全性的装置600包括:
动态口令获取模块610,用于检测到表单提交,获取动态口令;
HTTP报文构造模块620,用于将所述表单中的部分数据、所述动态口令以及密钥进行加密处理,其中,所述密钥在客户端开发阶段确定并记录在客户端及服务器;将所述动态口令以及加密处理后的结果写入表单指定字段,并根据所述表单构造HTTP报文,将所述HTTP报文发送给服务器,以使服务器验证从所述HTTP报文中提取动态口令是否与服务器记录的动态口令相匹配,以及验证从所述HTTP报文中提取的加密后的结果是否与服务器根据同样加密处理方式得到的结果一致,确定所述HTTP报文的安全性。
在一些例子中,所述动态口令包括:动态验证码;
所述获取动态验证码时,所述动态口令获取模块610具体用于:向服务器发送获取动态验证码的请求,以使服务器针对所述请求动态生成一动态验证码,记录并将所述动态验证码发送给所述客户端;
所述使服务器验证从所述HTTP报文中提取的动态验证码是否与服务器记录的相匹配时,所述HTTP报文构造模块620具体用于:使服务器验证从所述HTTP报文中提取的动态验证码与服务器记录的针对该客户端的动态验证码是否一致,并且验证从所述HTTP报文中提取的动态验证码是否在有效时间范围内。
在一些例子中,所述动态口令包括:当前***时间;
所述使服务器验证从所述HTTP报文中提取的动态验证码是否与服务器记录的相匹配,所述HTTP报文构造模块620具体用于:使服务器验证从所述HTTP报文中提取的当前***时间与服务器当前***时间的时间差是否在预设范围内。
图6中确定HTTP报文安全性的装置的实施例可以应用在电子设备上。装置实施例可以通过程序实现,也可以通过硬件或者软硬件结合的方式实现。以程序实现为例,作为一个逻辑意义上的装置,是通过其所在电子设备的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图7所示,为本申请确定HTTP报文安全性的装置所在电子设备的一种硬件结构图,除了图7所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的电子设备通常根据该设备的实际功能,还可以包括其他硬件,对此不再赘述。处理器被用于执行:
检测到表单提交,获取动态口令;
将所述表单中的部分数据、所述动态口令以及密钥进行加密处理,其中,所述密钥在客户端开发阶段被确定并记录在客户端及服务器中;
将所述动态口令以及加密处理后的结果写入所述表单指定字段,并根据所述表单构造HTTP报文,将所述HTTP报文发送给服务器,以使服务器验证从所述HTTP报文中提取的动态口令是否与服务器记录的动态口令相匹配,以及验证从所述HTTP报文中提取的加密后的结果是否与服务器根据同样加密处理方式得到的结果一致,以确定所述HTTP报文的安全性。
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
在本申请实施例中,计算机可读存储介质可以是多种形式,比如,在不同的例子中,所述机器可读存储介质可以是:RAM(Radom Access Memory,随机存取存储器)、易失存储器、非易失性存储器、闪存、存储驱动器(如硬盘驱动器)、固态硬盘、任何类型的存储盘(如光盘、dvd等),或者类似的存储介质,或者它们的组合。特殊的,所述的计算机可读介质还可以是纸张或者其他合适的能够打印程序的介质。使用这些介质,这些程序可以被通过电学的方式获取到(例如,光学扫描)、可以被以合适的方式编译、解释和处理,然后可以被存储到计算机介质中。
对于设备实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的设备实施例仅仅是示意性的,可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。

Claims (10)

1.一种确定HTTP报文安全性的方法,其特征在于,所述方法由客户端执行,所述方法包括步骤:
检测到表单提交,获取动态口令;
将所述表单中的部分数据、所述动态口令以及密钥进行加密处理,其中,所述密钥在客户端开发阶段被确定并记录在客户端及服务器中;
将所述动态口令以及加密处理后的结果分别写入所述表单指定字段,并根据所述表单构造HTTP报文,将所述HTTP报文发送给服务器,以使服务器验证从所述HTTP报文中提取的动态口令是否与服务器记录的动态口令相匹配,以及验证从所述HTTP报文中提取的加密后的结果是否与服务器根据同样加密处理方式得到的结果一致,以确定所述HTTP报文的安全性。
2.根据权利要求1所述的方法,其特征在于,所述动态口令包括:动态验证码;
所述获取动态验证码,包括:
向服务器发送获取动态验证码的请求,以使服务器针对所述请求动态生成一动态验证码,记录并将所述动态验证码发送给所述客户端;
所述服务器验证从所述HTTP报文中提取的动态验证码是否与服务器记录的相匹配,包括:
服务器验证从所述HTTP报文中提取的动态验证码与服务器记录的针对该客户端的动态验证码是否一致,并且验证从所述HTTP报文中提取的动态验证码是否在有效时间范围内。
3.根据权利要求1所述的方法,其特征在于,所述动态口令包括:当前***时间;
所述服务器验证从所述HTTP报文中提取的动态验证码是否与服务器记录的相匹配,包括:
服务器验证从所述HTTP报文中提取的当前***时间与服务器当前***时间的时间差是否在预设范围内。
4.根据权利要求1所述的方法,其特征在于,所述将所述表单中的部分数据、所述动态口令以及密钥进行加密处理,包括:
将所述表单的部分数据、所述动态口令以及密钥拼成字符串;
对所述字符串进行MD5加密处理。
5.根据权利要求1所述的方法,其特征在于,所述服务器验证从所述HTTP报文中提取动态口令是否与服务器记录的动态口令相匹配,以及验证从所述HTTP报文中提取的加密后的结果是否与服务器根据同样加密处理方式得到的结果一致,确定所述HTTP报文的安全性,包括:
服务器验证从所述HTTP报文中提取动态口令是否与服务器记录的动态口令相匹配;
若不匹配,则向所述HTTP报文发送端返回报文存在篡改或复用的提示信息;
若匹配,则将从所述HTTP报文中提取的表单的部分数据、动态口令以及自身记录的密钥进行同样的加密处理,并将加密处理后的结果与所述HTTP报文中加密处理后的结果进行比对,若匹配,则认为所述HTTP报文安全;
若不匹配,则向所述客户端返回报文存在篡改或复用的提示信息。
6.一种确定HTTP报文安全性的装置,其特征在于,所述装置包括:
动态口令获取模块,用于检测到表单提交,获取动态口令;
HTTP报文构造模块,用于将所述表单中的部分数据、所述动态口令以及密钥进行加密处理,其中,所述密钥在客户端开发阶段确定并记录在客户端及服务器;将所述动态口令以及加密处理后的结果写入表单指定字段,并根据所述表单构造HTTP报文,将所述HTTP报文发送给服务器,以使服务器验证从所述HTTP报文中提取动态口令是否与服务器记录的动态口令相匹配,以及验证从所述HTTP报文中提取的加密后的结果是否与服务器根据同样加密处理方式得到的结果一致,确定所述HTTP报文的安全性。
7.根据权利要求6所述的装置,其特征在于,所述动态口令包括:动态验证码;
所述获取动态验证码时,所述动态口令获取模块具体用于:向服务器发送获取动态验证码的请求,以使服务器针对所述请求动态生成一动态验证码,记录并将所述动态验证码发送给所述客户端;
所述使服务器验证从所述HTTP报文中提取的动态验证码是否与服务器记录的相匹配时,所述HTTP报文构造模块具体用于:使服务器验证从所述HTTP报文中提取的动态验证码与服务器记录的针对该客户端的动态验证码是否一致,并且验证从所述HTTP报文中提取的动态验证码是否在有效时间范围内。
8.根据权利要求6所述的装置,其特征在于,所述动态口令包括:当前***时间;
所述使服务器验证从所述HTTP报文中提取的动态验证码是否与服务器记录的相匹配,所述HTTP报文构造模块具体用于:使服务器验证从所述HTTP报文中提取的当前***时间与服务器当前***时间的时间差是否在预设范围内。
9.一种电子设备,其特征在于,包括:
处理器;以及
存储器,所述存储器被配置成存储计算机程序,所述计算机程序被配置成被所述处理器执行如权利要求1至5任意一项方法所述的操作。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行如权利要求1至5任意一项方法所述的操作。
CN201811563627.2A 2018-12-20 2018-12-20 一种确定http报文安全性的方法、装置、设备及存储介质 Pending CN109698863A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811563627.2A CN109698863A (zh) 2018-12-20 2018-12-20 一种确定http报文安全性的方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811563627.2A CN109698863A (zh) 2018-12-20 2018-12-20 一种确定http报文安全性的方法、装置、设备及存储介质

Publications (1)

Publication Number Publication Date
CN109698863A true CN109698863A (zh) 2019-04-30

Family

ID=66231896

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811563627.2A Pending CN109698863A (zh) 2018-12-20 2018-12-20 一种确定http报文安全性的方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN109698863A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113206838A (zh) * 2021-04-13 2021-08-03 武汉理工大学 一种面向Web***的数据加密解密方法及***
CN114884730A (zh) * 2022-05-07 2022-08-09 深信服科技股份有限公司 一种请求检测方法、装置、设备及可读存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102223237A (zh) * 2011-07-15 2011-10-19 飞天诚信科技股份有限公司 一种数据签名认证方法及***
US20120143768A1 (en) * 2010-09-21 2012-06-07 Ayman Hammad Device Enrollment System and Method
CN105553983A (zh) * 2015-12-17 2016-05-04 北京海泰方圆科技股份有限公司 一种网页数据保护方法
CN108390878A (zh) * 2018-02-26 2018-08-10 腾讯科技(深圳)有限公司 用于验证网络请求安全性的方法、装置
CN108667601A (zh) * 2017-03-31 2018-10-16 华为技术有限公司 一种传输数据的方法、装置和设备

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120143768A1 (en) * 2010-09-21 2012-06-07 Ayman Hammad Device Enrollment System and Method
CN102223237A (zh) * 2011-07-15 2011-10-19 飞天诚信科技股份有限公司 一种数据签名认证方法及***
CN105553983A (zh) * 2015-12-17 2016-05-04 北京海泰方圆科技股份有限公司 一种网页数据保护方法
CN108667601A (zh) * 2017-03-31 2018-10-16 华为技术有限公司 一种传输数据的方法、装置和设备
CN108390878A (zh) * 2018-02-26 2018-08-10 腾讯科技(深圳)有限公司 用于验证网络请求安全性的方法、装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
王国才,施荣华主编: "《计算机通信网络安全》", 30 September 2016, 中国铁道出版社 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113206838A (zh) * 2021-04-13 2021-08-03 武汉理工大学 一种面向Web***的数据加密解密方法及***
CN113206838B (zh) * 2021-04-13 2022-07-05 武汉理工大学 一种面向Web***的数据加密解密方法及***
CN114884730A (zh) * 2022-05-07 2022-08-09 深信服科技股份有限公司 一种请求检测方法、装置、设备及可读存储介质
CN114884730B (zh) * 2022-05-07 2023-12-29 深信服科技股份有限公司 一种请求检测方法、装置、设备及可读存储介质

Similar Documents

Publication Publication Date Title
CN104378376B (zh) 基于soa的单点登录方法、认证服务器和浏览器
EP2860906B1 (en) Identity authentication method and device
CN101272237B (zh) 一种用于自动生成和填写登录信息的方法和***
CN104580264B (zh) 登录方法、登录装置以及登录和注册***
US9112828B2 (en) Method for defending against session hijacking attacks and firewall
CN105025041B (zh) 文件上传的方法、装置和***
EP2874074B1 (en) Method for implementing cross-domain jump, browser, and domain name server
US10362019B2 (en) Managing security credentials
US9767262B1 (en) Managing security credentials
CN108322461A (zh) 应用程序自动登录的方法、***、装置、设备和介质
CN103401957A (zh) 一种web环境下唯一标识客户端机器的方法
CN106878265A (zh) 一种数据处理方法及装置
US11444936B2 (en) Managing security credentials
CN108347361A (zh) 应用程序测试方法、装置、计算机设备和存储介质
WO2013074786A1 (en) Method and apparatus for trust based data scanning, capture, and transfer
CN108259619A (zh) 网络请求防护方法及网络通信***
CN105337940B (zh) 一种页面验证方法、客户端、服务器和***
CN105516066A (zh) 一种对中间人的存在进行辨识的方法及装置
CN109698863A (zh) 一种确定http报文安全性的方法、装置、设备及存储介质
CN107451459A (zh) 使用图片验证码进行验证的方法和装置
CN102065063A (zh) Web认证装置、***和方法
US20120204242A1 (en) Protecting web authentication using external module
CN110166471A (zh) 一种Portal认证方法及装置
CN109495458A (zh) 一种数据传输的方法、***及相关组件
Manjula et al. Pre-authorization and post-authorization techniques for detecting and preventing the session hijacking

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for 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: 20190430