System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种基于数字摘要技术的用户身份安全认证的改进方法技术_技高网

一种基于数字摘要技术的用户身份安全认证的改进方法技术

技术编号:41309136 阅读:2 留言:0更新日期:2024-05-13 14:53
本发明专利技术公开一种基于数字摘要技术的用户身份安全认证的改进方法,其特征在于:包括步骤S1设置登录密码、步骤S2登录密码重置,所述步骤S1中利用改进的加密过程进行再次计算。如果通过,则执行步骤S3;步骤S3安全认证信息验证过程,即验证用户输入的认证信息是否和数据库存储的认证信息一致。本方法要进行多轮次数字摘要,加大破解难度,其中轮次的次数不是固定值,依赖于密码长度,加大了暴力破解表的构建计算量。

【技术实现步骤摘要】

本专利技术属于通讯领域,具体涉及一种基于数字摘要技术的用户身份安全认证的改进方法


技术介绍

1、数字摘要(digital digest)是将任意长度的消息变成固定长度的短消息,采用单向hash函数将需要加密的明文“摘要”成一串固定长度的密文。它的特点包括:对于给定的信息,计算散列值是很容易的;如果散列值不同,那么原消息也是不同的;散列函数运算过程式不可逆的;已知的散列值,要找到另一个消息其散列值与它相同,几乎是不肯能的;任意两个不同的消息,其散列值一定不同。

2、在信息化项目中,用户身份认证的一般过程是用户输入用户名、密码和动态验证码,通过https协议进行数据传输,在服务端利用数据库存储的用户信息进行比对,进行密码等信息验证。

3、对于用户的密码这一敏感信息,通常是通过一定的算法加密后保存至数据库,避免开发或运维直接从数据库查看到用户密码信息。随着网络安全事件的频发,有些数据库数据被泄露后,密码如果没有加密存储或者被轻易破解,造成的危害会很大。对于敏感信息存储必须通过加密来保障数据安全。

4、加密算法分为可逆算法和不可逆算法。可逆算法包括对称加密算法、非对称加密算法等;不可逆算法包括数字摘要算法等,例如:md5,sha,sm3等。

5、可逆算法,是指信息加密后,可以进行解密还原出明文。主要应用于需要解密出原始数据的场景,例如:身份证号、银行卡号等业务应用需要的信息。对称加密算法需要保管好对称密钥,非对称加密算法需要保管好私钥,避免发生密钥泄露的事件。同时对于加密后的数据,密钥是静态数据,如果密钥发生变化,需要同步更新所有的加密数据。

6、不可逆算法,主要应用于不需要解密出原始数据,只需要将两次加密后的内容作比较,验证两次数据是否一致的场景,例如:加密用户的登录密码、信息防篡改验证等。对于密码来说,我们只需存储密码的加密信息a1,当用户登录时,采用同样的加密算法计算用户输入的密码的加密信息a2,如果a1=a2,那么用户身份验证通过。风险来自于数字摘要算法会被黑客采用碰撞方法破解,主要包括暴力枚举法、字典法、彩虹表法等,并且网上也有碰撞库被出售。为了对抗这些风险,通过会通过在密码中加入盐值字符串的方式,进行安全性增强。另一方面,利用数字摘要技术的不可逆性,用户身份安全认证信息只基于用户的个人信息和用户输入信息进行构建,不需要加密密钥参与计算,减少了加密密钥的泄密风险,同时方便开展身份验证,这是数字摘要技术应用的优势。


技术实现思路

1、本专利技术为了克服现有技术,提供一种基于数字摘要技术的用户身份安全认证的改进方法,本发方法加密过程实现简便,只依赖于用户的输入信息和盐值,无需存储加密密钥。

2、本专利技术实现目的的技术方案如下:

3、一种基于数字摘要技术的用户身份安全认证的改进方法,其特征在于:包括步骤s1设置登录密码、步骤s2登录密码重置,所述步骤s1中利用改进的加密过程进行再次计算。如果通过,则执行步骤s3;步骤s3安全认证信息验证过程,即验证用户输入的认证信息是否和数据库存储的认证信息一致。

4、而且,所述步骤s1设置登录密码,执行如下步骤:

5、(1)用户设置密码p1,进行保存操作;

6、(2)接收设置的密码信息p1,并随机产生一个字符串作为盐值c1;

7、(3)接收到的用户名、密码p1和步骤(2)生成的盐值c1作为输入,利用改进的加密过程进行计算,得到结果ru1;

8、(4)将盐值c1和(3)的计算结果ru1,作为该用户的盐值、安全密码,存储到数据库中。

9、而且,所述步骤s2登录密码重置,执行如下步骤:

10、(1)用户重置密码p2,进行保存操作

11、(2)服务端接收重置的密码信息p2,并随机产生一个字符串作为盐值c2;

12、(3)服务端将接收到的用户名、密码和(2)生成的盐值c2作为输入,利用改进的加密过程(图4)进行计算,得到结果ru2;

