CN115473731A - 一种混淆http网络协议接口地址的方法 - Google Patents

一种混淆http网络协议接口地址的方法 Download PDF

Info

Publication number
CN115473731A
CN115473731A CN202211103133.2A CN202211103133A CN115473731A CN 115473731 A CN115473731 A CN 115473731A CN 202211103133 A CN202211103133 A CN 202211103133A CN 115473731 A CN115473731 A CN 115473731A
Authority
CN
China
Prior art keywords
public parameter
key
service
request information
sdk
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
Application number
CN202211103133.2A
Other languages
English (en)
Other versions
CN115473731B (zh
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.)
Beijing Ronghe Youxin Technology Co ltd
Original Assignee
Beijing Ronghe Youxin Technology 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 Beijing Ronghe Youxin Technology Co ltd filed Critical Beijing Ronghe Youxin Technology Co ltd
Priority to CN202211103133.2A priority Critical patent/CN115473731B/zh
Publication of CN115473731A publication Critical patent/CN115473731A/zh
Application granted granted Critical
Publication of CN115473731B publication Critical patent/CN115473731B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • H04L63/0435Network 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 wherein the sending and receiving network entities apply symmetric encryption, i.e. same key used for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/20Network architectures or network communication protocols for network security for managing network security; network security policies in general
    • 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
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms

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)
  • Computer And Data Communications (AREA)

Abstract

本申请公开了一种混淆HTTP网络协议接口地址的方法。所述混淆HTTP网络协议接口地址的方法包括:客户端生成第一请求信息并发送给前置服务,所述第一个请求信息携带有加密的第一公共参数及第二公共参数;前置服务判断是否调用动态钥匙,若是,则对动态钥匙进行处理形成待使用钥匙并传递给客户端;客户端对获取的加密后的待使用钥匙进行解密;客户端对第一公共参数进行加密处理并以第一加密方式对所述第二公共参数进行加密,并向前置服务发送第二请求信息,其中,第二请求信息包括第一公共参数及第二公共参数;前置服务判断是否进行业务转发,若是,则对业务进行转发。本申请能有效防止攻击者利用浏览器的开发者工具抓取不同网络协议接口地址。

Description

