【技术实现步骤摘要】
一种防止请求报文被篡改攻击重放的web接口设计方法
本专利技术涉及请求报文相关
,尤其是指一种防止请求报文被篡改攻击重放的web接口设计方法。
技术介绍
现有技术的技术方案如下:(1)一种防御跨站请求伪造CSRF攻击的方法、系统和装置,该方法通常是向登录用户发送一个包含token的cookie,再根据请求的cookie中解析出token值,进行对比。该技术需要存放token的Cookie必须是httponly模式,否则前端js可以窃取。其次该技术token值需要采用加密算法,且加密算法变量中需要时间戳,这样token才能变化,否则会被手动记录存储。该技术没有体现如何防止Cookie被篡改。(2)一种支持RESTAPI防篡改防重放的方法,该方法针对的是有权访问(非匿名API,或者已经登录的用户)的用户,经过系列对比与运算后进行判断请求报文格式是否被篡改,最重要的一点是调用端与服务端约定了一个不能泄漏的key。该现有技术如果调用方客户端是浏览器,那么就会有匿名API访问场景存在,但是匿名API一样需要防止请 ...
【技术保护点】
1.一种防止请求报文被篡改攻击重放的web接口设计方法,其特征是,具体包括如下步骤:/n(1)服务端结合特定信息构造Token,若调用方也是服务端则提前发放;若是浏览器客户端,则返回csrfToken;/n(2)约定公开的参数签名算法,约定签名算法公共参数:nonceStr、openid、timestamp、token;再约定一个抽象的业务参数:playload,它指代所有业务参数的集合;发起API请求;/n(3)根据请求中的公共参数与playload校验请求合法性,校验流程优先级遵循:参数校验最先,简单或复杂运算其次,查询缓存延后。/n
【技术特征摘要】
1.一种防止请求报文被篡改攻击重放的web接口设计方法,其特征是,具体包括如下步骤:
(1)服务端结合特定信息构造Token,若调用方也是服务端则提前发放;若是浏览器客户端,则返回csrfToken;
(2)约定公开的参数签名算法,约定签名算法公共参数:nonceStr、openid、timestamp、token;再约定一个抽象的业务参数:playload,它指代所有业务参数的集合;发起API请求;
(3)根据请求中的公共参数与playload校验请求合法性,校验流程优先级遵循:参数校验最先,简单或复杂运算其次,查询缓存延后。
2.根据权利要求1所述的一种防止请求报文被篡改攻击重放的web接口设计方法,其特征是,在步骤(1)中,若调用方也是服务端则提前发放:Token=uuidNamespace(AppID)。
3.根据权利要求1或2所述的一种防止请求报文被篡改攻击重放的web接口设计方法,其特征是,在步骤(1)中,若是浏览器客户端,则返回csrfToken,先约定相关特定参数:
requestInfo=remoteIP+URLpath+UserAgent
RandomStr=createNonceStr(timestamp)
其中requestInfo是由请求信息中的相关特殊值remoteIP、URLpath构成,RandomStr是一个固定位数的随机字符串;
那么在匿名接口请求场景中:
csrfToken=RandomStr+HASH(requestInfo+RandomStr+secret)
登录用户的接口请求场景中:
csrfToken=RandomStr+HASH(accessToken+requestInfo+RandomStr+secret)上述HASH算法与secret是服务端自定义的,浏览器客户端并不知道;最后csrfToken通过请求响应到页面。
4.根据权利要求3所述的一种防止请求报文被篡改攻击重放的web接口设计方法,其特征是,csrfToken生成后存储在服务端且设置过期时间。
5.根据权利要求3所述的一种防止请求报文被篡改攻击重放的web接口设计方法,其特征是,在步骤(2)中,若是浏览器匿名请求,那么openid=csrfToken;若是浏览器登录用户请求,则openid等于OAuth2.0调用方服务中的用户识别码openid拼接上约定的分割字符splitStr再拼接上csrfToken,即:openid=openid+splitStr+csrfToken;若调用方也是服务端则openid=AppID。
6.根据权利要求5所述的一种防止请求报文被篡改攻击重放的web接口设计方法,其特征是,在步骤(2)中,针对抽象参数playload:
playload=publicParamFilt...
【专利技术属性】
技术研发人员:高海,顾湘余,陈峰,
申请(专利权)人:杭州趣维科技有限公司,
类型:发明
国别省市:浙江;33
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。