13、(4)将盐值c2和(3)的ru2更新该用户数据库中的盐值、安全密码;

14、根据权利要求1所述的基于数字摘要技术的用户身份安全认证的改进方法,其特征在于:所述步骤s3安全认证信息验证过程,即验证用户输入的认证信息是否和数据库存储的认证信息一致;执行如下步骤:

15、(1)用户输入登录名a3,密码p3和随机验证码,进行登录操作

16、(2)服务端接收用户输入的a3、p3和随机验证码。随机验证码验证通过后,根据登录名从数据库查询该用户的盐值c、加密密码ru。

17、(3)服务端将接收到的a3、p3和查询到的盐值c作为输入,利用改进的加密过程(图4)计算,得到结果ru3。

18、(4)比较(3)的计算结果ru3与(2)的加密密码ru是否一致。如果一致,则认证通过;否则,认证失败。

19、而且,所述s1中(3)接收到的用户名、密码p1和步骤(2)生成的盐值c1作为输入,利用改进的加密过程进行计算中,改进的加密过程方法为:

20、①字符串s=用户名+密码p+随机盐值,利用散列算法(如sm3,sha-512等)进行加密计算,结果为r;

21、②取用户密码p的每个字节的数值p[0],p[1],p2]...p[n](n为密码的字节长,构建数组p[0..n]:设定j=0;

22、③对数组p[0.n]进行循环右移4位,即每个字节的二进制位向右移动4位,得到pe[0..n];那么pe[0..n]的高字节=p[n]的低字节,pe[0]的低字节=p[0]的低高字节,那么pe[1]的高字节=p[0]的低字节,pe[1]的低字节=p[1]的低高字节...那么pe[n]的高字节=p[n-1]的低字节,pe[n]的低字节=p[n]的低高字节,设定j=0;

23、④针对每个字节pe[i]进行数学不可逆函数运算,如采用数学正弦函数sin计算,即z1=sin(pe[i]);

24、⑤将z1进行放大10k倍,设定r2[i]=z1*10k的整数部分;将r2[i]转换为16进制数值字符串r3[i];i加1;判断是否i<n,如果是,返回执行步骤④,如果否,则继续向下执行步骤⑥;

25、⑥将r3[i]进行拼接为字符串rj,即rj=r3[1]+r3[2]+...+r3[n];

26、将rj和r进行字符串拼接,利用散列算法(如sm3,sha-512等)进行加密计算,结果为ruj:

27、⑦r=ruj,p[0..n]=pe[0..n],j加1;判断是否j<2n,如果是,返回执行步骤③,如果否,继续执行步骤⑧;

28、⑧将ru2n-1作为用户身份的加密密码特征进行存诸,结束。

29、与现有技术相比,本专利技术的有益效果在于:

30、1、本方法要进行多轮次数字摘要,加大破解难度,其中轮次的次数不是固定值,依赖于本文档来自技高网...

【技术保护点】

1.一种基于数字摘要技术的用户身份安全认证的改进方法,其特征在于:包括步骤S1设置登录密码、步骤S2登录密码重置,所述步骤S1中利用改进的加密过程进行再次计算。如果通过,则执行步骤S3;步骤S3安全认证信息验证过程,即验证用户输入的认证信息是否和数据库存储的认证信息一致。

2.根据权利要求1所述的基于数字摘要技术的用户身份安全认证的改进方法,其特征在于:所述步骤S1设置登录密码,执行如下步骤:

3.根据权利要求1所述的基于数字摘要技术的用户身份安全认证的改进方法,其特征在于:所述步骤S2登录密码重置,执行如下步骤:

4.根据权利要求1所述的基于数字摘要技术的用户身份安全认证的改进方法,其特征在于:所述步骤S3安全认证信息验证过程,即验证用户输入的认证信息是否和数据库存储的认证信息一致;执行如下步骤:

5.根据权利要求1所述的基于数字摘要技术的用户身份安全认证的改进方法,其特征在于:所述S1中(3)接收到的用户名、密码P1和步骤(2)生成的盐值C1作为输入,利用改进的加密过程进行计算中,改进的加密过程方法为:

【技术特征摘要】

1.一种基于数字摘要技术的用户身份安全认证的改进方法,其特征在于:包括步骤s1设置登录密码、步骤s2登录密码重置,所述步骤s1中利用改进的加密过程进行再次计算。如果通过,则执行步骤s3;步骤s3安全认证信息验证过程,即验证用户输入的认证信息是否和数据库存储的认证信息一致。

2.根据权利要求1所述的基于数字摘要技术的用户身份安全认证的改进方法,其特征在于:所述步骤s1设置登录密码,执行如下步骤:

3.根据权利要求1所述的基于数字摘要技术的用户身份安全认证的改...

【专利技术属性】
技术研发人员:杨俊伟陈振兴赵磊张海涛朱传晶杨少春
申请(专利权)人:天津市普迅电力信息技术有限公司
类型:发明
国别省市:

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

1