一种混淆HTTP网络协议接口地址的方法
技术领域
本申请涉及计算机安全技术领域,具体涉及一种混淆HTTP网络协议接口地址的方法。
背景技术
随着互联网的快速发展,各行各业对数字化的转型都加快了脚步,数字化转型使企业办公,变得简便、高效。虽然企业的内部管理系统都部署在内网并且不对外开放,但是信息安全显的非常重要。
HTTP超文本传输协议是以明文的形式来传输的,一些敏感信息很容易被浏览器的开发者工具和市面上的接口测试工具监听和抓取,网络协议接口地址的暴漏加上数据的明文,攻击者利用多次抓取接口的方式,很容易利用浏览器发起伪装请求盗取企业敏感数据,或者利用网络协议接口地址对数据库进行伪装删除操作。
企业或者单位的内部管理系统随着时代的脚步,除了在电脑端上使用,也逐渐的迁移到手机上使用,这样内部管理系统就被迫对外开放,此时的信息安全就是重中之重,内部管理系统对外开发现有的安全技术也提供了很多方式:防火墙、系统链路监控预警系统、等一些防护措施对外网攻击者起到了一定的防护作用,但是内网攻击者拥有内部管理系统的低权限账号,内网攻击者就很容易利用网络协议接口地址进行越权操作攻击,数据盗取,篡改数据库信息。
因此,希望有一种技术方案来克服或至少减轻现有技术的至少一个上述缺陷。
发明内容
本发明的目的在于提供一种混淆HTTP网络协议接口地址的方法来克服或至少减轻现有技术的至少一个上述缺陷。
本发明的一个方面,提供一种混淆HTTP网络协议接口地址的方法,所述混淆HTTP网络协议接口地址的方法包括:
客户端通过java SDK或javascript SDK生成第一请求信息并发送给前置服务,所述第一个请求信息携带有通过第一加密方式加密后的第一公共参数以及第二公共参数;
前置服务判断是否根据所述第一请求信息调用动态钥匙库中的动态钥匙,若是,则
前置服务对动态钥匙进行处理以及加密后形成待使用钥匙并传递给客户端的java SDK或javascript SDK;
客户端的java SDK或javascript SDK对获取的加密后的所述待使用钥匙进行解密;
客户端根据解密后的待使用钥匙以第二加密方式对第一公共参数进行加密处理并以第一加密方式对所述第二公共参数进行加密,并向前置服务发送第二请求信息,其中,所述第二请求信息包括经过加密后的第一公共参数以及经过加密后第二公共参数;
前置服务根据所述第二请求信息判断是否进行业务转发,若是,则根据第二公共参数对业务进行转发。
可选地,在所述客户端通过java SDK或javascript SDK生成第一请求信息并发送给前置服务之前,所述混淆HTTP网络协议接口地址的方法进一步包括:
将java SDK或javascript SDK集成在所述客户端上。
可选地,在所述客户端通过java SDK或javascript SDK生成第一请求信息并发送给前置服务之前,在所述将java SDK或javascript SDK集成在所述客户端上之后,所述混淆HTTP网络协议接口地址的方法进一步包括:
客户端将必传参数传递给java SDK或javascript SDK中的第二公共参数;
客户端检查集成在所述客户端上的java SDK或javascript SDK的配置文件是否完整,若是,则
客户端通过java SDK或javascript SDK生成第一请求信息并发送给前置服务。
可选地,所述客户端通过java SDK或javascript SDK生成第一请求信息并发送给前置服务,所述第一个请求信息携带有通过第一加密方式加密后的第一公共参数以及第二公共参数包括:
将第一公共参数设置为第一数值;
采用AES加密方式对设置为第一数值的第一公共参数以及第二公共参数进行加密;
生成携带有加密后的第一公共参数以及第二公共参数的第一请求信息并发送给前置服务。
可选地,所述第一公共参数包括第一公共参数名称以及第一公共参数值,所述第一公共参数值包括第一值以及第二值;
所述前置服务判断是否根据所述第一请求信息调用动态钥匙库中的动态钥匙包括:
前置服务对获取的所述第一请求信息中的第一公共参数进行解密;
前置服务判断解密后的第一公共参数的值是否为第一值,若是,则
获取第一请求信息中的第二公共参数并进行解密;
判断解密后的第二公共参数是否符合第一预设条件,若是,则
判断根据所述第一请求信息调用动态钥匙库中的动态钥匙。
可选地,所述前置服务对动态钥匙进行加密后传递给客户端的java SDK或javascript SDK包括:
前置服务调用动态钥匙库的获取钥匙函数,将解密后的第二公共参数的信息当作钥匙参数传入钥匙函数并对待使用钥匙采用AES进行加密从而获得待使用钥匙;
将待使用钥匙传递给客户端的java SDK或javascript SDK。
可选地,所述客户端根据解密后的待使用钥匙以第二加密方式对第一公共参数进行加密处理并以第一加密方式对所述第二公共参数进行加密,并向前置服务发送第二请求信息,其中,所述第二请求信息包括经过加密后的第一公共参数以及经过加密后第二公共参数包括:
根据第一公共参数的第二值对解密后的待使用钥匙进行处理,从而获得经过处理的待使用钥匙;
将经过处理的待使用钥匙用AES加密后赋值给第一公共参数;
将第二公共参数通过AES加密进行加密;
生成携带有经过加密后的第一公共参数以及经过加密后第二公共参数的第二请求信息并发送给前置服务的baseServer接口。
可选地,所述前置服务根据所述第二请求信息判断是否进行业务转发包括:
前置服务对第二请求信息中的所述加密后的第一公共参数进行解密;
前置服务判断解密后的第一公共参数是否包括第一公共参数的第二值,若是,则
前置服务获取所述第二请求信息中的第二公共参数并进行解密;
判断解密后的第二公共参数是否符合第二预设条件,若是,则
前置服务获取第二请求信息中的待使用钥匙并将待使用钥匙还原成钥匙函数;
前置服务验证获取的钥匙函数否满足第三预设条件,若是,则
前置服务根据所述第二请求信息判断进行业务转发。
可选地,所述根据第二公共参数对业务进行转发包括:
根据第二公共参数获取服务地址;
根据服务地址进行业务转发,并将转发完成将结果返回给客户端。
有益效果:
本申请的混淆HTTP网络协议接口地址的方法能够有效的防止攻击者利用浏览器的开发者工具和市面上的接口测试工具抓取不同网络协议接口地址,攻击者获取的网络协议接口地址只有一个就无法利用网络协议接口地址对比的方式进行接口重组攻击,越权操作盗取、篡改数据库信息。动态钥匙验证防止攻击者获取正确的钥匙,有效的阻断了攻击者的伪装攻击和接口重放攻击。
附图说明
图1为本申请一实施例的混淆HTTP网络协议接口地址的方法的流程示意图;
图2为本申请一实施例的动态钥匙库的系统示意图。
具体实施方式
为使本申请实施的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行更加详细的描述。在附图中,自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。所描述的实施例是本申请一部分实施例,而不是全部的实施例。下面通过参考附图描述的实施例是示例性的,旨在用于解释本申请,而不能理解为对本申请的限制。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。下面结合附图对本申请的实施例进行详细说明。
需要说明的是,在本发明的描述中,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性。
图1为本申请一实施例的混淆HTTP网络协议接口地址的方法的流程示意图。
如图1所示的混淆HTTP网络协议接口地址的方法包括:
步骤1:客户端通过java SDK或javascript SDK生成第一请求信息并发送给前置服务,所述第一个请求信息携带有通过第一加密方式加密后的第一公共参数以及第二公共参数;
步骤2:前置服务判断是否根据所述第一请求信息调用动态钥匙库中的动态钥匙,若是,则
步骤3:前置服务对动态钥匙进行处理以及加密后形成待使用钥匙并传递给客户端的java SDK或javascript SDK;
步骤4:客户端的java SDK或javascript SDK对获取的加密后的所述待使用钥匙进行解密;
步骤5:客户端根据解密后的待使用钥匙以第二加密方式对第一公共参数进行加密处理并以第一加密方式对所述第二公共参数进行加密,并向前置服务发送第二请求信息,其中,所述第二请求信息包括经过加密后的第一公共参数以及经过加密后第二公共参数;
步骤6:前置服务根据所述第二请求信息判断是否进行业务转发,若是,则
步骤7:根据第二公共参数对业务进行转发。
本申请的混淆HTTP网络协议接口地址的方法能够有效的防止攻击者利用浏览器的开发者工具和市面上的接口测试工具抓取不同网络协议接口地址,攻击者获取的网络协议接口地址只有一个就无法利用网络协议接口地址对比的方式进行接口重组攻击,越权操作盗取、篡改数据库信息。动态钥匙验证防止攻击者获取正确的钥匙,有效的阻断了攻击者的伪装攻击和接口重放攻击。
在本实施例中,前置服务是一个独立的springboot的服务,服务提供了一个baseServer接口,一个服务配置页面,服务内置了AES加密、解密,服务内置了动态钥匙库。
服务配置页面分上下两个区域,上面是服务节点区域,下面是服务列表区域,列表只有三列,第一列:请求分类(不能重复),第二列:服务地址(服务地址是业务模块的网络接口地址),第三列:请求方式(只能get/post其中一种)。
服务配置页面是给开发者使用的页面,服务列表区域,有新增功能、编辑功能、删除功能,新增功能用于新增服务配置,编辑功能用于编辑服务配置,删除功能用于删除服务配置,服务节点区域,有新增功能、编辑功能、删除功能,服务配置页面的数据持久存储是在本服务的src/main/resources/serverConfig.xml文件中。
节点区域主要用于节点数据同步功能。
前置服务多节点部署时需要先添加所有服务节点,保证服务配置页面的服务列表区域的新增功能、编辑功能、删除功能、以及动态钥匙库生成钥匙和钥匙失效的同步工作,服务配置页面的数据持久存储是在本服务的src/main/resources/serverConfig.xml文件中。
如果后续新增新前置服务节点,新增前置服务,数据同步会延迟3分钟。
参见图2,在本实施例中,动态钥匙库是一个动态生成钥匙的组件,每次生成的钥匙只能使用一次,钥匙从生成开始计时,超过30秒未使用会被钥匙库的自检线程主动清除,动态钥匙库组件提供两个函数,第一个是获取钥匙函数,函数必须传入一个字符串类型的参数,函数返回一个字符串类型的钥匙,钥匙在动态钥匙库中是唯一的并且和传入的字符串参数是绑定的,返回钥匙字符串后,第二个是验证钥匙是否正确函数,函数必须传入两个参数,第一个是字符串类型的参数,第二个参数是与第一个参数绑定过的钥匙,函数返回一个boolean类型的值,true表示钥匙有效,false表示钥匙无效,钥匙验证有效返回之后,钥匙立即失效。
动态钥匙库有两个自检线程,除了清除超过30秒未使用的钥匙外还会检查另一个自检线程的状态,如果发现另一个自检线程死亡,会把死亡线程重新拉起,两个线程互相守护保证双活。
在本实施例中,baseServer接口是前置服务对外暴漏的唯一入口,主要作用验证是否生成动态钥匙,验证动态要的正确性,是否分发服务。
BaseServer接口有两个公共参数,第一个参数类型字符串,参数名为ogua,参数值:ogua_1表示取钥匙,ogua_2表示有钥匙需要验证钥匙正确性,其他值则直接阻拦,第二个类型字符串,参数名为serverType,参数值必须是服务配置列表的其中一个,其他值则直接阻拦。
前置服务的数据持久存储方式为本地文件存储。
在本实施例中,java SDK包和javascript SDK包内部原理一致,分别支持java客户端与web前端两种交互方式。
java SDK包只提供了一个请求函数,请求函数有两个参数,第一个参数是一个字符串类型的请求分类,第二个参数是一个MAP<String,Object>类型请求参数,第一个参数是不能为空值,第二个参数可以为空值或者null值,函数返回一个字符串结果。
java SDK包集成需要在java客户端的资源目录添加一个名为prepose.xml的配置文件,prepose.xml的内容<preppose>http:前置服务IP地址:前置服务的端口/前置服务的上下文</preppose>,资源目录是java项目的标准目录,具体指src/main/resources目录。
javascript SDK包只提供了一个请求函数,请求函数有两个参数,第一个参数是一个字符串类型的请求分类,第二个参数是一个object类型请求参数,第一个参数是不能为空值,第二个参数可以为空值,可以不填写,只有填写object类型参数才生效,函数返回一个字符串结果。
javascript SDK包集成需要在web客户端放入javascript SDK包的同级目录添加一个prepose.js的配置文件,prepose.js的内容:window.prepose=http:前置服务IP地址:前置服务的端口/前置服务的上下文,javascript SDK包可以放在web客户端的任何目录,只需要注意把javascript SDK包和prepose.js放在同一级目录即可。
在本实施例中,在所述客户端通过java SDK或javascript SDK生成第一请求信息并发送给前置服务之前,所述混淆HTTP网络协议接口地址的方法进一步包括:
将java SDK或javascript SDK集成在所述客户端上。
在本实施例中,在所述客户端通过java SDK或javascript SDK生成第一请求信息并发送给前置服务之前,在所述将java SDK或javascript SDK集成在所述客户端上之后,所述混淆HTTP网络协议接口地址的方法进一步包括:
客户端将必传参数传递给java SDK或javascript SDK中的第二公共参数;
客户端检查集成在所述客户端上的java SDK或javascript SDK的配置文件是否完整,若是,则
客户端通过java SDK或javascript SDK生成第一请求信息并发送给前置服务。
在本实施例中,所述客户端通过java SDK或javascript SDK生成第一请求信息并发送给前置服务,所述第一个请求信息携带有通过第一加密方式加密后的第一公共参数以及第二公共参数包括:
将第一公共参数设置为第一数值;
采用AES加密方式对设置为第一数值的第一公共参数以及第二公共参数进行加密;
生成携带有加密后的第一公共参数以及第二公共参数的第一请求信息并发送给前置服务。
在本实施例中,所述第一公共参数包括第一公共参数名称以及第一公共参数值,所述第一公共参数值包括第一值以及第二值;
所述前置服务判断是否根据所述第一请求信息调用动态钥匙库中的动态钥匙包括:
前置服务对获取的所述第一请求信息中的第一公共参数进行解密;
前置服务判断解密后的第一公共参数的值是否为第一值,若是,则获取第一请求信息中的第二公共参数并进行解密;
判断解密后的第二公共参数是否符合第一预设条件,若是,则
判断根据所述第一请求信息调用动态钥匙库中的动态钥匙。
在本实施例中,所述前置服务对动态钥匙进行加密后传递给客户端的java SDK或javascript SDK包括:
前置服务调用动态钥匙库的获取钥匙函数,将解密后的第二公共参数的信息当作钥匙参数传入钥匙函数并对待使用钥匙采用AES进行加密从而获得待使用钥匙;
将待使用钥匙传递给客户端的java SDK或javascript SDK。
在本实施例中,所述客户端根据解密后的待使用钥匙以第二加密方式对第一公共参数进行加密处理并以第一加密方式对所述第二公共参数进行加密,并向前置服务发送第二请求信息,其中,所述第二请求信息包括经过加密后的第一公共参数以及经过加密后第二公共参数包括:
根据第一公共参数的第二值对解密后的待使用钥匙进行处理,从而获得经过处理的待使用钥匙;
将经过处理的待使用钥匙用AES加密后赋值给第一公共参数;
将第二公共参数通过AES加密进行加密;
生成携带有经过加密后的第一公共参数以及经过加密后第二公共参数的第二请求信息并发送给前置服务的baseServer接口。
在本实施例中,所述前置服务根据所述第二请求信息判断是否进行业务转发包括:
前置服务对第二请求信息中的所述加密后的第一公共参数进行解密;
前置服务判断解密后的第一公共参数是否包括第一公共参数的第二值,若是,则
前置服务获取所述第二请求信息中的第二公共参数并进行解密;
判断解密后的第二公共参数是否符合第二预设条件,若是,则
前置服务获取第二请求信息中的待使用钥匙并将待使用钥匙还原成钥匙函数;
前置服务验证获取的钥匙函数否满足第三预设条件,若是,则
前置服务根据所述第二请求信息判断进行业务转发。
在本实施例中,所述根据第二公共参数对业务进行转发包括:
根据第二公共参数获取服务地址;
根据服务地址进行业务转发,并将转发完成将结果返回给客户端。
下面以举例的方式对本申请进行进一步详细阐述,可以理解的是,该举例并不构成对本申请的任何限制。
客户端向javasdk或者javascript SDK中的第二公共参数传送必传参数,检查必传参数是否完整,如果不完整返回参数缺失,否则(参数传入完整)进入下一步。
客户端检查集成在所述客户端上的java SDK或javascript SDK的配置文件是否完整,具体而言,检查java客户端的资源目录添加一个名为prepose.xml的配置文件(prepose.xml\prepose.js)配置文件是否完整,如果配置不完整返回配置信息缺失,否则(配置信息完整)进入下一步。
客户端通过java SDK或javascript SDK生成第一请求信息并发送给前置服务,所述第一个请求信息携带有通过第一加密方式加密后的第一公共参数以及第二公共参数,具体而言,第一公共参数为ogua(下文中简称公共参数ogua),第二公共参数为serverType(下文简称为serverType),公共参数ogua值设置为ogua_1,公共参数ogua和serverType的值用AES加密,客户端将携带加密后的ogua和serverType发送第一个请求到前置服务的baseServer接口获取动态钥匙。
前置服务判断是否根据所述第一请求信息调用动态钥匙库中的动态钥匙,具体而言,前置服务接收到请求后取出公共参数ogua用AES解密。
判断ogua解密后的值如果不等于ogua_1并且不等于ogua_2,阻断响应,不返回任何信息。
判断ogua解密后的值如果等于ogua_1,取出公共参数serverType用AES解密,判断serverType解密的值是否存在src/main/resources/serverConfig.xml文件中,如果不存在,阻断响应,不返回任何信息,判断serverType解密的值如果存在,前置服务对动态钥匙进行处理以及加密后形成待使用钥匙并传递给客户端的java SDK或javascript SDK,具体而言,调用动态钥匙库的获取钥匙函数,将serverType解密的值当作参数传入钥匙函数,获得钥匙后用AES进行加密,加密后返回给(java\web)客户端的(java\javascript)SDK包。
客户端的java SDK或javascript SDK对获取的加密后的所述待使用钥匙进行解密,具体而言,客户端根据解密后的待使用钥匙以第二加密方式对第一公共参数进行加密处理并以第一加密方式对所述第二公共参数进行加密,并向前置服务发送第二请求信息,其中,所述第二请求信息包括经过加密后的第一公共参数以及经过加密后第二公共参数。
具体而言,(java\web)客户端的(java\javascript)SDK包收到加密后的钥匙用AES解密,解密的钥匙加上两个@@分隔符号加上ogua_2得到一个字符串的值,将这个包含钥匙和ogua_2的值用AES加密后赋值给公共参数ogua,携带加密后的ogua和serverType发送第二个请求到前置服务的baseServer接口进行钥匙验证和分发。
前置服务根据所述第二请求信息判断是否进行业务转发,具体而言,前置服务接收到请求后取出公共参数ogua用AES解密。
判断ogua解密后的值如果不等于ogua_1并且不等于ogua_2,阻断响应,不返回任何信息。
判断ogua解密后的值如果包含ogua_2,取出公共参数serverType用AES解密,判断serverType解密的值是否存在src/main/resources/serverConfig.xml文件中,如果不存在,阻断响应,不返回任何信息,判断serverType解密的值如果存在,用@@拆分ogua的值得到钥匙,调用动态钥匙库的验证钥匙是否正确函数,传入serverType解密的值和钥匙,如果钥匙无效,阻断响应,不返回任何信息,如果钥匙有效进入下一步。
根据第二公共参数对业务进行转发,具体而言,根据serverType获取的服务地址,进行业务转发,转发完成将结果返回给(java\web)客户端的(java\javascript)SDK包将最终结果返回给(java\web)客户端。
本申请的混淆HTTP网络协议接口地址的方法具有如下优点:
前置服务的服务配置页面方便了开发者对自己页面模块接口服务的配置管理。
前置服务数据持久化采用文件存储的方式,简化部署,节省服务器对数据库的依赖,方便了服务复制部署。
前置服务,只提供了一个baseServer接口,进行业务收集,将不同的业务接口合并,让攻击者获取的网络协议接口地址只有一个baseServer接口,攻击者无法根据网络协议接口地址找出规律进行接口地址混合组装攻击。
(java\javascript)SDK包与前置服务交互时公共参数进行加密混淆,让攻击者无法截获有意义的参数。
(java\javascript)SDK包与前置服务交互时将返回的钥匙与公共参数ogua进行拼接后混淆,保证了钥匙传输的安全,让攻击者无法获取到真正的钥匙。
前置服务的baseServer接口发现公共参数不合法时,阻断响应,不返回任何信息,防止攻击者根据返回信息进行攻击分析。
前置服务的动态钥匙库,每次生成的钥匙与获取钥匙函数的参数绑定,增强钥匙的安全性,在返回时用AES加密,防止正确钥匙丢失。
前置服务的动态钥匙库,每次生成的钥匙只能使用一次,让攻击者无法利用重放攻击的方式对服务器的数据库进行篡改和恶意添加数据。
前置服务的动态钥匙库,每次生成的钥匙从生成开始计时,超过30秒未使用会被钥匙库的自检线程主动清除,防止垃圾钥匙过多积存影响前置服务的性能。
本方案提供(java\javascript)SDK包和前置服务的方式将所有的业务接口合并成一个接口地址,有效的防止了攻击者对业务系统模块的分析,数据传输利用AES对称加密、解密方式,防止敏感数据丢失,钥匙第一次返回后需要解密、再次混淆、加密的方式进行第二次传递,保证了攻击者无法截获有意义的钥匙,钥匙使用后即失效,让攻击者无法进行重放攻击,有效的混淆网络协议接口地址。
虽然,上文中已经用一般性说明及具体实施方案对本发明作了详尽的描述,但在本发明基础上,可以对之作一些修改或改进,这对本领域技术人员而言是显而易见的。因此,在不偏离本发明精神的基础上所做的这些修改或改进,均属于本发明要求保护的范围。

