System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种基于时间的对称加密算法、系统及其存储介质技术方案_技高网

一种基于时间的对称加密算法、系统及其存储介质技术方案

技术编号:43963380 阅读:2 留言:0更新日期:2025-01-07 21:48
本发明专利技术公开了一种基于时间的对称加密算法、系统及其存储介质,本发明专利技术在AES‑GCM加密算法的基础上结合TOTP算法,使用时间戳代替计数器,避免计数器被重用引起的密码泄露的问题,增强口令的安全性;同时定义时间方向矢量A定义单位时间容错率Δβ的概念,解决TOTP算法中深恶痛绝的由于时间戳不一致,导致拒绝服务的问题。

【技术实现步骤摘要】

本专利技术涉及计算机算法,尤其涉及一种基于时间的对称加密算法、系统及其存储介质


技术介绍

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-6中任一项所述的一种基于时间的对称加密算法。

...

【技术特征摘要】

1.一种基于时间的对称加密算法,其特征在于:具体包括以下步骤:

2.根据权利要求1所述的一种基于时间的对称加密算法,其特征在于:所述s2具体包括以下步骤:

3.根据权利要求2所述的一种基于时间的对称加密算法,其特征在于:所述s2.1中明文p拆分的若干个分组中,每个分组的长度均相同,为128bits、256bits或者512bits。

4.根据权利要求2所述的一种基于时间的对称加密算法,其特征在于:所述s2.5中将初始向量iv和ti进行运算包括有进行连接、加和以及异或运算。

5.根据权利要求...

【专利技术属性】
技术研发人员:鲁迁迁黄海罗致远庄东曙周凯
申请(专利权)人:南京熊猫电子股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1