一种基于多种加密算法的密文口令校验方法技术

技术编号:19351737 阅读:33 留言:0更新日期:2018-11-07 17:21
本发明专利技术公开了一种基于多种加密算法的密文口令校验方法,包括客户端对明文口令进行哈希运算得到哈希值M,并利用客户端产生的随机数Rc和请求应用服务器产生的随机数Rs对哈希值M进行加密,得到加密数据E;客户端利用预置公钥Kp对所述随机数Rc进行加密,得到加密数据Erc;客户端将随机数Rs、加密数据E以及加密数据Erc经应用服务器发送至加解密模块进行解密,得到哈希值M;加解密模块对哈希值M再次进行哈希运算,得到密文口令并返回至应用服务器;应用服务器将所述密文口令与数据库中储存的密文口令进行对比,完成口令校验;本发明专利技术所保护的用户明文口令,仅在用户输入时短暂使用,安全性极高。

【技术实现步骤摘要】
一种基于多种加密算法的密文口令校验方法
本专利技术涉及计算机信息安全领域,具体涉及一种基于多种加密算法的密文口令校验方法。
技术介绍
随着互联网技术的迅猛发展,人们在使用各类信息系统时都会应用到账号协同口令的认证体系进行用户身份认证,然而用户口令被恶意窃取的事件经常发生(如携程、CSDN等)。因为很多用户都习惯性使用相同的口令,所以一次账户泄漏事件将导致一连串信息系统账户被盗事件的发生。因此在客户端、网络、数据库等层面如何保护用户明文密码成为信息安全领域的一个重要研究方向。信息系统的口令验证一般都是在服务器侧完成,根据服务器储存密码形式的不同,目前主要有以下方案:第一种为保存明文口令,客户端侧直接将用户输入的账号\口令以明文形式上传到服务器,服务器存储着账号和明文口令的对应关系表,当用户认证时,服务器将上传口令和存储口令两者进行比对,如一致则认证成功。该方法的问题在于明文口令可以在终端侧、传输网络中被轻易截获;明文口令直接存储在服务器中,如果服务器遭到黑客入侵,数据库很容易被拖走(俗称“拖库”),造成严重的信息泄露事件;黑客还可以利用获取到的账号和明文口令对应关系表,登录该用户使用相同账号和口令的其他信息系统。第二种为保存可逆加密口令,客户端侧对用户输入的明文口令进行加密,服务器存储账号和加密密码的对应关系表,但加密算法可逆,例如采用直接可逆的加密算法(如Base64算法)、明文保存加密密钥等情况。此方案和保存明文口令方案没有本质区别,如果服务器遭到黑客入侵,黑客找到加密密钥和加密算法,只要进行简单的逆向操作,就可以解密得到明文口令,造成严重的信息安全事故
技术实现思路
本专利技术的目的在于:提供一种基于多种加密算法的密文口令校验方法,解决了明文口令存在于信息系统各个使用环节,十分容易被窃取的问题。本专利技术采用的技术方案如下:一种基于多种加密算法的密文口令校验方法,包括以下步骤:步骤1:客户端对明文口令(PIN)进行哈希运算得到哈希值M,并利用客户端产生的随机数Rc和请求应用服务器产生的随机数Rs对哈希值M进行加密,得到加密数据E;步骤2:客户端利用预置公钥Kp对所述随机数Rc进行加密,得到加密数据Erc;步骤3:客户端将随机数Rs、加密数据E以及加密数据Erc经应用服务器发送至加解密模块进行解密,得到哈希值M;步骤4:加解密模块对哈希值M再次进行哈希运算,得到密文口令(PWD)并返回至应用服务器;步骤5:应用服务器将所述密文口令(PWD)与数据库中存储的密文口令进行对比,完成口令校验。进一步的,所述客户端为密码控件,具有防截屏、防键盘挂钩和数据加密功能。进一步的,所述步骤1中随机数Rc和的随机数Rs均为当前次校验有效。进一步的,所述步骤1中对哈希值M进行加密包括以下步骤:步骤101:客户端利用随机数Rc和随机数Rs生成密钥R;步骤102:利用所述密钥R对所述哈希值M进行对称算法加密,得到加密数据E,所述密钥R既为加密密钥也为解密密钥。进一步的,所述步骤2中,加密方式为利用非对称算法进行加密。进一步的,所述步骤3中,加解密模块的解密过程包括以下步骤:步骤301:利用所述预置公钥Kp对应的私钥Ks解密加密数据Erc,得到随机数Rc;步骤302:利用随机数Rc和Rs,生成密钥R;步骤303:利用所述密钥R解密加密数据E,得到哈希值M。综上所述,由于采用了上述技术方案,本专利技术的有益效果是:1.本专利技术所保护的用户明文口令,仅在用户输入时短暂使用,在网络、数据库、应用服务器等位置中均采用不可逆方式加密进行保护。能够有效防止用户密文口令被黑客所窃取后,还原出明文口令,同时能够防止拖库等攻击场景,安全性能极高。2.在客户端侧,当用户输入明文口令后,通过客户端(密码控件)对其进行防截屏、防键盘挂钩、数据加密等方式的保护,不存储用户明文口令,能有效防止黑客在终端侧获取明文口令。3.在客户端和服务器端之间的不可靠网络中,仅传输Rs、E、Erc,不传输用户明文口令、哈希值等信息,所以黑客难以通过网络窃听的方式破解出明文口令。4.在应用服务器和数据库中,均不直接存储用户明文口令或者可逆的口令信息,只存储用户标识和密文口令PWD,密文口令PWD采用两种不同强度的Hash算法加密,可以有效抵挡彩虹表等破解攻击,防止黑客窃取到用户明文口令。5.本专利技术在加密过程中,分别加入客户端产生和请求服务器产生的两个随机数,因此每次会话的Rc、Rs、R均不一样,有效增加黑客通过网络窃听破解哈希值M的难度。附图说明本专利技术将通过实施例并参照附图的方式说明,其中:图1是本专利技术的整体流程图。具体实施方式本说明书中公开的所有特征,或公开的所有方法或过程中的步骤,除了互相排斥的特征和/或步骤以外,均可以以任何方式组合。下面结合图1对本专利技术作详细说明。一种基于多种加密算法的密文口令校验方法,包括以下步骤:步骤1:客户端对明文口令(PIN)进行哈希运算得到哈希值M,并利用客户端产生的随机数Rc和请求应用服务器产生的随机数Rs对哈希值M进行加密,得到加密数据E;步骤2:客户端利用预置公钥Kp对所述随机数Rc进行加密,得到加密数据Erc;步骤3:客户端将随机数Rs、加密数据E以及加密数据Erc经应用服务器发送至加解密模块进行解密,得到哈希值M;步骤4:加解密模块对哈希值M再次进行哈希运算,得到密文口令(PWD)并返回至应用服务器;步骤5:应用服务器将所述密文口令(PWD)与数据库中的数据进行对比,完成口令校验。所述客户端为密码控件,具有防截屏、防键盘挂钩和数据加密功能。所述步骤1中随机数Rc和的随机数Rs均为当前次校验有效。所述步骤1中对哈希值M进行加密包括以下步骤:步骤101:客户端利用随机数Rc和随机数Rs生成密钥R;步骤102:利用所述密钥R对所述哈希值M进行对称算法加密,得到加密数据E,所述密钥R既为加密密钥也为解密密钥。所述步骤2中,加密方式为利用非对称算法进行加密。所述步骤3中,加解密模块的解密过程包括以下步骤:步骤301:利用所述预置公钥Kp对应的私钥Ks解密加密数据Erc,得到随机数Rc;步骤302:利用随机数Rc和Rs,生成密钥R;步骤303:利用所述密钥R解密加密数据E,得到哈希值M。本专利技术适用于允许不可逆加密验证的本单位信息系统账号口令校验场景(如本银行的网银登录密码),不适用于需提供给第三方信息系统明文口令才能完成校验的场景(如其他银行的网银支付密码)。具体实施方式1本专利技术包括以下具体步骤:步骤1:客户端采用密码控件形式,具备防截屏、防挂钩等特性,保证信息不在客户端侧被黑客窃取;客户端对明文口令(PIN)进行哈希运算得到哈希值M,本次哈希运算的算法为国产SM3。步骤2:客户端产生的随机数Rc,随机数Rc仅在本次会话内有效。步骤3:客户端请求应用服务器产生随机数Rs,随机数Rs仅在本次会话内有效。步骤4:客户端利用随机数Rc和随机数Rs生成密钥R,生成密钥的算法采用首位拼接、穿插拼接方法中的一种。步骤5:客户端利用密钥R对哈希值M进行加密,得到加密数据E,加密算法为对称加密算法,采用3DES、AES、SM4中的一种。步骤6:客户端利用客户端内部预置的公钥Kp对随机数Rc进行非对称算法加密,得到加密数据Erc;公钥Kp对应的解密密钥为Ks,使本文档来自技高网
...

