【技术实现步骤摘要】
一种保证令牌安全性的方法与系统
[0001]本专利技术涉及互联网应用
,特别涉及一种保证令牌安全性的方法与系统。
技术介绍
[0002]目前的BS架构(Browser/Server Architecture,即浏览器和服务器的结构模式)的web应用大多采用前后端分离技术,为了实现这个架构,一般采用token(令牌)的方式进行身份的识别,实现的思路是用户在进入web应用系统前做个身份认证,一般是在登录页面通过账号密码的方式进行登录,服务端收到登录请求进行用户验证,验证通过后生成一个token返回到前端,接下来在token的有效期内,浏览器跟服务端进行接口交互都会带上这个token进行用户身份的鉴别,服务端通过鉴别这个token来识别用户身份进行操作合法性的验证。
[0003]用token进行用户信息的认证具有一定的安全性,但是没有考虑token的泄露问题,由于token不是一次性消费的方式,一般是在用户登录后一定时间都是有效的,造成黑客可以通过网络劫持获取到token后,在token的有效期内就可以使用这个token伪造用户请求。以往为了避免网络劫持会采用https(超文本传输安全协议)的方式进行数据传输,但是这样的方式需要采购域名和SSL(Secure Sockets Layer,安全套接字协议)证书,并且得进行备案开放443端口,操作复杂、成本高,很多小型系统无法达到这个条件。
技术实现思路
[0004]本专利技术所要解决的技术问题是:提供一种保证令牌安全性的方法与系统,能够以更加简单 ...
【技术保护点】
【技术特征摘要】
1.一种保证令牌安全性的方法,其特征在于,包括步骤:S1、认证网关接收浏览器端的用户登录请求,对所述用户登录请求中的信息进行认证,若认证通过,则返回令牌和验证通过结果至浏览器端;S2、浏览器端在收到所述验证通过结果和令牌后,保存令牌,同时随机生成并保存一个数字校验码;S3、浏览器端生成包含所述令牌的数据请求,在所述数据请求中补入所述数字校验码后发送至认证网关,同时对本地存储的所述数字校验码进行变化处理;S4、认证网关接收所述数据请求,对所述令牌进行有效性校验,若所述有效性校验通过,则进入步骤S5;S5、认证网关判断本地是否存储有对应所述令牌的令牌校验码,若是,则根据所令牌校验码以及预设规则对所述数字校验码进行校验,若校验通过,则更新所述令牌校验码为所述数字校验码,并放行所述数据请求,否则存储所述数字校验码为所述令牌校验码并放行所述数据请求。2.根据权利要求1所述的一种保证令牌安全性的方法,其特征在于,所述步骤S3具体包括:S31、浏览器端生成包含所述令牌的数据请求,判断所述数字校验码是否处于锁定状态,若是,则等待数字校验解锁后进入步骤S32,否则直接进入步骤S32;S32、将所述数字校验码进行锁定之后,读取所述数字校验码,在所述数据请求中补入所述数字校验码,同时对本地存储的所述数字校验码进行变化处理;S33、向所述认证网关发送所述数据请求,并在所述数据请求发出后解锁所述数字校验码。3.根据权利要求2所述的一种保证令牌安全性的方法,其特征在于,所述认证网关存储有预设的私钥,所述浏览器端存储有预设的公钥,所述公钥与所述私钥对应;所述步骤S32具体为:将所述数字校验码进行锁定之后,读取所述数字校验码,使用所述公钥对所述数字校验码进行加密,得到加密校验码,在所述数据请求中补入所述数字校验码,同时对本地存储的所述数字校验码进行变化处理;所述步骤S4具体为:认证网关接收所述数据请求,对所述令牌进行有效性校验,仅在所述有效性校验通过后,使用所述私钥对所述数据请求中的所述加密校验码进行解密,得到所述数字校验码,并进入步骤S5。4.根据权利要求2所述的一种保证令牌安全性的方法,其特征在于,所述步骤S32具体为:将所述数字校验码进行锁定之后,读取所述数字校验码,在所述数据请求中补入所述数字校验码,同时对本地存储的所述数字校验码进行自增处理。5.根据权利要求4所述的一种保证令牌安全性的方法,其特征在于,所述步骤S5具体包括步骤:S51、认证网关判断本地是否存储有对应所述令牌的令牌校验码,若是,则计算所述令牌校验码与所述数字校验码的差值,进入步骤S52,否则存储所述数字校验码为所述令牌校
验码并放行所述数据请求;S52、判断所述差值是否小于预设的偏差阈值且不等于0,若是,则放行所述数据请求,否则对所述令牌进行失效处理,并返回错误信息。6.一种保证令牌安全性的系统,包括认证网关以及浏览器端,所述认证网关包括第一处理器、第一存储器以及存储在所述第一存储器中并可在所述第一处理器上运行的第一计算机程序,所述浏览器端包括第二处理器、第二存储器以及存储在所述第二存储器中并可在...
【专利技术属性】
技术研发人员:钟崇安,吴文海,王顺南,谢化宁,
申请(专利权)人:四创科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。