【技术实现步骤摘要】
一种高扩展性密码加密存储方法
本专利技术属于计算机信息技术安全领域,具体地说,涉及一种高扩展性密码加密存储方法。
技术介绍
在信息化数字化的时代,信息安全越发显得重要,而现有的一些加密方法存在以下不足:在安全性方面:现有的一些密码加密的方案中,比较流行的一种做法是一个系统确定一种加密算法,然后对密码进行加盐加密得到密文,然后分别存储密文字段和盐值字段。这种方式有一个弊端是,密文和盐值通过数据库字段就被解析了,减小了被破解的成本,如果数据库数据泄露,不法分子可以通过尝试现有的加密算法通过暴力破解的方式来尝试破解系统所用的加密算法。这样在信息安全方面显得不那么安全。在可维护性方面:现有的流行的密码管理方式中,在一个系统确定了一种加密方式之后,如果要扩展支持新的加密算法,需要做许多兼容性的工作,需要对老的数据的验密做兼容处理,涉及到更改系统原有的代码。而密码模块又是系统比较核心的模块,更新维护的成本是很高的。并且在某些业务场景里,不同的客户对系统的加密算法有不同的要求,这种情况下,对系统进行改造的成本就更高了。故在可维护性上也有待提升。在可移植性方面:现有的流行的密码存储方式,在系统升级与数据迁移时,要保证新的系统和旧的系统密码加密算法必须保持一致,制约了新的系统使用新的加密算法的可能性。
技术实现思路
本专利技术针对现有技术在上述安全性、可维护性和可移植性上的不足,提出了一种高扩展性密码加密存储方法,通过配置不同的加密算法,且对各加密算法的盐值都进行一次盐值加密,然后设置编码规 ...
【技术保护点】
1.一种高扩展性密码加密存储方法,基于加密算法配置模块、加密盐值生成模块、密码加密模块、密码存储编码模块、密码校验模块,其特征在于,包括以下步骤:/n步骤1:首先获取加密算法配置模块生成的加密算法列表;所述加密算法列表包括多个加密算法,每一个所述加密算法都有唯一的编码code和对应的名称及类型;所述类型包括系统内置和用户添加;/n步骤2:在加密盐值生成模块生成一个32位长度的随机字符串,所述随机字符串为加密算法的盐值salt;然后通过aes算法对盐值salt进行对称加密,得到加密后的盐值aes_salt;/n步骤3:在密码加密模块获取用户设置的加密算法,判断是否需要使用盐值salt对用户的用户密码s通过加密算法进行加密,若判断为需要,则使用盐值salt通过加密算法对用户密码s进行加密得到用户密码s的密码密文clipertext;/n步骤4:在密码存储编码模块生成密码存储的编码规则列表,将用户密码s、加密后的密码密文clipertext和盐值salt进行位序编码保存;/n步骤5:通过密码校验模块对用户输入的用户名及密码的明文plaintext进行校验。/n
【技术特征摘要】
1.一种高扩展性密码加密存储方法,基于加密算法配置模块、加密盐值生成模块、密码加密模块、密码存储编码模块、密码校验模块,其特征在于,包括以下步骤:
步骤1:首先获取加密算法配置模块生成的加密算法列表;所述加密算法列表包括多个加密算法,每一个所述加密算法都有唯一的编码code和对应的名称及类型;所述类型包括系统内置和用户添加;
步骤2:在加密盐值生成模块生成一个32位长度的随机字符串,所述随机字符串为加密算法的盐值salt;然后通过aes算法对盐值salt进行对称加密,得到加密后的盐值aes_salt;
步骤3:在密码加密模块获取用户设置的加密算法,判断是否需要使用盐值salt对用户的用户密码s通过加密算法进行加密,若判断为需要,则使用盐值salt通过加密算法对用户密码s进行加密得到用户密码s的密码密文clipertext;
步骤4:在密码存储编码模块生成密码存储的编码规则列表,将用户密码s、加密后的密码密文clipertext和盐值salt进行位序编码保存;
步骤5:通过密码校验模块对用户输入的用户名及密码的明文plaintext进行校验。
2.如权利要求1所述的一种高扩展性密码加密存储方法,其特征在于,在所述步骤2和步骤5阶段设置密钥k,在步骤2阶段,使用aes加密函数结合密钥k将为明文的盐值salt加密生成加密后的盐值aes_salt;在步骤5阶段,通过aes解密函数结合密钥k对加密后的盐值aes_salt进行解密校验。
3.如权利要求2所述的一种高扩展性密码加密存储方法,其特征在于,所述编码规则列表中包括多个编码规则,每一种编码规则有一个唯一的id;
所述编码规则列表中的编码规则分为系统内置和用户添加。
4.如权利要求3所述的一种高扩展性密码加密存储方法,其特征在于,所述用户添加为:用户选择加密算法、加密后的盐值aes_salt、密码密文clipertext的排列顺序,在密码存储字段固定的某处索引index添加固定长度len的噪声因子noise。
5.如权利要求4所述的一种高扩展性密码加密存储方法,其特征在于,所述噪声因子noise长度小于64位。
6.如权利要求4所述的一种高扩展性密码加密存储方法,其特征在于,所述步骤5的具体操作为:
步骤5.1:获取用户输入的用户名和密码的明文plaintext;
步骤5.2:通过用户名对保存的用户密码s进行查询,若在系统中未查询到相应用户名或者用户密码s未通过盐值salt进行加密,则直接返回,验密失败;
步骤5.3:若在系统中查询到相应的用户名或者用户密码s通过盐值salt进行加密,则对保存的用户密码s进行解析,通过解析用户密码s的前两位数据,得到加密算法的编码规则的id;
步骤5.4:通过获得的编码规则的id获取编码规则...
【专利技术属性】
技术研发人员:陈志,范渊,吴永越,郑学新,刘韬,
申请(专利权)人:成都安恒信息技术有限公司,
类型:发明
国别省市:四川;51
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。