System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及计算机算法,尤其涉及一种基于时间的对称加密算法、系统及其存储介质。
技术介绍
1、网络安全事件的频发,导致信息安全长期受到人们的关注,相应的一系列保护信息安全的算法也应运而生。从最初的一些简单加密算法,如md5算法、hash算法等,一直到现在应用广泛且被认为安全级别比较高的加密算法,如aes加密算法、totp算法等,这些算法运用在手机app、web网站、机器设备等各种智能设备和智能终端。到目前为止,口令认证仍是身份认证最主要也是最重要的一道防线。
2、aes-gcm加密算法,如图1所示,在aes-ctr的基础上增加了gmac(galoismessageauthentication code-伽罗瓦消息验证码)的特性,解决了ctr不能对加密消息进行完整性校验的问题,也由此被广泛的运用在各种口令加密场景下,但是该算法虽然解决了对加密消息进行完整性校验的问题,但是追根溯源他仍然使用gct(计数器)模式加密口令,仍然存在如果计数器被重用,导致明文被泄密的风险。
3、totp算法是近几年比较热门的加密算法,如图2所示,该算法以时间戳作为口令加密的要素,采用一次一变的思想,增加了口令的安全性。但是该算法需要基于一个前提:认证双方的时间必须一致,或者仅有极小的误差(一般是30s以内),否则就会导致认证失败被锁定,进而引发认证侧拒绝服务的问题。在真实使用场景下,我们最多能做到要求认证双方在初始阶段时间强一致,但是由于双方的时钟同步策略因设备不同,也不可避免的出现时间不一致导致拒绝服务的问题。时钟同步策略由设
4、为了进一步提高系统的安全性,本申请在解决上述两种加密算法所存在的缺陷的基础上,提出了一种解决方案。
技术实现思路
1、专利技术目的:本专利技术的目的是提供一种基于时间的对称加密算法、系统及其存储介质,在aes-gcm加密算法的基础上引入一次一变的动态口令思想,增强口令加密安全性的同时,定义时间方向矢量a和定义单位时间容错率δβ的概念,解决totp算法中深恶痛绝的由于时间戳不一致,导致拒绝服务的问题。
2、技术方案:本专利技术所述的一种基于时间的对称加密算法,具体包括以下步骤:
3、s1:被认证侧输入初始向量iv、明文p和附件数据fc;
4、s2:被认证侧和认证侧在aes-gcm算法的基础上,引入一次一变的totp算法,使用时间戳代替计数器,同时在定义时间方向矢量a和定义单位时间容错率δβ后,对明文p进行加密,密钥为k,加密函数为ciph;
5、时间方向矢量a由认证侧记录并校验,时间方向矢量a默认为a=状态,当认证侧时间快于被认证侧时间时,时间方向矢量a为a+状态;当认证侧时间慢于被认证侧时间时,时间方向矢量a为a-状态;当第一次出现时间偏倚时,认证侧记录该矢量a,每次在校验密码的同时校验时间方向矢量a的方向;
6、单位时间容错率tc为密码认证时,被认证侧当前时间戳;ts是密码认证时,认证侧当前时间戳;tsb是上一次密码认证的时间戳;
7、s3:被认证侧将加密后的密文mh和mac发送至认证侧进行校验认证;
8、s4:认证侧接收到信息后,解密密文mh,获得明文p;
9、s5:认证侧获取当前系统时间ts,并进行校验;
10、s6:认证侧校验认证成功后,将单位时间容错率δβ发送给被认证侧,被认证侧接收并且记录单位时间容错率δβ。
11、作为优选,所述s2具体包括以下步骤:
12、s2.1:将明文p拆分为若干个分组p′1、p′2、…p′n,len(pi′)≤256,并且记录每个分组的时间戳t0、t1、t2…tn,其中t0<t1<t2<…<tn;
13、s2.2:被认证侧在加密口令前,纠正被认证侧的时间,以认证侧为准,令被认证侧纠正后的时间戳ti=ti′+δβ*(tc-tcb),ti′为被认证侧当前的时间戳,tcb是被认证侧上一次认证成功的时间戳;
14、s2.3:用纠正后的被认证侧时间来生成实时的明文分组pi,pi=pi′&&ti;
15、s2.4:密钥k生成密钥函数h,h=ciphk(0256);
16、s2.5:将初始向量iv和ti进行运算,得到iv_ti,用密钥k加密iv_ti,得到ivti,ivti=h(iv、ti),i∈[0,n];
17、s2.6:当i>1时,循环执行步骤2.6-2.8;
18、s2.7:ivti和pi做异或运算得到中间态密文wi,
19、s2.8:利用gmac算法对附加信息fc进行计算,获得mi,mi=mh(fc);
20、s2.9:对mi和wi进行异或运算得到mhi,
21、s2.10:拼接mhi…mhn,得到密文mh,以fcn和itv0为入参,最终计算出mac,
22、作为优选,所述s2.1中明文p拆分的若干个分组中,每个分组的长度均相同,为128bits、256bits或者512bits。
23、作为优选,所述s2.5中将初始向量iv和ti进行运算包括有进行连接、加和以及异或运算。
24、作为优选,所述s4中解密明文密码的解密过程与aes-gcm的算法解密过程相同。
25、作为优选,所述s5中校验的具体步骤为:
26、s5.1:认证侧当前时间戳ts和被认证侧发送至认证侧的被纠正后的时间戳ti的差值的绝对值大于误差范围最大值,即|ts-ti|>误差范围最大值,则认证失败,否则进入下一步;
27、s5.2:计算密码认证时,认证侧当前时间戳ts和被认证侧当前时间戳tc的实际时间方向矢量a′,将实际时间方向矢量a′与记录在认证侧中的时间方向矢量a的方向进行比较,不一致则认证失败,否则进入下一步;
28、s5.3:s4中解密后的明文与认证侧存储的明文比较,不一致则认证失败,否则进入下一步;
29、s5.4:认证侧计算并校验mac值,如果mac值不一致,则认证失败,否则进入下一步;
30、s5.5:认证侧计算tc为密码认证时,被认证侧当前时间戳,ts是密码认证时,认证侧当前时间戳;tsb是上一次密码认证的时间戳,并且更新tsb=ts。
31、有益效果:与现有技术相比,本专利技术具有如下显著优点:
32、本专利技术以aes-gcm算法以及totp算法为基石,在满足对口令完整性校验的同时,引入时间戳,避免计数器被重用引起的密码泄露的问题,增强口令的安全性,同时提出时间方向矢量a和定义单位时间容错率δβ,解决了totp算法中深恶痛绝的由于时间戳不一致,导致拒绝服务的问题。
本文档来自技高网...【技术保护点】
1.一种基于时间的对称加密算法,其特征在于:具体包括以下步骤:
2.根据权利要求1所述的一种基于时间的对称加密算法,其特征在于:所述S2具体包括以下步骤:
3.根据权利要求2所述的一种基于时间的对称加密算法,其特征在于:所述S2.1中明文P拆分的若干个分组中,每个分组的长度均相同,为128bits、256bits或者512bits。
4.根据权利要求2所述的一种基于时间的对称加密算法,其特征在于:所述S2.5中将初始向量IV和Ti进行运算包括有进行连接、加和以及异或运算。
5.根据权利要求1所述的一种基于时间的对称加密算法,其特征在于:所述S4中解密明文密码的解密过程与AES-GCM的算法解密过程相同。
6.根据权利要求1所述的一种基于时间的对称加密算法,其特征在于:所述S5中校验的具体步骤为:
7.一种振动信号展示和分析的系统,其特征在于:所述系统包括网络接口、存储器和处理器,其中:
8.一种计算机存储介质,其特征在于:所述计算机存储介质存储有一种基于时间的对称加密算法,所述一种基于时间的对称加
...【技术特征摘要】
1.一种基于时间的对称加密算法,其特征在于:具体包括以下步骤:
2.根据权利要求1所述的一种基于时间的对称加密算法,其特征在于:所述s2具体包括以下步骤:
3.根据权利要求2所述的一种基于时间的对称加密算法,其特征在于:所述s2.1中明文p拆分的若干个分组中,每个分组的长度均相同,为128bits、256bits或者512bits。
4.根据权利要求2所述的一种基于时间的对称加密算法,其特征在于:所述s2.5中将初始向量iv和ti进行运算包括有进行连接、加和以及异或运算。
5.根据权利要求...
【专利技术属性】
技术研发人员:鲁迁迁,黄海,罗致远,庄东曙,周凯,
申请(专利权)人:南京熊猫电子股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。