Claims (9)

1.一种混淆HTTP网络协议接口地址的方法,其特征在于,所述混淆HTTP网络协议接口地址的方法包括:
客户端通过java SDK或javascript SDK生成第一请求信息并发送给前置服务,所述第一个请求信息携带有通过第一加密方式加密后的第一公共参数以及第二公共参数;
前置服务判断是否根据所述第一请求信息调用动态钥匙库中的动态钥匙,若是,则
前置服务对动态钥匙进行处理以及加密后形成待使用钥匙并传递给客户端的javaSDK或javascript SDK;
客户端的java SDK或javascript SDK对获取的加密后的所述待使用钥匙进行解密;
客户端根据解密后的待使用钥匙以第二加密方式对第一公共参数进行加密处理并以第一加密方式对所述第二公共参数进行加密,并向前置服务发送第二请求信息,其中,所述第二请求信息包括经过加密后的第一公共参数以及经过加密后第二公共参数;
前置服务根据所述第二请求信息判断是否进行业务转发,若是,则
根据第二公共参数对业务进行转发。
2.如权利要求1所述的混淆HTTP网络协议接口地址的方法,其特征在于,在所述客户端通过java SDK或javascript SDK生成第一请求信息并发送给前置服务之前,所述混淆HTTP网络协议接口地址的方法进一步包括:
将java SDK或javascript SDK集成在所述客户端上。
3.如权利要求2所述的混淆HTTP网络协议接口地址的方法,其特征在于,在所述客户端通过java SDK或javascript SDK生成第一请求信息并发送给前置服务之前,在所述将javaSDK或javascript SDK集成在所述客户端上之后,所述混淆HTTP网络协议接口地址的方法进一步包括:
客户端将必传参数传递给java SDK或javascript SDK中的第二公共参数;
客户端检查集成在所述客户端上的java SDK或javascript SDK的配置文件是否完整,若是,则
客户端通过java SDK或javascript SDK生成第一请求信息并发送给前置服务。
4.如权利要求3所述的混淆HTTP网络协议接口地址的方法,其特征在于,所述客户端通过java SDK或javascript SDK生成第一请求信息并发送给前置服务,所述第一个请求信息携带有通过第一加密方式加密后的第一公共参数以及第二公共参数包括:
将第一公共参数设置为第一数值;
采用AES加密方式对设置为第一数值的第一公共参数以及第二公共参数进行加密;
生成携带有加密后的第一公共参数以及第二公共参数的第一请求信息并发送给前置服务。
5.如权利要求4所述的混淆HTTP网络协议接口地址的方法,其特征在于,所述第一公共参数包括第一公共参数名称以及第一公共参数值,所述第一公共参数值包括第一值以及第二值;
所述前置服务判断是否根据所述第一请求信息调用动态钥匙库中的动态钥匙包括:
前置服务对获取的所述第一请求信息中的第一公共参数进行解密;
前置服务判断解密后的第一公共参数的值是否为第一值,若是,则
获取第一请求信息中的第二公共参数并进行解密;
判断解密后的第二公共参数是否符合第一预设条件,若是,则
判断根据所述第一请求信息调用动态钥匙库中的动态钥匙。
6.如权利要求5所述的混淆HTTP网络协议接口地址的方法,其特征在于,所述前置服务对动态钥匙进行加密后传递给客户端的java SDK或javascript SDK包括:
前置服务调用动态钥匙库的获取钥匙函数,将解密后的第二公共参数的信息当作钥匙参数传入钥匙函数并对待使用钥匙采用AES进行加密从而获得待使用钥匙;
将待使用钥匙传递给客户端的java SDK或javascript SDK。
7.如权利要求6所述的混淆HTTP网络协议接口地址的方法,其特征在于,
所述客户端根据解密后的待使用钥匙以第二加密方式对第一公共参数进行加密处理并以第一加密方式对所述第二公共参数进行加密,并向前置服务发送第二请求信息,其中,所述第二请求信息包括经过加密后的第一公共参数以及经过加密后第二公共参数包括:
根据第一公共参数的第二值对解密后的待使用钥匙进行处理,从而获得经过处理的待使用钥匙;
将经过处理的待使用钥匙用AES加密后赋值给第一公共参数;
将第二公共参数通过AES加密进行加密;
生成携带有经过加密后的第一公共参数以及经过加密后第二公共参数的第二请求信息并发送给前置服务的baseServer接口。
8.如权利要求7所述的混淆HTTP网络协议接口地址的方法,其特征在于,所述前置服务根据所述第二请求信息判断是否进行业务转发包括:
前置服务对第二请求信息中的所述加密后的第一公共参数进行解密;
前置服务判断解密后的第一公共参数是否包括第一公共参数的第二值,若是,则
前置服务获取所述第二请求信息中的第二公共参数并进行解密;
判断解密后的第二公共参数是否符合第二预设条件,若是,则
前置服务获取第二请求信息中的待使用钥匙并将待使用钥匙还原成钥匙函数;
前置服务验证获取的钥匙函数否满足第三预设条件,若是,则
前置服务根据所述第二请求信息判断进行业务转发。
9.如权利要求8所述的混淆HTTP网络协议接口地址的方法,其特征在于,所述根据第二公共参数对业务进行转发包括:
根据第二公共参数获取服务地址;
根据服务地址进行业务转发,并将转发完成将结果返回给客户端。
CN202211103133.2A 2022-09-09 2022-09-09 一种混淆http网络协议接口地址的方法 Active CN115473731B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211103133.2A CN115473731B (zh) 2022-09-09 2022-09-09 一种混淆http网络协议接口地址的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211103133.2A CN115473731B (zh) 2022-09-09 2022-09-09 一种混淆http网络协议接口地址的方法

