接口安全验证方法、访问接口的方法、装置、设备和介质制造方法及图纸

技术编号:31377113 阅读:24 留言:0更新日期:2021-12-15 11:15
本申请提供一种接口安全验证方法、访问接口的方法、装置、设备和介质,服务器向客户端发送账号和密码,使得客户端根据账号、密码、时间戳、随机数、请求参数名和请求地址生成第一签名,并根据账号、时间戳、随机数、请求参数名、请求地址、第一签名和请求参数生成访问请求。服务器接收访问请求,根据访问请求中的账号获取账号对应的密码,并根据账号、账号对应的密码、时间戳、随机数、请求参数名和请求生成第二签名,验证第一签名和第二签名是否一致,验证一致后允许客户端访问接口。这样替代现有的token授权进行接口安全验证的方式,不需要redis可以实现接口授权的安全验证,克服现有的token授权机制的缺陷。的token授权机制的缺陷。的token授权机制的缺陷。

【技术实现步骤摘要】
接口安全验证方法、访问接口的方法、装置、设备和介质


[0001]本申请涉及网络
,尤其涉及一种接口安全验证方法、访问接口的方法、装置、设备和介质。

技术介绍

[0002]Web API是网络应用程序接口,网络应用通过API接口,可以实现存储服务、消息服务、计算服务等功能。Web API收到接口调用请求时需要需先验证传递的签名是否安全合法,验证后才调用相关接口。
[0003]目前接口安全验证的方式主要是通过token授权,客户端向服务器提供用户认证信息(如账户和密码),服务器认证完后给客户端返回一个Token令牌,用户再次获取信息时,带上此令牌,如果令牌正确,则可以通过接口获取信息。
[0004]但是token授权的机制存在一定的缺陷,例如只验证token的合法性,没有对参数的合法性进行校验;token需要设置有效期,有效期之外时需要重新获取token,过程比较繁琐;token的授权方式需要通过redis(Remote Dictionary Server,远程字典服务)存放,有些系统不使用redis,导致无法正常使用token。因而,需要一种接口安全验证的方式,克服token授权进行接口安全验证的缺陷。

技术实现思路

