CN113179277A - 一种隐藏于标准http明文消息头的校验方法 - Google Patents
一种隐藏于标准http明文消息头的校验方法 Download PDFInfo
- Publication number
- CN113179277A CN113179277A CN202110492529.XA CN202110492529A CN113179277A CN 113179277 A CN113179277 A CN 113179277A CN 202110492529 A CN202110492529 A CN 202110492529A CN 113179277 A CN113179277 A CN 113179277A
- Authority
- CN
- China
- Prior art keywords
- data
- verification
- check
- check data
- random number
- 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.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0869—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3236—Cryptographic 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 cryptographic hash functions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3297—Cryptographic 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 involving time stamps, e.g. generation of time stamps
Abstract
本发明公开了一种隐藏于标准HTTP明文消息头的校验方法,应用于客户端与服务器端HTTP交互场景下API接口的校验,具体步骤包括:客户端发起HTTP交互场景下的API接口的校验请求;API接口请求方对请求地址、请求参数进行组装处理获得第一校验数据;并根据第一校验数据,根据已设定好的规则获得随机数、第二校验数据和第三校验数据;将第三校验数据写入标准HTTP头,作为最终校验数据,服务器端收到处理之后的HTTP头数据,从HTTP头数据中分离出第三校验数据、第二校验数据和随机数,并结合随机数做正向运算,获得新第三校验数据;判断两次获得的第三校验数据是否相同。本发明所采用的检验方法能够有效降低额外的数据体积、增强攻击者成本、提高数据传输安全性。
Description
技术领域
本发明涉及防篡改和防爬虫攻击的技术领域,具体涉及一种隐藏于标准HTTP明文消息头的校验方法。
背景技术
HTTP接口校验是一种非常重要的防篡改和防爬虫攻击的技术手段。传统的常用的校验方式包括增加请求校验字段、使用Content-MD5头等方式,这些技术手段存在一些个明显的缺点:1、额外的字段增加了请求的数据体积,带来了额外的带宽负担,对于高频接口调用会影响接口吞吐率;2、使用了明确的校验字段名,攻击者可轻松猜出接口使用了校验技术、轻松提取校验数据样本进而做针对性攻击方案。
发明内容
针对现有技术的不足,本发明的目的旨在提供一种隐藏于标准HTTP明文消息头的校验方法,能够有效降低额外的数据体积、增强攻击者成本、提高数据传输安全性,具有很好的推广实用价值。
为实现上述目的,本发明采用如下技术方案:
一种隐藏于标准HTTP明文消息头的校验方法,应用于客户端与服务器端HTTP交互场景下API接口的校验,其中,所述方法具体包括:
S1:客户端发起HTTP交互场景下的API接口的校验请求;
S2:API接口请求方对请求地址、请求参数进行组装处理获得第一校验数据;
S3:并根据第一校验数据,根据已设定好的规则获得随机数、第二校验数据和第三校验数据;
S4:将第三校验数据写入标准HTTP头,作为最终校验数据,传送给服务器端;
S5:服务器端收到处理之后的HTTP头数据,从HTTP头数据中分离出第三校验数据、第二校验数据和随机数;并根据请求地址和请求参数计算获得新第一校验数据、新第二校验数据和新第三校验数据;
S6:判断第三校验数据和新第三校验数据是否相同;
若相同,则检验通过,若不相同,检验不通过,则判断为非法进入,予以拦截。
进一步地,所述生成第一校验数据的方法,具体为:
API接口请求方对请求地址、请求参数使用常规的hash算法获得一个定长的10进制编码的hash数据,被称作第一校验数据。
进一步地,所述步骤S3的具体步骤为:
生成一个随机数,所述随机数满足以下条件:不小于0、不大于9且不大于当前毫秒时间数据位数且不大于第一校验数据的长度减1;
以随机数为下标,第一校验数据作为数组,取出第一校验数据中随机数位置及其下一位的数据,并转换为10进制数,作为第二校验数据;第二校验数据附加所述随机数,组成3位10进制数,作为第三校验数据。
进一步地,所述S5的具体步骤为:
在服务器端,将接收到的标准HTTP头数据转化为毫秒时间戳数据,选取毫秒时间戳低三位作为第三校验数据;
从选取的第三校验数据中按位分离出2位的第二校验数据和1位的随机数;
使用与客户端相同的校验算法对接收到的请求地址和请求参数进行计算获得新第一校验数据,并根据所述新第一校验数据和分离出的随机数,获得新第二校验数据和新第三校验数据。
本发明的有益效果在于:
针对传统API接口校验存在的额外增加校验数据体积和使用明文字段传输校验位安全性低的缺点,本发明采用的校验方式不需要额外的数据校验字段,不会带来额外的流量负担;校验数据隐藏于正常请求报文数据字段中,不会显示地暴露校验字段和校验方法,极大的增加了攻击者的攻击成本。
附图说明
附图1为本发明校验方法流程图;
附图2为第一校验数据样例;
附图3为第一校验数据、第二校验数据和随机数之间的关系图;
附图4为第二校验数据、第三校验数据和随机数之间的关系图;
附图5为标准HPPT中嵌入第三校验数据之后形成的最终校验数据。
具体实施方式
下面,结合附图以及具体实施方式,对本发明做进一步描述:
实施例一
如图1所示,一种隐藏于标准HTTP明文消息头的校验方法,应用于客户端与服务器端HTTP交互场景下API接口的校验,其中,所述方法具体包括:
客户端发起HTTP交互场景下的API接口的校验请求,接收到请求之后,API接口请求方对请求地址、请求参数使用常规的hash算法获得一定数据长度的10进制编码的hash数据,称为第一校验数据,使用10进制表示的第一校验数据,如图2所示,10进制0-9属于一个数据长度,第一校验数据为至少一个数据长度的数组
生成一个随机数,这个随机数满足以下条件:不小于0、不大于9、且不大于当前毫秒时间数据位数、且不大于第一校验数据的数据长度减1;
本实施例中所生成的随机数为2,以数值为2的随机数为下标,第一校验数据作为数组,取出第一校验数据中随机数位置及其下一位的数据,本实施例中所取出的数据分别为第2位和第3位的数据,并将这个数据再次转换为10进制数,作为第二校验数据;第二校验数据附加随机数,组成3位的10进制数组,作为第三校验数据。如图3和图4所示,分别表示了第一校验数据、第二校验数据和随机数之间的关系;第二校验数据、第三校验数据和随机数之间的关系,图3和图4中的方格中的数据均代表是下标;
选取HTTP数据中的日期数据作为标准HTTP头,将第三校验数据写入标准HTTP头,作为最终校验数据,如图5所示,为标准HPPT中嵌入第三校验数据之后形成的最终校验数据,将最终校验数据传送给服务器端;
服务器端收到处理之后的标准HTTP头数据,在服务器端,将接收到的标准HTTP头数据转化为毫秒时间戳数据,选取毫秒时间戳低三位作为第三校验数据;
从选取的第三校验数据按位分离出2位的第二校验数据和1位的随机数;
服务器端使用与客户端相同的校验算法对接收到的请求地址和请求参数进行计算获得新第一校验数据;
服务器端利用计算所得的第一校验数据和随机数,使用与客户端相同的获取方式得到新第二校验数据和新第三校验数据,将获取的新第三校验数据和API接口请求方获取的第三校验数据对比,如果值相同,即校验通过;如果不同,即为非法访问,予以拦截丢弃。
对本领域的技术人员来说,可根据以上描述的技术方案以及构思,做出其它各种相应的改变以及形变,而所有的这些改变以及形变都应该属于本发明权利要求的保护范围之内。
Claims (4)
1.一种隐藏于标准HTTP明文消息头的校验方法,应用于客户端与服务器端HTTP交互场景下API接口的校验,其特征在于,所述方法具体包括:
S1:客户端发起HTTP交互场景下的API接口的校验请求;
S2:API接口请求方对请求地址、请求参数进行组装处理获得第一校验数据;
S3:并根据第一校验数据,根据已设定好的规则获得随机数、第二校验数据和第三校验数据;
S4:将第三校验数据写入标准HTTP头,作为最终校验数据,传送给服务器端;
S5:服务器端收到处理之后的HTTP头数据,从HTTP头数据中分离出第三校验数据、第二校验数据和随机数;并根据请求地址和请求参数计算获得新第一校验数据、新第二校验数据和新第三校验数据;
S6:判断第三校验数据和新第三校验数据是否相同;
若相同,则检验通过,若不相同,检验不通过,则判断为非法进入,予以拦截。
2.如权利要求1所述的一种隐藏于标准HTTP明文消息头的校验方法,其特征在于,所述生成第一校验数据的方法,具体为:
API接口请求方对请求地址、请求参数使用常规的hash算法获得一个定长的10进制编码的hash数据。
3.如权利要求1所述的一种隐藏于标准HTTP明文消息头的校验方法,其特征在于,所述步骤S3的具体步骤为:
生成一个随机数,所述随机数满足以下条件:不小于0、不大于9且不大于当前毫秒时间数据位数且不大于第一校验数据的长度减1;
以随机数为下标,第一校验数据作为数组,取出第一校验数据中随机数位置及其下一位的数据,并转换为10进制数,作为第二校验数据;第二校验数据附加所述随机数,组成3位10进制数,作为第三校验数据。
4.如权利要求1所述的一种隐藏于标准HTTP明文消息头的校验方法,其特征在于,所述S5的具体步骤为:
在服务器端,将接收到的标准HTTP头数据转化为毫秒时间戳数据,选取毫秒时间戳低三位作为第三校验数据;
从选取的第三校验数据中按位分离出2位的第二校验数据和1位的随机数;
使用与客户端相同的校验算法对接收到的请求地址和请求参数进行计算获得新第一校验数据,并根据所述新第一校验数据和分离出的随机数,获得新第二校验数据和新第三校验数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110492529.XA CN113179277B (zh) | 2021-05-07 | 2021-05-07 | 一种隐藏于标准http明文消息头的校验方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110492529.XA CN113179277B (zh) | 2021-05-07 | 2021-05-07 | 一种隐藏于标准http明文消息头的校验方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113179277A true CN113179277A (zh) | 2021-07-27 |
CN113179277B CN113179277B (zh) | 2022-08-02 |
Family
ID=76928316
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110492529.XA Active CN113179277B (zh) | 2021-05-07 | 2021-05-07 | 一种隐藏于标准http明文消息头的校验方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113179277B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103701946A (zh) * | 2013-12-20 | 2014-04-02 | 珠海金山网络游戏科技有限公司 | 一种客户端通过url与服务器通讯的方法及系统 |
CN109309666A (zh) * | 2018-08-22 | 2019-02-05 | 中国平安财产保险股份有限公司 | 一种网络安全中的接口安全控制方法及终端设备 |
CN109495458A (zh) * | 2018-10-31 | 2019-03-19 | 深圳市元征科技股份有限公司 | 一种数据传输的方法、系统及相关组件 |
CN110493258A (zh) * | 2019-09-09 | 2019-11-22 | 平安普惠企业管理有限公司 | 基于token令牌的身份校验方法及相关设备 |
CN111756544A (zh) * | 2020-05-11 | 2020-10-09 | 北京明略软件系统有限公司 | 一种接口调用合法性校验方法和装置 |
CN111835514A (zh) * | 2020-07-23 | 2020-10-27 | 上海英方软件股份有限公司 | 一种前后端分离数据安全交互的实现方法及系统 |
-
2021
- 2021-05-07 CN CN202110492529.XA patent/CN113179277B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103701946A (zh) * | 2013-12-20 | 2014-04-02 | 珠海金山网络游戏科技有限公司 | 一种客户端通过url与服务器通讯的方法及系统 |
CN109309666A (zh) * | 2018-08-22 | 2019-02-05 | 中国平安财产保险股份有限公司 | 一种网络安全中的接口安全控制方法及终端设备 |
CN109495458A (zh) * | 2018-10-31 | 2019-03-19 | 深圳市元征科技股份有限公司 | 一种数据传输的方法、系统及相关组件 |
CN110493258A (zh) * | 2019-09-09 | 2019-11-22 | 平安普惠企业管理有限公司 | 基于token令牌的身份校验方法及相关设备 |
CN111756544A (zh) * | 2020-05-11 | 2020-10-09 | 北京明略软件系统有限公司 | 一种接口调用合法性校验方法和装置 |
CN111835514A (zh) * | 2020-07-23 | 2020-10-27 | 上海英方软件股份有限公司 | 一种前后端分离数据安全交互的实现方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN113179277B (zh) | 2022-08-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7489706B2 (en) | Method and apparatus for placing a timestamp in a frame | |
CN109714370B (zh) | 一种基于http协议端云安全通信的实现方法 | |
CN102609515A (zh) | 一种文件快速扫描方法和系统 | |
CN114189347B (zh) | 一种数据粒子化与网闸相结合的数据安全传输方法 | |
CN102594809A (zh) | 一种文件快速扫描方法和系统 | |
CN114040026A (zh) | 一种工业物联网信息安全加密传输方法 | |
CN111371887B (zh) | 物联网日志传输方法、客户端、服务端、设备及存储介质 | |
CN112039913A (zh) | 一种服务端api调用方法、装置及存储介质 | |
CN113065859A (zh) | 基于区块链的信息验证方法 | |
CN113179277B (zh) | 一种隐藏于标准http明文消息头的校验方法 | |
CN113329442B (zh) | 一种通用的多链路载荷压缩与解压缩方法和系统 | |
Bai et al. | Covert channels based on jitter field of the RTCP header | |
CN111431935B (zh) | 一种识别网站登录口令数据传输安全性的方法 | |
CN115361455B (zh) | 一种数据传输存储方法、装置以及计算机设备 | |
CN111327631A (zh) | 一种基于tcp和udp的秘密信息传输方法及其系统 | |
US11336456B2 (en) | Message authentication system, apparatus, and message verification method | |
CN108833518A (zh) | 一种基于nginx服务器生成会话ID的方法 | |
CN106549924A (zh) | 一种通信安全防护方法、装置和系统 | |
CN110392051B (zh) | 一种基于主动丢包的时间隐通道鲁棒构建方法 | |
CN104796311B (zh) | 一种发送信息的方法、客户端、服务器及发送信息的系统 | |
CN113645266A (zh) | 文件传输方法、文件校验方法及装置 | |
US20190052649A1 (en) | Detecting malware on spdy connections | |
CN114830572A (zh) | 一种数据传输方法、装置、设备、系统及存储介质 | |
CN106911539B (zh) | 分析用户端和服务端之间的网络参数的方法、装置和系统 | |
CN108243172B (zh) | 一种发送验证信息的方法及系统 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |