The invention discloses a method for support REST API anti tamper, anti replay comprises the following steps: step 1:API calls to end API server application access authorization and signature key steps; 2:API call end generation call timestamp, random number, request parameters to the dictionary sort order plus system request to sign with the head of the application key; step 3: the server to detect API caller identity, whether have the call permissions; step 4: use the same key on the server and system request parameter request header signature in accordance with the same rules, than the signature is the same, to prevent Parameter Tampering; step 5: the server to judge API call time stamp, to determine whether the timeout step 6: server; random number of re judging. The API caller of the invention only needs to keep the key strictly, and the attacker can not forge the signature, and can not tamper with the parameters in the request process, so as to achieve the goal of API security access.
【技术实现步骤摘要】
一种支持RESTAPI防篡改防重放的方法
本专利技术涉及互联网WEBAPI安全领域,具体涉及一种RESTAPI防篡改防重放的方法。
技术介绍
在软件行业快速发展的今天,传统的软件架构已经不能满足一个IT类的公司的发展,应用的架构会越来越趋于简单化,架构越来越倾向于分布式水平扩展,对外的服务提供也会越来越SaaS化。在这种大背景下,很多公司都开始对外提供API服务。由于REST的简洁、轻量特性迅速成为流行方案之一,因为REST是基于HTTP的,而REST服务有跟标准的web应用一样的容易受攻击的倾向,并且REST没有预定义的安全方法,必须依靠开发人员定义自己的安全方法来维护资源调用。因此,我们提供一种RESTAPI防篡改防重放的方法保证API的安全。
技术实现思路
本专利技术提供了一种RESTAPI防篡改防重放的方法,能够保护RESTAPI遭受到恶意攻击。本专利技术主要采用客户端密钥、调用时间戳、随机数、请求参数等以HMAC-SHA256算法进行加密签名来防止攻击者利用网络监听或者其他方式篡改API请求参数以及进行API重放攻击。本专利技术是这样实现的:一种支持RESTAPI防篡改防重放的方法,包括如下步骤:步骤1:API调用端向API服务端申请访问权限及签名密钥;步骤2:API调用端生成调用时间戳、随机数(保证唯一),请求参数以字典顺序排序加上系统请求头用申请的密钥对其进行签名;步骤3:服务端对API调用者身份进行检测,判断是否具备调用权限;如是,则进入步骤四;如否,则调用失败;步骤4:服务端使用相同密钥对请求参数及系统请求头按照相同规则进行签名,比对签名是否 ...
【技术保护点】
一种支持REST API防篡改防重放的方法,其特征在于包括如下步骤:步骤1:API调用端向API服务端申请访问权限及签名密钥;步骤2:API调用端生成调用时间戳、随机数,请求参数以字典顺序排序加上系统请求头用申请的密钥对其进行签名;步骤3:服务端对API调用者身份进行检测,判断是否具备调用权限;如是,则进入步骤四;如否,则调用失败;步骤4:服务端使用相同密钥对请求参数及系统请求头按照相同规则进行签名,比对签名是否一样,防止参数被篡改;如是,则进入步骤五;如否,则调用失败;步骤5:服务端对API调用时间戳进行判断,判断是否超时;如否,则进入步骤六;如是,则调用失败;步骤6:服务端对随机数进行判重,使用缓存机制,在有效时间内,随机数只能被使用一次,检查随机数是否被使用,防止重放攻击,如否,则调用成功,如是,则调用失败。
【技术特征摘要】
1.一种支持RESTAPI防篡改防重放的方法,其特征在于包括如下步骤:步骤1:API调用端向API服务端申请访问权限及签名密钥;步骤2:API调用端生成调用时间戳、随机数,请求参数以字典顺序排序加上系统请求头用申请的密钥对其进行签名;步骤3:服务端对API调用者身份进行检测,判断是否具备调用权限;如是,则进入步骤四;如否,则调用失败;步骤4:服务端使用相同密钥对请求参数及系统请求头按照相同规则进行签名,比对签名是否一样,防止参数被篡改;如是,则进入步骤五;如否,则调用失败;步骤5:服务端对API调用时间戳进行判断,判断是否超时;如否,则进入步骤六;如是,则调用失败;步骤6:服务端对随机数进行判重,使用缓存机制,在有效时间内,随机数只能被使用一次,检查随机数是否被使用,防止重放攻击,如否,则调用成功,如是,则调用失败。2.根据权利要求1所述支持RESTAPI防篡改防重放的方法,其特征在于:步骤1中,API调用端向API服务端申请访问权限及签名密钥,获得AppKey和AppSecret。3.根据权利要求2所述支持RESTAPI防篡改防重放的方法,其特征在于:所述AppKey用于标识API访问者身份,AppSecret是用于加密签名字符串和服务器端验证签名字符串的密钥。4.根据权利要求1...
【专利技术属性】
技术研发人员:白伟,谌烜,
申请(专利权)人:四川长虹电器股份有限公司,
类型:发明
国别省市:四川,51
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。