一种动态分配请求验证方法技术

技术编号:24333961 阅读:32 留言:0更新日期:2020-05-29 21:16
一种动态分配请求验证方法,根据权重参数计算接口的权重值,选择权重值对应的验证方法,根据权重参数的可变性,动态地分配请求验证方法给客户端。能够灵活的使用多种请求验证方式,在HTTPS的基础上进一步增加与服务器数据交互的安全性。在多种请求验证下,即使被抓包,使之不能通过伪造或破解其中一种方式去攻击所有的接口。本发明专利技术通过动态分配机制,使得接口能够得到合理的安全保障,节省服务器的资源。

A dynamic allocation request verification method

【技术实现步骤摘要】
一种动态分配请求验证方法
本专利技术属于计算机信息安全领域,涉及数据加密、存储及隐私保护等内容和方法,可用于互联网数据传输时的安全和隐私保护。
技术介绍
如今处于大数据时代下,越来越多的网站,APP应用在活跃地与服务器进行数据交互,随之衍生出来的就是与服务器进行安全数据交互的问题,在HTTP协议下,请求包很容易被抓包,这个问题在HTTPS协议的出现后,抓包攻击的泛滥有了一定的遏制,在HTTPS协议下,目前的请求验证方式大多数都是固定的,采用单一的一种请求验证方式,安全性能不高。
技术实现思路
为解决现有技术的不足,提供一种动态分配请求验证方法,能更好地提高客户端与服务器数据交互的安全性。为实现上述目的,本专利技术采用以下技术方案:一种动态分配请求验证方法,采用如下步骤:第一步:从数据库中取得前一天所有接口的访问次数、接口的类型,赋予接口不同的权重值,接口涉及的数据字段根据接口的权重值进行计算,计算方法如下:对于系统的重要性的量化参数,根据后台设定的三种接口类型对应的权重,根据权重值计算式子计算权重值,权重计算式子:w=Aa+Bb+Cc,其中,w为权重值,A为接口访问次数的参数,a为接口访问次数,B为接口类型的参数,b为接口访问类型对应的值,C为接口数据敏感度的参数,c为接口数据敏感度;数据字段权重值的范围和请求验证方法的加密特征值相对应,接口名称和接口的请求验证方式的加密特征值相对应,分别以权重值范围对应的枚举值和接口名称作为键名,请求验证方法的加密特征值作为键值存储于数据库中,请求验证方法的加密特征值为其接口名称在SHA256计算后的hash值;第二步:客户端请求时,通过本地存储的接口验证方法是否过期决定是否调用获取接口验证方法的接口A,若已过期则请求接口A;接口A使用JSON格式的数据返回各个接口的接口名称的对称加密值、对应验证方法的加密特征值、以及验证方式过期的时间的数据给客户端。第三步:客户端进行代码混淆保护验证方式执行的代码,对于第二步返回的接口对应的请求方法的数据,提取接口名称的加密值和验证方法的特征值,对接口名称的加密值进行解密,使用键值对的方式存储在客户端的私有存储空间,将接口名称和过期时间存储在私有的内存空间内;第四步:客户端调用接口前,判断接口的验证方式是否过期,若不是,从私有存储空间中提取接口名称对应的验证方法的特征值,使用加密值对应的请求验证方式与服务器进行数据交互;若过期,则跳转并执行第二步。本案所述接口A为获取请求验证方法的接口,认证方式为固定方式,安全性为整个系统最高。代码混淆(Obfuscatedcode)亦称花指令,是将计算机程序的代码,转换成一种功能上等价,但是难于阅读和理解的形式的行为。代码混淆可以用于程序源代码,也可以用于程序编译而成的中间代码。执行代码混淆的程序被称作代码混淆器。目前已经存在许多种功能各异的代码混淆器接口类型有三种,数据获取接口,数据修改接口,复杂操作接口,接口类型为数据获取的分配较低的权重,接口类型为修改数据的分配较高的权重,复杂操作接口分配最高的权重。本专利技术一种动态分配请求验证方法,根据权重参数计算接口的权重值,选择权重值对应的验证方法,根据权重参数的可变性,动态地分配请求验证方法给客户端。能够灵活的使用多种请求验证方式,在HTTPS的基础上进一步增加与服务器数据交互的安全性。在多种请求验证下,即使被抓包,使之不能通过伪造或破解其中一种方式去攻击所有的接口。本专利技术通过动态分配机制,使得接口能够得到合理的安全保障,节省服务器的资源。附图说明图1为本专利技术流程示意图。图2为本专利技术请求验证方法过期时的时序流程示意图。具体实施方式参照附图,一种动态分配请求验证方法,本实施例结合某线下社交的一款移动端社交软件进行具体描述,包括以下几个步骤:第一步:社交软件的业务服务器在每天系统活跃度最低的时候执行定时任务,根据从业务服务器的数据库存储的前一天的所有接口的访问次数、接口的类型、接口涉及的数据字段对于系统的重要性的量化参数,根据后台设定的三种接口类型对应的权重,根据权重值计算式子计算权重值,在本项目中,接口访问次数的参数为0.1,接口类型的参数为100,接口敏感度的参数为200,数据获取接口的值为0.1,数据修改的接口的值为1,复杂操作接口的值为2,权重值的范围和请求验证方法是一一对应的,将权重值的范围对应到三个枚举变量HIGH,COMMON,QUICK。分别对应高安全的请求验证方式、一般的请求验证方式和快速的请求方式,根据两者的对应关系,将接口名称和接口的请求验证方式的加密特征值的键值对更新到数据库中。业务服务器在每回接口调用的时候会将接口调用次数更新,每天0点计算完定时任务后会重置为0,每天的调用次数会发生不同的变化,接口对应的验证方法也可能发生变化。接口名称加密方式为对称加密方式,使用密钥加当天0点的时间戳进行二次加密。本专利技术根据当天0点的时间戳除于3000的取余作为二次加密的密钥。接口名称的加密值和请求验证方法的对应键值对数据存储在业务服务器的数据库中。第二步:移动端APP请求业务服务器前通过本地存储的接口验证方法是否过期,决定是否调用获取接口验证方法的接口A,若已过期则请求接口A。接口A使用JSON格式的数据返回各个接口的接口名称的加密值、对应验证方法的加密值以及验证方式过期的时间的数据给移动端APP。接口A为安全系数最高的请求验证方法,根据设备码、TOKEN、签名等保证该接口的安全性。接口A返回各个接口的验证方法的数据给客户端,使用非对称加密方式解密,服务器端使用公钥加密,客户端使用私钥解密。返回的数据解密后根据各个接口名称分块存储,存储在本地存储空间中。系统中的请求验证方法有3种,TOKEN验证,非对称加密认证,token+签名认证(签名为各个参数的KEY值按字典序排列,加上时间戳进行SHA256生成签名),根据权重值动态选择其中一种请求验证方法。第三步:移动端APP对源代码进行代码混淆保护验证方式执行的代码不被轻易地反编译,对于业务服务器返回的数据,提取接口名称的加密值和验证方法的特征值,对接口名称的加密值进行解密,使用键值对的方式存储在客户端的私有存储空间,将接口名称和过期时间也存储在私有存储空间。移动端APP采用代码混淆,将接口名称使用客户端内嵌的密钥和特定时间戳进行二次解密,将接口名称作为KEY,请求验证方法的特征值为VALUE存储在本地的存储空间中,把接口名称和接口过期时间作为键值对写入到本地的另外一个存储空间中,两个空间读取权限为移动端APP私有第四步:移动端APP调用接口前,判断接口的验证方式是否过期,若不是,从私有存储空间中提取接口名称对应的验证方法的特征值,使用加密值对应的请求验证方式与服务器进行数据交互。若过期,则跳转到第二步移动端APP的除接口A外的其它非第三方接口调用前,使用拦截器拦截接口调用,判断接口名称对应本文档来自技高网...

