System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及it与软件开发,更具体地说,本专利技术涉及一种去中心化的重放攻击防护方法。
技术介绍
1、重放攻击是指用户的请求被截获后,攻击方使用用户已经发起的请求,原样请求服务端,如果服务端没有完善的防重放手段,那么就会重复处理请求,导致攻击方能非法获取用户的信息或重置用户资源等非法目的;
2、随着业务的发展,用户数也随之增长,客户的环境数据是不可信且不可控的;同时随着业务的进一步发展,为了保证用户的可用性,系统需要进行多点接入,尤其对于云终端的场景,用户的计算资源分布在全国不同的池,会有多个不同的接入点,不同的接入点完成必要的鉴权及相关校验后,会根据实际的业务形态再转发到不同的底层业务处理,此时防重放方案还需要能支持这种多接入点的场景;由于接入点可能分布在全国的不同地区,针对这种情况,防重放方式必须是去中心化的,无法要求每个请求都先去中心节点做认证;
3、现有授权公告号为cn102739659b的专利公开了一种防重放攻击的认证方法,既避免了系统或协议的复杂,又规避了时间同步导致的延迟;又有授权公告号为cn101340289b的专利公开了防重放攻击方法及其系统,通过在服务器端和智能密钥装置中设定相同的累计基数和累计单位,由所述服务器端判断当前累计值是否合理,来防止当前交易信息被重放;还有授权公告号为cn107835145b的专利公开了一种防重放攻击的方法及分布式系统,能够减轻工作服务器的运算量,同时不会影响正常业务;
4、然而上述技术以及现有技术均没有解决或高效解决多接入点时的去中心化放重放
5、鉴于此,本专利技术提出一种去中心化的重放攻击防护方法以解决上述问题。
技术实现思路
1、为了克服现有技术的上述缺陷,为实现上述目的,本专利技术提供如下技术方案:一种去中心化的重放攻击防护方法,包括:
2、步骤s1:用户在客户端通过合法手段登录,获取接入凭证;
3、步骤s2:客户端发起接入点标识请求,获取接入点标识;
4、步骤s3:客户端向服务端发起业务请求,并同时发送请求参数;
5、步骤s4:服务端接收业务请求,根据请求参数判断业务请求是否为重放请求,若不为重放请求,服务端对业务请求进行处理,并将业务数据返回客户端。
6、进一步地,接入凭证为认证用户身份信息的凭据;接入点标识为接入点的唯一标识。
7、进一步地,所述接入凭证的获取方法包括:
8、用户在客户端通过合法手段成功登录后,服务端会生成一个针对此用户的全局唯一接入凭证,并以安全的方式将此接入凭证返回给客户端。
9、进一步地,所述接入点标识的获取方法包括:
10、将即将请求的接入点标记为准备接入点;
11、用户在客户端发起接入点标识请求时,将优先从本地缓存获取准备接入点对应的接入点标识;若本地缓存未缓存有准备接入点对应的接入点标识,则客户端实时从服务端获取准备接入点对应的接入点标识,并将接入点标识进行本地缓存。
12、进一步地,所述请求参数中包括用户身份标识、接入点标识、请求i d、请求时间戳、客户端身份标识以及签名,所述签名为包含用户身份标识、接入点标识、请求i d、请求时间戳以及客户端身份标识的使用接入凭证以约定格式计算的签名。
13、进一步地,所述判断业务请求是否为重放请求的方法包括:
14、步骤s401:对接入点标识进行分析,判断是否生成第一拒绝指令;
15、步骤s402:若不生成第一拒绝指令,则服务端对签名进行验证,判断是否生成第二拒绝指令;
16、步骤s403:若不生成第二拒绝指令,则服务端根据用户身份标识和客户端身份标识查找代表用户请求记录的数据桶;
17、步骤s404:若数据桶不存在,则创建对应的数据桶,预设初始容量为r,数据桶中的数据类型为带优先级的队列;若数据桶存在,则查看数据桶容量,判断数据桶容量是否达到上限;
18、步骤s405:若数据桶容量已到达上限,则获取数据桶中排在队列最前面的请求id,并标记为队头id,将请求参数中的请求id与队头id进行对比,判断是否生成第三拒绝指令;若不生成第三拒绝指令或数据桶容量未达上限,则将请求参数中的请求id与队列中的请求id进行对比,判断是否生成第四拒绝指令;
19、步骤s406:若不生成第四拒绝指令,则将请求参数中的请求id放入数据桶中,若数据桶容量在放入请求参数中的请求id之前已经达到上限,则将队头id排除出队列;
20、步骤s407:若均不生成第一拒绝指令、第二拒绝指令、第三拒绝指令以及第四拒绝指令,则该业务请求不为重放请求;
21、若生成第一拒绝指令、第二拒绝指令、第三拒绝指令以及第四拒绝指令中任一个,则该业务请求为重放请求,服务端拒绝本次客户端的业务请求。
22、进一步地,所述步骤s401中,判断是否生成第一拒绝指令的方法包括:
23、若接入点标识与实际接入点对应的标识一致,则不生成第一拒绝指令;
24、若接入点标识与实际接入点对应的标识不一致,则生成第一拒绝指令。
25、进一步地,所述步骤s402中,步骤s402中,判断是否生成第二拒绝指令的方法包括:
26、服务端对签名进行验证;
27、若签名正确,则不生成第二拒绝指令;
28、若签名不正确,则生成第二拒绝指令。
29、进一步地,所述步骤s405中,判断是否生成第三拒绝指令的方法包括:
30、若请求参数中的请求id大于或等于对头id,则不生成第三拒绝指令;
31、若请求参数中的请求id小于对头id,则生成第三拒绝指令。
32、进一步地,所述判断是否生成第四拒绝指令的方法包括:
33、若数据桶中包含的请求id中存在请求id与请求参数中的请求i d不一致,则不生成第四拒绝指令;
34、若数据桶中包含的请求id中存在请求id与请求参数中的请求i d一致,则生成第四拒绝指令。
35、本专利技术一种去中心化的重放攻击防护方法的技术效果和优点:
36、1.支持在多个接入点的场景下有效地支持防重放攻击,并在实现上进行去中心化处理。
37、2.不根据客户端时间做任何判断,有效避免客户端时间不准确等情况带来的异常,同时能支持客户端的并发请求,通过设计有效的数据结构,使实现方案占用的存储空间有效降低,并且存储空间的占用可控,不会因大量恶意请求而导致存储空间膨胀,具有较强的实用性。
38、3.不需要每次业务请求都做额外的挑战请求认证,有效降低客户端和服务端的交互次数,从而降低接入的复杂度。
本文档来自技高网...【技术保护点】
1.一种去中心化的重放攻击防护方法,其特征在于,包括:
2.根据权利要求1所述的一种去中心化的重放攻击防护方法,其特征在于,所述接入凭证为认证用户身份信息的凭据;所述接入点标识为接入点的唯一标识。
3.根据权利要求2所述的一种去中心化的重放攻击防护方法,其特征在于,所述接入凭证的获取方法包括:
4.根据权利要求3所述的一种去中心化的重放攻击防护方法,其特征在于,所述接入点标识的获取方法包括:
5.根据权利要求4所述的一种去中心化的重放攻击防护方法,其特征在于,所述请求参数中包括用户身份标识、接入点标识、请求id、请求时间戳、客户端身份标识以及签名,所述签名为包含用户身份标识、接入点标识、请求id、请求时间戳以及客户端身份标识的使用接入凭证以约定格式计算的签名。
6.根据权利要求5所述的一种去中心化的重放攻击防护方法,其特征在于,所述判断业务请求是否为重放请求的方法包括:
7.根据权利要求6所述的一种去中心化的重放攻击防护方法,其特征在于,所述步骤S401中,判断是否生成第一拒绝指令的方法包括:
8
9.根据权利要求8所述的一种去中心化的重放攻击防护方法,其特征在于,所述步骤S405中,判断是否生成第三拒绝指令的方法包括:
10.根据权利要求9所述的一种去中心化的重放攻击防护方法,其特征在于,所述判断是否生成第四拒绝指令的方法包括:
...【技术特征摘要】
1.一种去中心化的重放攻击防护方法,其特征在于,包括:
2.根据权利要求1所述的一种去中心化的重放攻击防护方法,其特征在于,所述接入凭证为认证用户身份信息的凭据;所述接入点标识为接入点的唯一标识。
3.根据权利要求2所述的一种去中心化的重放攻击防护方法,其特征在于,所述接入凭证的获取方法包括:
4.根据权利要求3所述的一种去中心化的重放攻击防护方法,其特征在于,所述接入点标识的获取方法包括:
5.根据权利要求4所述的一种去中心化的重放攻击防护方法,其特征在于,所述请求参数中包括用户身份标识、接入点标识、请求id、请求时间戳、客户端身份标识以及签名,所述签名为包含用户身份标识、接入点标识、请求id、请求时间戳以及客户端身份标识的使用接入...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。