Publications (2)

Publication Number Publication Date
CN115473731A true CN115473731A (zh) 2022-12-13
CN115473731B CN115473731B (zh) 2023-09-19

Family

ID=84368667

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211103133.2A Active CN115473731B (zh) 2022-09-09 2022-09-09 一种混淆http网络协议接口地址的方法

Country Status (1)

Country Link
CN (1) CN115473731B (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021022701A1 (zh) * 2019-08-08 2021-02-11 平安科技(深圳)有限公司 信息传输方法、装置、客户端、服务端及存储介质
CN113010856A (zh) * 2021-03-02 2021-06-22 北京顶象技术有限公司 一种动态非对称加解密的JavaScript代码混淆方法与系统
CN113382001A (zh) * 2021-06-09 2021-09-10 湖南快乐阳光互动娱乐传媒有限公司 一种通信加密方法及相关装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021022701A1 (zh) * 2019-08-08 2021-02-11 平安科技(深圳)有限公司 信息传输方法、装置、客户端、服务端及存储介质
CN113010856A (zh) * 2021-03-02 2021-06-22 北京顶象技术有限公司 一种动态非对称加解密的JavaScript代码混淆方法与系统
CN113382001A (zh) * 2021-06-09 2021-09-10 湖南快乐阳光互动娱乐传媒有限公司 一种通信加密方法及相关装置

Also Published As

Publication number Publication date
CN115473731B (zh) 2023-09-19

Similar Documents

Publication Publication Date Title
CN102106114B (zh) 分布式安全服务开通方法及其系统
US7590844B1 (en) Decryption system and method for network analyzers and security programs
CN107528865B (zh) 文件的下载方法和系统
CN111464563B (zh) 一种工业控制网络的防护方法及对应的装置
CN110138731B (zh) 一种基于大数据的网络防攻击方法
CN111756702A (zh) 数据安全防护方法、装置、设备和存储介质
CN112688919A (zh) 一种基于app接口的反爬虫方法、设备及介质
CN112653671A (zh) 一种客户端与服务端的网络通信方法、装置、设备及介质
CN115801442A (zh) 一种加密流量的检测方法、安全系统及代理模块
CN107026828B (zh) 一种基于互联网缓存的防盗链方法及互联网缓存
CN113407967B (zh) 一种基于应用市场架构的服务安全方法及设备
CN117155716B (zh) 访问校验方法和装置、存储介质及电子设备
CN111585813B (zh) 一种物联网环境下网络节点的管理方法及系统
CN112751866B (zh) 一种网络数据传输方法及系统
CN113938474A (zh) 一种虚拟机访问方法、装置、电子设备和存储介质
CN115473731B (zh) 一种混淆http网络协议接口地址的方法
CN114826790B (zh) 一种区块链监测方法、装置、设备及存储介质
CN114499995B (zh) 一种防止重放攻击的方法、装置和系统
CN113242255B (zh) 一种基于企业安全的智能流量分析方法及系统
US20230222249A1 (en) Information Leakage Detection Method and Apparatus, and Computer-Readable Medium
JP3685062B2 (ja) 不正アクセス監視方法および内部通信ネットワーク
Leiwo et al. A security design for a wide-area distributed system
KR102432835B1 (ko) 보안이벤트 비식별화시스템 및 그 방법
CN114222301B (zh) 诈骗站点处理方法、装置及存储介质
CN117319088B (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