[0005]本申请提供一种接口安全验证方法、访问接口的方法、装置、设备和介质,用以解决token授权进行解决安全验证的缺陷问题。
[0006]第一方面,本申请提供一种接口安全验证方法,所述方法用于服务器,包括:
[0007]向客户端发送账号和密码,以使所述客户端根据所述账号、所述密码、时间戳、随机数、请求参数名和请求地址生成第一签名,并根据所述账号、所述时间戳、所述随机数、所述请求参数名、所述请求地址、所述第一签名和请求参数生成访问请求;
[0008]接收客户端发送的访问请求,根据所述访问请求中的所述账号获取所述账号对应的密码,并根据所述账号、所述账号对应的密码、所述时间戳、所述随机数、所述请求参数名和所述请求地址生成第二签名;
[0009]验证所述第一签名和所述第二签名是否一致,以在验证一致后允许所述客户端访问接口。
[0010]可选的,所根据所述账号、所述账号对应的密码、所述时间戳、所述随机数、所述请求参数名和所述请求地址生成第二签名,具体包括:
[0011]在所述访问请求中存在一致性验证标识时,根据所述账号、所述账号对应的密码、所述时间戳、所述随机数、所述请求参数名和所述请求地址生成第二签名。
[0012]可选的,在验证所述第一签名和所述第二签名一致后,所述方法还包括以下至少一项:
[0013]在所述访问请求中存在重复性验证标识时,验证是否使用第一签名重复访问同一
接口;
[0014]在所述访问请求中存在间隔性验证标识时,验证对同一接口的访问请求的提交时间间隔是否大于时间阈值;
[0015]在所述访问请求中存在规范性验证标识时,验证所述请求参数名是否符合预设要求。
[0016]可选的,在向客户端提供账号和密码之前,所述方法还包括:
[0017]利用唯一识别码生成第一字符串,将所述第一字符串作为账号;
[0018]对所述第一字符串进行排序获得第二字符串,对所述第二字符串进行二进制处理获得第三字符串,并将所述第三字符串作为密码。
[0019]可选的,在接收到所述客户端的访问请求之后,根据所述账号、所述账号对应的密码、所述时间戳、所述随机数、所述请求参数名和所述请求地址生成第二签名之前,所述方法还包括:
[0020]根据所述时间戳验证所述第一签名是否在有效期内;
[0021]相应地,当所述第一签名在有效期内时,根据所述账号、所述账号对应的密码、所述时间戳、所述随机数、所述请求参数名和所述请求地址生成第二签名。
[0022]第二方面,本申请提供一种接口安全验证方法,所述方法用于服务器,包括:
[0023]接收服务器发送的账号和密码;
[0024]根据所述账号、所述密码、时间戳、随机数、请求参数名和请求地址生成第一签名,并根据所述账号、所述时间戳、所述随机数、所述请求参数名、所述请求地址、所述第一签名和请求参数生成访问请求;
[0025]向所述服务器发送所述访问请求,以使所述服务器根据所述访问请求中的所述账号获取所述账号对应的密码,并根据所述账号、所述账号对应的密码、所述时间戳、所述随机数、所述请求参数名和所述请求地址生成第二签名,并验证所述第一签名和所述第二签名是否一致;
[0026]验证一致后访问接口。
[0027]可选的,所述根据所述账号、所述时间戳、所述随机数、所述请求参数名、所述请求地址、所述第一签名和请求参数生成访问请求,具体包括:
[0028]获取验证标识,并根据所述验证标识、所述账号、所述时间戳、所述随机数、所述请求参数名、所述请求地址、所述第一签名和请求参数生成访问请求。
[0029]可选的,所述验证标识包括:一致性验证标识、重复性验证标识、间隔性验证标识、规范性验证标识中一种或多种组合。
[0030]可选的,所述根据所述账号、所述密码、时间戳、随机数、请求参数名和请求地址生成第一签名,具体包括:
[0031]对所述账号、所述密码、时间戳、随机数、请求参数名和请求地址进行排序生成第四字符串;
[0032]利用MD5加密或RSA加密对所述第四字符串进行加密生成第一签名。
[0033]第三方面,本申请提供一种接口安全验证装置,包括:
[0034]发送模块,用于向客户端发送账号和密码,以使所述客户端根据所述账号、所述密码、时间戳、随机数、请求参数名和请求地址生成第一签名,并根据所述账号、所述时间戳、
所述随机数、所述请求参数名、所述请求地址、所述第一签名和请求参数生成访问请求;
[0035]接受模块,用于接收客户端发送的访问请求,根据所述访问请求中的所述账号获取所述账号对应的密码,并根据所述账号、所述账号对应的密码、所述时间戳、所述随机数、所述请求参数名和所述请求地址生成第二签名;
[0036]验证模块,用于验证所述第一签名和所述第二签名是否一致,以在验证一致后允许所述客户端访问接口。
[0037]第四方面,本申请提供一种访问接口的装置,包括:
[0038]接收模块,用于接收服务器发送的账号和密码;
[0039]生成模块,用于根据所述账号、所述密码、时间戳、随机数、请求参数名和请求地址生成第一签名,并根据所述账号、所述时间戳、所述随机数、所述请求参数名、所述请求地址、所述第一签名和请求参数生成访问请求;
[0040]发送模块,用于向所述服务器发送所述访问请求,以使所述服务器根据所述访问请求中的所述账号获取所述账号对应的密码,并根据所述账号、所述账号对应的密码、所述时间戳、所述随机数、所述请求参数名和所述请求地址生成第二签名,并验证所述第一签名和所述第二签名是否一致;
[0041]访问模块,用于本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种接口安全验证方法,其特征在于,所述方法用于服务器,包括:向客户端发送账号和密码,以使所述客户端根据所述账号、所述密码、时间戳、随机数、请求参数名和请求地址生成第一签名,并根据所述账号、所述时间戳、所述随机数、所述请求参数名、所述请求地址、所述第一签名和请求参数生成访问请求;接收客户端发送的访问请求,根据所述访问请求中的所述账号获取所述账号对应的密码,并根据所述账号、所述账号对应的密码、所述时间戳、所述随机数、所述请求参数名和所述请求地址生成第二签名;验证所述第一签名和所述第二签名是否一致,以在验证一致后允许所述客户端访问接口。2.根据权利要求1所述的方法,其特征在于,所根据所述账号、所述账号对应的密码、所述时间戳、所述随机数、所述请求参数名和所述请求地址生成第二签名,具体包括:在所述访问请求中存在一致性验证标识时,根据所述账号、所述账号对应的密码、所述时间戳、所述随机数、所述请求参数名和所述请求地址生成第二签名。3.根据权利要求2所述的方法,其特征在于,在验证所述第一签名和所述第二签名一致后,所述方法还包括以下至少一项:在所述访问请求中存在重复性验证标识时,验证是否使用第一签名重复访问同一接口;在所述访问请求中存在间隔性验证标识时,验证对同一接口的访问请求的提交时间间隔是否大于时间阈值;在所述访问请求中存在规范性验证标识时,验证所述请求参数名是否符合预设要求。4.根据权利要求1所述的方法,其特征在于,在向客户端提供账号和密码之前,所述方法还包括:利用唯一识别码生成第一字符串,将所述第一字符串作为账号;对所述第一字符串进行排序获得第二字符串,对所述第二字符串进行二进制处理获得第三字符串,并将所述第三字符串作为密码。5.根据权利要求1所述的方法,其特征在于,在接收到所述客户端的访问请求之后,根据所述账号、所述账号对应的密码、所述时间戳、所述随机数、所述请求参数名和所述请求地址生成第二签名之前,所述方法还包括:根据所述时间戳验证所述第一签名是否在有效期内;相应地,当所述第一签名在有效期内时,根据所述账号、所述账号对应的密码、所述时间戳、所述随机数、所述请求参数名和所述请求地址生成第二签名。6.一种访问接口的方法,其特征在于,所述方法用于客户端,包括:接收服务器发送的账号和密码;根据所述账号、所述密码、时间戳、随机数、请求参数名和请求地址生成第一签名,并根据所述账号、所述时间戳、所述随机数、所述请求参数名、所述请求地址、所述第一签名和请求参数生成访问请求;向所述服务器发送所述访问请求,以使所述服务器根据所述访问请求中的所述账号获取所述账号对应的密码,并根据所述账号、所述账号对应的密码、所述时间戳、所述随机数、所述请求参数名和所述请求地址生成第二签名,并验证所述第一签名和所述第二签名是否
一致;...

【专利技术属性】
技术研发人员:贾栋
申请(专利权)人:北京北大方正电子有限公司
类型:发明
国别省市:

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

1