【技术保护点】
1.一种基于多种加密算法的密文口令校验方法,其特征在于:包括以下步骤:步骤1:客户端对明文口令(PIN)进行哈希运算得到哈希值M,并利用客户端产生的随机数Rc和请求应用服务器产生的随机数Rs对哈希值M进行加密,得到加密数据E;步骤2:客户端利用预置公钥Kp对所述随机数Rc进行加密,得到加密数据Erc;步骤3:客户端将随机数Rs、加密数据E以及加密数据Erc经应用服务器发送至加解密模块进行解密,得到哈希值M;步骤4:加解密模块对哈希值M再次进行哈希运算,得到密文口令(PWD)并返回至应用服务器;步骤5:应用服务器将所述密文口令(PWD)与数据库中存储的密文口令进行对比,完成口令校验。

【技术特征摘要】
1.一种基于多种加密算法的密文口令校验方法,其特征在于:包括以下步骤:步骤1:客户端对明文口令(PIN)进行哈希运算得到哈希值M,并利用客户端产生的随机数Rc和请求应用服务器产生的随机数Rs对哈希值M进行加密,得到加密数据E;步骤2:客户端利用预置公钥Kp对所述随机数Rc进行加密,得到加密数据Erc;步骤3:客户端将随机数Rs、加密数据E以及加密数据Erc经应用服务器发送至加解密模块进行解密,得到哈希值M;步骤4:加解密模块对哈希值M再次进行哈希运算,得到密文口令(PWD)并返回至应用服务器;步骤5:应用服务器将所述密文口令(PWD)与数据库中存储的密文口令进行对比,完成口令校验。2.根据权利要求1所述的一种基于多种加密算法的密文口令校验方法,其特征在于:所述客户端为密码控件,具有防截屏、防键盘挂钩和数据加密功能。3.根据权利要求1所述的一种基于多种加密算法的密文口令校验方法...

【专利技术属性】
技术研发人员:杨凌潇雷涛杨嘉
申请(专利权)人:四川新网银行股份有限公司
类型:发明
国别省市:四川,51

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

1