【技术保护点】
1.一种动态分配请求验证方法,其特征在于采用如下步骤:/n第一步:从数据库中取得前一天所有接口的访问次数、接口的类型,赋予接口不同的权重值,接口涉及的数据字段根据接口的权重值进行计算,计算方法如下:/n对于系统的重要性的量化参数,根据后台设定的三种接口类型对应的权重,根据权重值计算式子计算权重值,权重计算式子:/nw=Aa+Bb+Cc,/n其中,w为权重值,A为接口访问次数的参数,a为接口访问次数,B为接口类型的参数,b为接口访问类型对应的值,C为接口数据敏感度的参数,c为接口数据敏感度;/n数据字段权重值的范围和请求验证方法的加密特征值相对应,接口名称和接口的请求验证方式的加密特征值相对应,分别以权重值范围对应的枚举值和接口名称作为键名,请求验证方法的加密特征值作为键值存储于数据库中,请求验证方法的加密特征值为其接口名称在SHA256计算后的hash值;/n第二步:客户端请求时,通过本地存储的接口验证方法是否过期决定是否调用获取接口验证方法的接口A,若已过期则请求接口A;接口A使用JSON格式的数据返回各个接口的接口名称的对称加密值、对应验证方法的加密特征值、以及验证方式过期的时间的数据给客户端;/n第三步:客户端进行代码混淆保护验证方式执行的代码,对于第二步返回的接口对应的请求方法的数据,提取接口名称的加密值和验证方法的特征值,对接口名称的加密值进行解密,使用键值对的方式存储在客户端的私有存储空间,将接口名称和过期时间存储在私有的内存空间内;/n第四步:客户端调用接口前,判断接口的验证方式是否过期,若不是,从私有存储空间中提取接口名称对应的验证方法的特征值,使用加密值对应的请求验证方式与服务器进行数据交互;若过期,则跳转并执行第二步。/n...

【技术特征摘要】
1.一种动态分配请求验证方法,其特征在于采用如下步骤:
第一步:从数据库中取得前一天所有接口的访问次数、接口的类型,赋予接口不同的权重值,接口涉及的数据字段根据接口的权重值进行计算,计算方法如下:
对于系统的重要性的量化参数,根据后台设定的三种接口类型对应的权重,根据权重值计算式子计算权重值,权重计算式子:
w=Aa+Bb+Cc,
其中,w为权重值,A为接口访问次数的参数,a为接口访问次数,B为接口类型的参数,b为接口访问类型对应的值,C为接口数据敏感度的参数,c为接口数据敏感度;
数据字段权重值的范围和请求验证方法的加密特征值相对应,接口名称和接口的请求验证方式的加密特征值相对应,分别以权重值范围对应的枚举值和接口名称作为键名,请求验证方法的加密特征值作为键值存储于数据库中,请求验证方法的加密特征值为其接...

【专利技术属性】
技术研发人员:程宏兵方伟赵鹏杨斌飞王晓进
申请(专利权)人:浙江工业大学
类型:发明
国别省市:浙江;33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1