CN111756544A - 一种接口调用合法性校验方法和装置 - Google Patents

一种接口调用合法性校验方法和装置 Download PDF

Info

Publication number
CN111756544A
CN111756544A CN202010391727.2A CN202010391727A CN111756544A CN 111756544 A CN111756544 A CN 111756544A CN 202010391727 A CN202010391727 A CN 202010391727A CN 111756544 A CN111756544 A CN 111756544A
Authority
CN
China
Prior art keywords
signature
field
request
data
interface
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
CN202010391727.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.)
Beijing Mininglamp Software System Co ltd
Original Assignee
Beijing Mininglamp Software System 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 Mininglamp Software System Co ltd filed Critical Beijing Mininglamp Software System Co ltd
Priority to CN202010391727.2A priority Critical patent/CN111756544A/zh
Publication of CN111756544A publication Critical patent/CN111756544A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • 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/3247Cryptographic 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 digital signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • 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
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/133Protocols for remote procedure calls [RPC]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • Bioethics (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Computing Systems (AREA)
  • Storage Device Security (AREA)

Abstract

本发明公开了一种接口调用合法性校验方法,包括,拦截接口调用请求;根据预设的至少一个签名字段,从所述接口调用请求中获取对应的字段值;根据预定格式拼接所获取的全部预设的签名字段各自所对应的字段值,得到待验证数据;根据所述接口调用请求中的签名数据,对所述待验证数据进行签名验证;如果验证通过,则允许执行所述接口调用请求。本发明还公开了一种接口调用合法性校验装置、计算机存储介质和电子装置。

Description

一种接口调用合法性校验方法和装置
技术领域
本发明涉及计算机技术领域,尤指一种接口调用合法性校验方法、装置、存储介质和电子装置。
背景技术
调用第三方接口以获取各种数据或服务是当前计算机应用开发领域十分广泛的做法。作为接口(服务)提供方,在为第三方提供接口服务时,接口数据的安全问题是必须考虑的问题。比如,数据是否被篡改,那么如何知道传输的数据是否被篡改呢?现有技术方案中,通常的做法是对传输的数据进行签名。应用于接口(服务)调用时,相关技术中,要求接口调用方对整体请求数据进行数据签名,服务提供方进行签名验证。
伴随接口(服务)提供的微粒化,一个业务应用涉及大量接口(服务)。同时,由于接口的开放性、被调用的广泛性,当出现用于签名的密钥不慎被泄露时,会引起接口(服务)出现中断或暂停,如何快速恢复接口的安全访问成为该接口(服务)调用领域需要面对的问题。
发明内容
为了解决上述技术问题,本发明提供了一种接口调用合法性校验的方法、装置、存储介质和电子装置,能够快速恢复接口的安全访问,防止接口数据被篡改,保证接口数据的安全。
本发明实施例提供一种接口调用合法性校验方法,包括,
拦截接口调用请求;
根据预设的至少一个签名字段,从所述接口调用请求中获取对应的字段值;
根据预定格式拼接所获取的全部预设的签名字段各自所对应的字段值,得到待验证数据;
根据所述接口调用请求中的签名数据,对所述待验证数据进行签名验证;
如果验证通过,则允许执行所述接口调用请求。
本发明实施例还一种接口调用合法性校验装置,包括,
请求拦截模块,设置为拦截接口调用请求;
签名字段获取模块,设置为根据预设的至少一个签名字段,从所述接口调用请求中获取对应的字段值;
校验模块,设置为根据预定格式拼接所获取的全部预设的签名字段各自所对应的字段值,得到待验证数据;根据所述接口调用请求中的签名数据,对所述待验证数据进行签名验证;如果验证通过,则允许执行所述接口调用请求。
本发明实施例还提供一种计算机存储介质,所述计算机存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一一种接口调用合法性校验方法。
本发明实施例还提供一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一一种接口调用合法性校验方法。
根据本发明提出的可配置的待签名字段方案,通过改变所配置的签名字段,就能够灵活地变化合法性校验要求;当签名密钥泄露时,通过改变需签名字段的配置,能够快速恢复接口的安全访问,防止接口数据被篡改,保证接口数据的安全。
附图说明
图1为实施例一提供的一种接口调用合法性校验方法的流程图;
图2为实施例二提供的一种接口调用合法性校验方法的流程图;
图3为实施例二中接口调用请求数据示意图;
图4为实施例三提供的一种接口调用合法性校验装置的结构图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图及具体实施例对本发明作进一步的详细描述。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
实施例一
本实施例提供一种接口调用合法性校验方法,其流程如图1所示,包括,
步骤101,拦截接口调用请求;
步骤102,根据预设的至少一个签名字段,从所述接口调用请求中获取对应的字段值;
步骤103,根据预定格式拼接所获取的全部预设的签名字段各自所对应的字段值,得到待验证数据;
步骤104,根据所述接口调用请求中的签名数据,对所述待验证数据进行签名验证;如果验证通过,则允许执行所述接口调用请求。
可选地,述接口调用请求为HTTP(HyperText Transfer Protocol,超文本传输协议)请求;
所述根据预设的至少一个签名字段,从所述接口调用请求中获取对应的字段值,包括:
根据预设的每一个签名字段的参数类型,分别从所述HTTP请求的消息结构获取对应的字段值;
所述参数类型包括以下之一:请求头Header、请求参数Query、请求路径Path和请求体Body。
可选地,步骤101中拦截接口调用请求,包括:通过过滤器拦截所述接口调用请求,获取HTTP请求数据。
可选地,其中,当签名字段的参数类型为Query时,获取该签名字段对应的字段值,包括:以该签名字段为关键字,从所述HTTP请求的消息中的Query数据中取出对应的字段值;
当签名字段的参数类型为Header时,获取该签名字段对应的字段值,包括:以该签名字段为关键字,从所述HTTP请求的消息中的Header数据中取出对应的字段值;
当签名字段的参数类型为Path时,获取该签名字段对应的字段值,包括:根据预先配置的所述接口的通用接口地址和所述HTTP请求的实际请求地址,进行正则匹配,获取该签名字段对应的字段值;
当签名字段的参数类型为Body时,获取该签名字段对应的字段值,包括:将所述HTTP请求的Body数据对应的json(json,JavaScript Object Notation,JS对象简谱)串序列化为map结构,遍历所述map结构,获取该签名字段对应的字段值。
可选地,步骤103中根据预定格式拼接所获取的全部预设的签名字段所各自对应的字段值,得到待验证数据,包括:
根据第一预定格式将所获取的全部预设的签名字段和各签名字段各自对应的字段值依次拼接,得到待验证数据;
或者,根据第二预定格式将所获取的全部预设的签名字段各自对应的字段值依次拼接,得到待验证数据。
可选地,步骤104中根据所述接口调用请求中的签名数据,对所述待验证数据进行签名验证,包括:
采用哈希算法计算所述待所述待验证数据的哈希值,判断计算得到的哈希值与所述接口调用请求中的签名数据是否一致,如果一致,则签名验证成功;如果不一致,则签名验证失败。
可选地,采用其他算法对所述待验证数据进行签名,得到签名结果后与所述接口调用请求中的签名数据进行比较,如果一致,则签名验证成功;如果不一致,则签名验证失败。
可选地,所述接口调用请求可以为其他形式的接口请求,不限于HTTP请求方式;所述接口提供方和接口调用方采用协商一致的接口调用方式即可。
可选地,重新配置所述至少一个签名字段后,所述步骤102根据重新配置后的签名字段获取对应的字段值;
可以看到,如果用于签名的密钥被泄露,则接口提供方更改所需签名字段的配置。在签名密钥不变,基本接口调用方式不变的情况下,合法调用者根据新的签名字段要求进行数据签名后发送接口调用请求,则能够顺利通过签名验证,顺利被服务;而非法调用者(已知签名密钥),因为仍依据旧的签名字段要求进行签名并进行接口调用,所述签名验证失败,被拒绝服务。采用可灵活配置签名字段的方案,可以大大减小签名密钥泄漏时,对接口(服务)正常运行的影响,通过更改需签名字段,即可在不更换密钥、不改变接口调用方式的情况下,迅速识别非法调用,继续为合法用户提供正常接口调用服务。
所述接口调用方采用获取需签名字段的接口主动从接口提供方获取更新后的所需签名字段;或者,所述接口提供方通过确定的方式通知所述接口调用方更新后的所需签名字段;不限于特定的接口或通知方式。
实施例二
本发明实施例以HTTP接口调用为例,提供一种接口调用合法性校验方法,其流程如图2所示,包括:
步骤201,通过过滤器拦截调用接口API服务的HTTP请求,从HTTP请求中获取传输的数据。HTTP请求的数据基本结构,分为:Header、Query、Path、Body四种,代表四种不同位置的数据。
步骤202,根据预先配置的需要进行签名的签名字段,从所述HTTP请求中获取全部签名字段各自对应的字段值。
步骤203,根据预定格式拼接所获取的全部预设的签名字段各自所对应的字段值,得到待验证数据。
步骤204,根据所述HTTP请求中的签名数据,对所述待验证数据进行签名验证;
步骤205,如果验证通过,则允许执行所述接口调用请求;
步骤206,如果验证失败,则拒绝执行所述接口调用请求。
可选地,其中,预先配置的需要进行签名的签名字段,保存在表1中;
表1签名字段表
Figure BDA0002485874540000061
可选地,不限于采用上述表1的形式配置需要进行签名的字段,本领域技术人员可以采用配置文件或其他形式保存配置结果。
例如,实例1,获取应用信息接口:/api-admin/apis/infos
实例2,获取签名字段接口:/api/signatureFields/{api_id}
对于实例1中的接口,预先配置的签名字段如表2所示
表2实例1预先配置签名字段
Figure BDA0002485874540000062
Figure BDA0002485874540000071
对于实例2中的接口,预先配置的签名字段如表3所示
表3实例2预先配置签名字段
Id Field_name Api_id Type
5 api_id 456 Path
其中,步骤202的核心的工作是把获取到的请求数据都转换为key-value的集合,然后根据预先配置的签名字段获取到指定签名的字段数据(字段值),如果数据内有复杂的层级关系,key采用链式表示,如user.name表示用户的名字,apiInfo.name表示应用的名字。
其中,遍历key-value的集合获取指定的签名字段对应的字段值,根据type类型分别取出Header、Query、Path、Body的签名数据,其中Header、Query较简单,从query、header的请求数据中取出关键字key为field_name的数据即可。
Body数据获取,把body的json串序列化为map结构,递归map获取层次结构的数据;取出key为field_name的数据。
例如,根据实例1的表2的配置,需要签名的签名字段包括:is_sign、apiInfo.id、apiInfo.name、app_key,根据图3所示的HTTP请求,对应获取的字段值为:1、123123123、aaaa、webapp;
根据实例2的表3的配置,需要签名的签名字段包括:api_id。其中,表3是用于举例说明参数类型为Path的签名字段如何配置,不代表本发明一特定实施例中业务流程所涉及的必需的具体步骤。
例如其Path类型的签名字段对应数据获取,对于实例2所示的接口进行调用时,要获取其接口调用请求中的Path类型的签名字段api_id所对应的字段值,包括:根据该接口预先配置的接口地址,如/api/signatureFields/{api_id},与所述HTTP请求的实际地址如/api/signatureFields/123采用正则匹配,获取api_id=123的数据;取出key为field_name的数据,即获取类型为Path的签名字段api_id对应的字段值为123_。
可选地,步骤203中,根据预定的格式拼接所获取的全部预设的签名字段各自所对应的字段值,得到待验证数据,包括:
根据第一预定格式将所获取的全部预设的签名字段和各签名字段各自对应的字段值依次拼接,得到待验证数据;
或者,根据第二预定格式将所获取的全部预设的签名字段各自对应的字段值依次拼接,得到待验证数据。
例如,第一预定格式为:按KEY=VALUE的形式拼接,多个字段以&符号连接,得到一个字符串,则实例1的待验证数据为:is_sign=1&apiInfo.id=123123123&apiInfo.name=aaaa&app_key=webapp;
或者,第一预定格式为:按多个KEY字段以&符号连接=多个VALUE字段以&符号连接,得到一个字符串,则实例1的待验证数据为:is_sign&apiInfo.id&apiInfo.name&app_key=1&123123123&aaaa&webapp;其中,分隔或连接符号可采用其他字符,所述第一预定格式不限于本实施例上述举例的形式。
例如,第二预定格式为:按多个VALUE字段以&符号连接,得到一个字符串,则实例1的待验证数据为:1&123123123&aaaa&webapp;其中,分隔或连接符号可采用其他字符,所述第二预定格式不限于本实施例上述举例的形式。
实例2中的获得待验证数据根据上述例举的与实例1相似方式推定,不限于上述具体的格式。
其中,步骤204中,所述根据所述HTTP请求中的签名数据,对所述待验证数据进行签名验证,包括:
采用哈希算法计算所述待所述待验证数据的哈希值,判断计算得到的哈希值与所述HTTP请求中的签名数据是否一致,如果一致,则签名验证成功;如果不一致,则签名验证失败。
可选地,采用SHA256哈西算法对步骤203中得到的待验证数据执行哈西算法,得到签名结果数据server_signature=HMAC_SHA_256(signatureStr,app_secret)
其中,signatureStr为待验证数据,app_secret为签名密钥。
将签名结果数据server_signature与HTTP请求中消息头Header中取出的signature字段的值,进行比较;如果一致,则签名验证成功;如果不一致,则签名验证失败。
其中,也可以采用其他算法对待验证数据进行签名,与接口调用方协商一致即可,不限于本发明实施例所例举的SHA256算法。
可以看到,如果用于签名的密钥被泄露,则接口提供方更改所需签名字段的配置。在签名密钥不变,基本接口调用方式不变的情况下,合法调用者根据新的签名字段要求进行数据签名后发送接口调用请求,则能够顺利通过签名验证,顺利被服务;而非法调用者(已知签名密钥),因为仍依据旧的签名字段要求进行签名并进行接口调用,所述签名验证失败,被拒绝服务。采用可灵活配置签名字段的方案,可以大大减小签名密钥泄漏时,对接口(服务)正常运行的影响,通过更改需签名字段,即可在不更换密钥、不改变接口调用方式的情况下,迅速识别非法调用,继续为合法用户提供正常接口调用服务。
可选地,接口提供者还提供一种获取签名密钥的接口,所述接口调用方预先调该接口获取签名密钥;或者,也可以通过文件或其他方式,使接口调用方预先获得所述签名密钥,具体形式不限于本实施例举例。
例如,接口提供者提供一种获取签名密钥的接口:/api/apps/{app_key},app_key是接口提供者分发给每个需要访问接口的应用的唯一标识。
可选地,接口提供者还提供一种获取接口需签名字段的接口,所述接口调用方调用该接口获取应用需签名的签名字段;或者,也可以通过文件或其他方式,使接口调用方知晓需要签名的签名字段,具体形式不限于本实施例举例。接口提供方更新了自身需要校验的签名字段的配置后,所述接口调用方采用该接口或相关方案获知新的配置信息。
例如,提供接口/api/signatureFields/{api_id}用于获取某接口/API需要签名的签名字段,api_id为API的唯一标识。
实施例三
本发明实施例提供一种接口调用合法性校验装置40,如图4所示,包括,请求拦截模块401,设置为拦截接口调用请求;
签名字段获取模块402,设置为根据预设的至少一个签名字段,从所述接口调用请求中获取对应的字段值;
校验模块403,设置为根据预定格式拼接所获取的全部预设的签名字段各自所对应的字段值,得到待验证数据;根据所述接口调用请求中的签名数据,对所述待验证数据进行签名验证;如果验证通过,则允许执行所述接口调用请求。
可选地,所述接口调用请求为HTTP请求;
所述签名字段获取模块402根据预设的至少一个签名字段,从所述接口调用请求中获取对应的字段值,包括:
根据预设的每一个签名字段的参数类型,分别从所述HTTP请求的消息结构获取对应的字段值;
所述参数类型包括以下之一:请求头Header、请求参数Query、请求路径Path和请求体Body。
可选地,请求拦截模块401拦截接口调用请求,包括:通过过滤器拦截所述接口调用请求,获取HTTP请求数据。
可选地,其中,当签名字段的参数类型为Query时,所述签名字段获取模块402获取该签名字段对应的字段值,包括:以该签名字段为关键字,从所述HTTP请求的消息中的Query数据中取出对应的字段值;
当签名字段的参数类型为Header时,所述签名字段获取模块402获取该签名字段对应的字段值,包括:以该签名字段为关键字,从所述HTTP请求的消息中的Header数据中取出对应的字段值;
当签名字段的参数类型为Path时,所述签名字段获取模块402获取该签名字段对应的字段值,包括:根据预先配置的所述接口的通用接口地址和所述HTTP请求的实际请求地址,进行正则匹配,获取该签名字段对应的字段值;
当签名字段的参数类型为Body时,所述签名字段获取模块402获取该签名字段对应的字段值,包括:将所述HTTP请求的Body数据对应的json串序列化为map结构,遍历所述map结构,获取该签名字段对应的字段值。
可选地,所述校验模块403根据预定格式拼接所获取的全部预设的签名字段所各自对应的字段值,得到待验证数据,包括:
根据第一预定格式将所获取的全部预设的签名字段和各签名字段各自对应的字段值依次拼接,得到待验证数据;
或者,根据第二预定格式将所获取的全部预设的签名字段各自对应的字段值依次拼接,得到待验证数据。
可选地,所述校验模块403中根据所述接口调用请求中的签名数据,对所述待验证数据进行签名验证,包括:
采用哈希算法计算所述待所述待验证数据的哈希值,判断计算得到的哈希值与所述接口调用请求中的签名数据是否一致,如果一致,则签名验证成功;如果不一致,则签名验证失败。
可选地,采用其他算法对所述待验证数据进行签名,得到签名结果后与所述接口调用请求中的签名数据进行比较,如果一致,则签名验证成功;如果不一致,则签名验证失败。
本发明实施例提供一种存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一一种接口调用合法性校验的方法。
本发明实施例还提供一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行上述任一一种接口调用合法性校验的方法。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、***、装置中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些组件或所有组件可以被实施为由处理器,如数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。

Claims (10)

1.一种接口调用合法性校验方法,包括,
拦截接口调用请求;
根据预设的至少一个签名字段,从所述接口调用请求中获取对应的字段值;
根据预定格式拼接所获取的全部预设的签名字段各自所对应的字段值,得到待验证数据;
根据所述接口调用请求中的签名数据,对所述待验证数据进行签名验证;
如果验证通过,则允许执行所述接口调用请求。
2.根据权利要求1所述的方法,其中,
所述接口调用请求为HTTP请求;
所述根据预设的至少一个签名字段,从所述接口调用请求中获取对应的字段值,包括:
根据预设的每一个签名字段的参数类型,分别从所述HTTP请求的消息结构获取对应的字段值;
所述参数类型包括以下之一:请求头Header、请求参数Query、请求路径Path和请求体Body。
3.根据权利要求2所述的方法,其中,
所述拦截接口调用请求,包括:通过过滤器拦截所述接口调用请求,获取HTTP请求数据。
4.根据权利要求2所述的方法,其中,
当签名字段的参数类型为Query时,获取该签名字段对应的字段值,包括:以该签名字段为关键字,从所述HTTP请求的消息中的Query数据中取出对应的字段值;
当签名字段的参数类型为Header时,获取该签名字段对应的字段值,包括:以该签名字段为关键字,从所述HTTP请求的消息中的Header数据中取出对应的字段值;
当签名字段的参数类型为Path时,获取该签名字段对应的字段值,包括:根据预先配置的所述接口的通用接口地址和所述HTTP请求的实际请求地址,进行正则匹配,获取该签名字段对应的字段值;
当签名字段的参数类型为Body时,获取该签名字段对应的字段值,包括:将所述HTTP请求的Body数据对应的json串序列化为map结构,遍历所述map结构,获取该签名字段对应的字段值。
5.根据权利要求1-4任一项中所述的方法,其中,
所述根据预定格式拼接所获取的全部预设的签名字段所各自对应的字段值,得到待验证数据,包括:
根据第一预定格式将所获取的全部预设的签名字段和各签名字段各自对应的字段值依次拼接,得到待验证数据;
或者,根据第二预定格式将所获取的全部预设的签名字段各自对应的字段值依次拼接,得到待验证数据。
6.根据权利要求1-4任一项中所述的方法,其中,
所述根据所述接口调用请求中的签名数据,对所述待验证数据进行签名验证,包括:
采用哈希算法计算所述待所述待验证数据的哈希值,判断计算得到的哈希值与所述接口调用请求中的签名数据是否一致,如果一致,则签名验证成功;如果不一致,则签名验证失败。
7.一种接口调用合法性校验装置,其特征在于,包括,
请求拦截模块,设置为拦截接口调用请求;
签名字段获取模块,设置为根据预设的至少一个签名字段,从所述接口调用请求中获取对应的字段值;
校验模块,设置为根据预定格式拼接所获取的全部预设的签名字段各自所对应的字段值,得到待验证数据;根据所述接口调用请求中的签名数据,对所述待验证数据进行签名验证;如果验证通过,则允许执行所述接口调用请求。
8.根据权利要求7所述的装置,其特征在于,
所述接口调用请求为HTTP请求;
所述签名字段获取模块根据预设的至少一个签名字段,从所述接口调用请求中获取对应的字段值,包括:
根据预设的每一个签名字段的参数类型,分别从所述HTTP请求的消息结构获取对应的字段值;
所述参数类型包括以下之一:请求头Header、请求参数Query、请求路径Path和请求体Body。
9.一种计算机存储介质,其特征在于,所述计算机存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行所述权利要求1至6任一项中所述的方法。
10.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行所述权利要求1至6任一项中所述的方法。
CN202010391727.2A 2020-05-11 2020-05-11 一种接口调用合法性校验方法和装置 Pending CN111756544A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010391727.2A CN111756544A (zh) 2020-05-11 2020-05-11 一种接口调用合法性校验方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010391727.2A CN111756544A (zh) 2020-05-11 2020-05-11 一种接口调用合法性校验方法和装置

Publications (1)

Publication Number Publication Date
CN111756544A true CN111756544A (zh) 2020-10-09

Family

ID=72673772

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010391727.2A Pending CN111756544A (zh) 2020-05-11 2020-05-11 一种接口调用合法性校验方法和装置

Country Status (1)

Country Link
CN (1) CN111756544A (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112468478A (zh) * 2020-11-23 2021-03-09 杭州贝嘟科技有限公司 攻击拦截方法、装置、计算机设备和存储介质
CN112699398A (zh) * 2021-01-28 2021-04-23 厦门立林科技有限公司 一种安卓应用关键数据的保护装置、方法、设备及可存储介质
CN113114562A (zh) * 2021-03-04 2021-07-13 上海赛可出行科技服务有限公司 一种基于开放平台的参数可配置的网关设计方法
CN113179277A (zh) * 2021-05-07 2021-07-27 济南云拓互动传媒有限公司 一种隐藏于标准http明文消息头的校验方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030131250A1 (en) * 2001-12-28 2003-07-10 Quere Patrick Le A Module for secure management of digital date by encryption/decryption and/or signature/verification of signature which can be used for dedicated servers
CN108200146A (zh) * 2017-12-29 2018-06-22 华南理工大学 一种轻量级的微服务架构实现方法
CN108365961A (zh) * 2018-01-02 2018-08-03 深圳壹账通智能科技有限公司 接口调用方法及终端设备、接口调用的响应方法及服务器
CN109743163A (zh) * 2019-01-03 2019-05-10 优信拍(北京)信息科技有限公司 微服务架构中的权限认证方法、装置及***
CN110443072A (zh) * 2019-08-21 2019-11-12 苏州睿威博科技有限公司 数据签名方法、数据校验方法、装置及存储介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030131250A1 (en) * 2001-12-28 2003-07-10 Quere Patrick Le A Module for secure management of digital date by encryption/decryption and/or signature/verification of signature which can be used for dedicated servers
CN108200146A (zh) * 2017-12-29 2018-06-22 华南理工大学 一种轻量级的微服务架构实现方法
CN108365961A (zh) * 2018-01-02 2018-08-03 深圳壹账通智能科技有限公司 接口调用方法及终端设备、接口调用的响应方法及服务器
CN109743163A (zh) * 2019-01-03 2019-05-10 优信拍(北京)信息科技有限公司 微服务架构中的权限认证方法、装置及***
CN110443072A (zh) * 2019-08-21 2019-11-12 苏州睿威博科技有限公司 数据签名方法、数据校验方法、装置及存储介质

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112468478A (zh) * 2020-11-23 2021-03-09 杭州贝嘟科技有限公司 攻击拦截方法、装置、计算机设备和存储介质
CN112699398A (zh) * 2021-01-28 2021-04-23 厦门立林科技有限公司 一种安卓应用关键数据的保护装置、方法、设备及可存储介质
CN113114562A (zh) * 2021-03-04 2021-07-13 上海赛可出行科技服务有限公司 一种基于开放平台的参数可配置的网关设计方法
CN113179277A (zh) * 2021-05-07 2021-07-27 济南云拓互动传媒有限公司 一种隐藏于标准http明文消息头的校验方法

Similar Documents

Publication Publication Date Title
CN111756544A (zh) 一种接口调用合法性校验方法和装置
CN111213339B (zh) 带有客户端密钥的认证令牌
CN110336833B (zh) 基于区块链的图片内容共识方法、服务器
CN105934927B (zh) 针对跨安全边界的sdn api调用的动态过滤
CN107249004B (zh) 一种身份认证方法、装置及客户端
US7984479B2 (en) Policy-based security certificate filtering
CN111149106B (zh) 使用多个设备证书进行密钥认证的设备和方法
CN112788036B (zh) 身份验证方法及装置
US20170111322A1 (en) Detecting Application State Using a DNS-controlled Proxy
US20150312248A1 (en) Identity authentication
CN111666565A (zh) 沙箱仿真测试方法、装置、计算机设备和存储介质
US20200220725A1 (en) System and method for authenticating a caller of a telephonic call
CN110839004A (zh) 访问认证的方法和装置
CN113765906A (zh) 终端应用程序的一键登录的方法、设备及***
CN108418679B (zh) 一种多数据中心下处理密钥的方法、装置及电子设备
US20220021691A1 (en) Creation of generalized code templates to protect web application components
US11729192B2 (en) Malware detection using document object model inspection
CN116415227A (zh) 密钥更新方法、服务器、客户端及存储介质
CN114567678B (zh) 一种云安全服务的资源调用方法、装置及电子设备
CN113055186B (zh) 一种跨***的业务处理方法、装置及***
CN110995756B (zh) 调用服务的方法和装置
CN113709136A (zh) 一种访问请求验证方法和装置
CN108462713B (zh) 一种客户端进行可信验证的方法和***
CN113190812A (zh) 一种登录方法、***、电子设备及存储介质
US11658981B1 (en) Internet access management service server capable of providing internet access management service based on terminal grouping and operating method thereof

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