一种基于分布式口令技术的私钥安全存储方法

文档序号:7689225阅读:245来源:国知局
专利名称:一种基于分布式口令技术的私钥安全存储方法
技术领域
本发明涉及通信网络密码学领域中的一种基于分布式口令技术的 私钥安全存储方法,特别适合于通信网络中大规模用户通过标识进行 私钥映射,并对私钥进行安全存储的应用。
背景技术
安全的公钥密码系统,特别是将私钥存储在可信验证中心的公钥 密码系统,,要求必须采取强认证方式对私钥拥有者的身份进行验证。
目前,较成熟的身份认证方式主要有口令方式、智能卡方式和基于 密码技术的认证协议等。在私钥存储在可信验证中心公钥密码系统中, 口令方式和电子令牌方式是最常用的。
1. 口令方式该方式将私钥保存在磁盘上,基于简单的"用户名/ 口令"对用户身份进行验证,验证之后用户即获取私钥。实现过程较 为简单,但保密程度最低,极易遭到口令猜测攻击以及字典攻击;
2. 智能卡方式:该方式基于智能卡或电子令牌等设备的物理安全 性,可靠性高,是目前较流行的一种认证方式。实现成本高昂,存在 额外的盗窃,丢失等非技术性安全威胁;
3. 基于密码技术的认证协议用户与验证者按照一定的协议进行 多次信息交互,从而使得验证者相信用户确实知道某个秘密,进而确 认用户身份是合法的。实现中有多次信息交互,在用户群庞大时无法 应用;

发明内容
本发明所要解决的技术问题在于避免上述背景技术中的不足之处 而提供一种集合系统私钥隐藏,随机数伪装,口令分段存储,以及消 息摘要验证有机结合的基于分布式口令技术的私钥安全存储方法。本 发明采用CPK组合公钥方案映射算法,将字符长度不固定的用户标识
映射到固定长度的私钥,采用国际电气电子工程师协会IEEE P1363公 钥密码标准定义的密钥导出算法,导出用于加密解密用户私钥的密 钥,采用联邦信息处理规范FIPS-PUB-180-2标准中的SHA-256算法, 得到用以认证的私钥摘要值。应用本发明的产品具有获取私钥方便, 认证通信量小,认证效率高,安全强度高的特点。 本发明的目的是这样实现的,它包括下列步骤
① 采取公钥组合技术中的标识映射算法,将字符长度不固定的用 户标识映射到固定长度的私钥,不同用户标识的私钥相互不同;
② 使用随机数算法产生一个字符长度固定的随机口令串,字符长 度取160比特并分段,前80比特作为用户口令写入用户口令文件。 后80比特写入磁盘私钥文件;
③ 依据国际电气电子工程师协会IEEE P1363公钥密码标准,以160 比特随机口令串作为输入,使用密钥导出算法,导出用于加密用户私 钥的密钥,长度为192比特;
④ 使用高级加密标准AES加密算法,以第③步中导出的密钥作为 加密密钥,对用户私钥进行加密,得到的私钥加密值写入磁盘私钥文 件,对用户私钥进行消息摘要,消息摘要中的哈希函数选择为联邦信息处理规范FIPS-PUB-180-2标准中的SHA-256算法,输出256比特私
钥的摘要值写入磁盘私钥文件;
将用户口令文件中的口令通过安全渠道传给用户,用户使用口令 进行私钥安全存储的应用;
⑤ 用户输入80比特口令和用户标识到计算机,计算机读取磁盘私 钥文件中对应用户标识的80比特数据,组合成160比特串;
⑥ 依据国际电气电子工程师协会IEEE P1363公钥密码标准,对合 成的160比特串使用密钥导出算法,导出用于解密用户私钥的密钥;
⑦ 读取磁盘私钥文件中的私钥加密值,使用第⑥步中导出的解密 密钥进行解密,得到解密值;
⑧ 将解密值进行消息摘要,消息摘要中的哈希函数选择为联邦信 息处理规范FIPS-PUB-180-2标准中的SHA-256算法,得到解密值摘要, 从私钥文件中读出私钥的摘要值,若解密值摘要和私钥的摘要值相 等,则用户验证成功,若不相等则用户验证失败; 完成基于分布式口令技术的私钥安全存储。
本发明和背景技术比,具有如下优点
1.本发明与直接将私钥存储在磁盘上,仅通过口令控制访问的方 法相比,若存储私钥的系统被攻破,口令存储方式中的私钥将直接暴 露,本发明系统中只存储私钥的加密值和私钥的摘要值,无法由此计 算用户的私钥,相比本发明的安全等级更高。而且口令存储方式易受 字典攻击和口令猜测攻击,本发明采用分布式口令处理,加入加密处
理及摘要值验证,使字典攻击和口令猜测攻击的难度大大增强。虽本发明计算量比口令存储方式稍大,但是在PC上实现时运行时间相差 很小,可以忽略。
2. 本发明与智能卡方式存储私钥相比,智能卡系统实现时需要安
装读卡器或设计卡操作系统,造价较高,而且智能卡或电子令牌等易 丢失。本发明不用额外的外部设备,成本低廉,采用分布式口令存储, 安全程度不低于智能卡存储。
3. 本发明与基于密码技术的认证协议相比,本发明一次交互,更 适用于大型用户群系统。而且本发明不仅应用了密码技术认证协议存 储私钥的方法,可以达到与密码技术认证协议相同的安全等级。更融 合了口令分段存储,即使密码技术认证被攻破,还需要攻破外部口令 才能获取私钥。可以说本发明的安全等级更高,私钥更为安全。


图1是本发明基于分布式口令技术私钥安全存储方法私钥存储生 成实施例的原理工作流程图。
图2是本发明基于分布式口令技术私钥安全存储方法私钥存储应 用实施例的原理工作流程图。
其中图1中,l为随机数生成模块,2为分布式处理模块,3为密 钥导出模块,4为加密模块,5为标识映射模块,6为消息摘要模块。
其中图2中,7为组合模块,8为密钥导出模块,9为解密模块, 10为消息摘要模块,U为验证模块。
具体实施例方式
参照图1,图2,图1是本发明基于分布式口令技术私钥安全存储方法私钥存储生成实施例的原理工作流程图,它包括随机数生成
模块l,分布式处理模块2,密钥导出模块3,加密模块4,标识映射 模块5,消息摘要模块6。图2是本发明基于分布式口令技术私钥安 全存储方法私钥存储应用实施例的原理工作流程图,它包括组合模块 7,密钥导出模块8,解密模块9,消息摘要模块IO,验证模块ll。 本发明包括步骤:
① 采取公钥组合技术中的标识映射算法,将字符长度不固定的用 户标识映射到固定长度的私钥,不同用户标识的私钥相互不同。
实施例本发明使用用户标识映射算法把标识映射为私钥,此功能 由图1中标识映射模块5实现,其过程包括4步
a. 对标识的HASH运算
b. 行映射算法
c. 列置换算法
d. 组合密钥生成。
② 使用随机数算法产生一个字符长度固定的随机口令串,字符长 度取160比特并分段,前80比特作为用户口令写入用户口令文件。 后80比特写入磁盘私钥文件。
实施例本发明采用随机数算法,生成160比特随机串,此功能由 图1中随机数生成模块1实现。截取前80比特串作为口令传送到口 令文件,后80比特串传送到磁盘私钥文件,此功能由图l中分布式 处理模块2实现。③ 依据国际电气电子工程师协会IEEE P1363公钥密码标准,以160 比特随机口令串作为输入,使用密钥导出算法,导出用于加密用户私 钥的密钥,长度为192比特。
实施例本发明使用密钥导出算法把随机数串导出为加密密钥,此 功能由图1中密钥导出模块3实现。
本发明实现了国际电气电子工程师协会IEEE P1363公钥密码标准 的密钥导出函数KDF,将其作为密钥导出算法,其过程如下-
a. 检验数据是否超长,如果标识长度和密钥产生参数的长度和 超过了26'-',则报错退出。
b. 使用秘密选择的哈希函数计算哈希值,产生一个长度为192 比特字符串。
c. 192位比特字符串即为导出的加密密钥。
d. 组合密钥生成。
④ 使用高级加密标准AES加密算法,以第③步中导出的密钥作为 加密密钥,对用户私钥进行加密,得到的私钥加密值写入磁盘私钥文 件,对用户私钥进行消息摘要,消息摘要中的哈希函数选择为联邦信 息处理规范FIPS-PUB-180-2标准中的SHA-256算法,输出256比特私 钥的摘要值写入磁盘私钥文件。
实施例本发明使用高级加密标准AES加密算法对用户私钥使用加 密密钥进行加密,得到私钥的加密值,此功能由图1中加密模块4实 现。私钥的加密值存入磁盘私钥文件,与对应用户标识相应存放。对 用户私钥同时使用hash消息摘要得到私钥的摘要值,此功能由图1中消息摘要模块6实现。把私钥摘要值也存入磁盘私钥文件,与相应 用户标识对应存放。
本发明实现了密码反馈模式的192比特密钥的AES-192算法,作
为加密算法。
首先把消息分成128比特块,并把192比特密钥通过密钥扩展算 法扩展为12个128比特的轮密钥。之后开始12轮加密,其中每一轮 加密包括4种变换
a. 首先通过代换矩阵S-盒对明文块代换;
b. 然后使用行置换算法,使每行循环左移k-l位,k表示矩阵 第k行;
c. 之后进行列混淆,将每列乘以一个列混淆矩阵;
d. 最后再用轮密钥加密(与之异或),即得到一轮加密结果。 先将明文与轮密钥加密作为第零轮,最后一轮不再列混淆。对称
加密模式使用密码分组链接(CBC)模式,其中的初始向量取O。
对用户私钥进行hash消息摘要,hash函数选用FIPS-PUB 180-2中 的256比特标准hash函数。
用户私钥存储生成包括以上4个步骤,然后通过安全渠道把用户 口令文件中的口令传给用户。用户通过以下流程进行应用
⑤用户输入80比特口令和用户标识到计算机,计算机读取磁盘私 钥文件中对应用户标识的80比特数据,组合成160比特串。
实施例本发明由用户输入口令和标识,在从私钥文件中读去另一 部分口令,组合成原始口令,此功能由图2中组合模块7实现。若是合法用户,此口令为初始化时生成的160比特随机数。
⑥ 依据国际电气电子工程师协会IEEE P1363公钥密码标准,对合 成的160比特串使用密钥导出算法,导出用于解密用户私钥的密钥。
实施例本发明以组合口令为输入,通过密钥导出函数KDF导出加 密密钥,此功能由图2中密钥导出模块8实现。其过程和第③步一样。
⑦ 读取磁盘私钥文件中的私钥加密值,使用第⑥步中导出的解密 密钥进行解密,得到解密值。
实施例本发明导出输入用户标识对应用户的私钥加密值,使用导 出的加密密钥得到解密值,此功能由图2中解密模块9实现。
解密算法为高级加密标准AES-192,标准参数为密钥长度192比 特,加密分组长度为128比特,加密轮数为12轮。解密过程与加密 过程刚好相反,先进行第12轮密钥解密,然后每轮过程如下
a. 逆行置换。使每行循环右移k-l位,k表示矩阵第k行;
b. 用S盒进行逆代换。
c. 轮密钥解密。
d. 逆列混淆。
最后第0轮时不再逆列混淆,直接输出结果。此过程对应加密过 程,具体参考第④步。第0轮解出的值为解密值。
⑧ 将解密值进行消息摘要,消息摘要中的哈希函数选择为联邦信 息处理规范FIPS-PUB-180-2标准中的SHA-256算法,得到解密值摘要, 从私钥文件中读出私钥的摘要值,若解密值摘要和私钥的摘要值相 等,则用户验证成功,若不相等则用户验证失败。实施例本发明将第⑦步得到的解密值做一次摘要,得到解密值摘 要,此功能由图2中消息摘要模块10实现。再从私钥文件中导出输 入用户标识相对应系统私钥的哈希值。比较两个值是否相等,此功能 由图2中验证模块11实现。如果相等则用户口令验证成功,否则口 令验证失败,拒绝给予用户任何服务。
完成基于分布式口令技术的私钥安全存储。
权利要求
1. 一种基于分布式口令技术的私钥安全存储方法,其特性在于包括步骤①采取公钥组合技术中的标识映射算法,将字符长度不固定的用户标识映射到固定长度的私钥,不同用户标识的私钥相互不同;②使用随机数算法产生一个字符长度固定的随机口令串,字符长度取160比特并分段,前80比特作为用户口令写入用户口令文件。后80比特写入磁盘私钥文件;③依据国际电气电子工程师协会IEEE P1363公钥密码标准,以160比特随机口令串作为输入,使用密钥导出算法,导出用于加密用户私钥的密钥,长度为192比特;④使用高级加密标准AES加密算法,以第③步中导出的密钥作为加密密钥,对用户私钥进行加密,得到的私钥加密值写入磁盘私钥文件,对用户私钥进行消息摘要,消息摘要中的哈希函数选择为联邦信息处理规范FIPS-PUB-180-2标准中的SHA-256算法,输出256比特私钥的摘要值写入磁盘私钥文件;将用户口令文件中的口令通过安全渠道传给用户,用户使用口令进行私钥安全存储的应用;⑤用户输入80比特口令和用户标识到计算机,计算机读取磁盘私钥文件中对应用户标识的80比特数据,组合成160比特串;⑥依据国际电气电子工程师协会IEEE P1363公钥密码标准,对合成的160比特串使用密钥导出算法,导出用于解密用户私钥的密钥;⑦读取磁盘私钥文件中的私钥加密值,使用第⑥步中导出的解密密钥进行解密,得到解密值;⑧将解密值进行消息摘要,消息摘要中的哈希函数选择为联邦信息处理规范FIPS-PUB-180-2标准中的SHA-256算法,得到解密值摘要,从私钥文件中读出私钥的摘要值,若解密值摘要和私钥的摘要值相等,则用户验证成功,若不相等则用户验证失败;完成基于分布式口令技术的私钥安全存储。
全文摘要
本发明公开了一种基于分布式口令技术的私钥安全存储方法,它涉及通信网络密码学领域中的私钥保护及认证技术。本发明采用160比特高强度口令,设计了分布式口令存储的技术,引入了一个额外的对称密钥将私钥进行加密存储,在私钥生成阶段使用了组合私钥的抗碰撞映射技术,用消息摘要算法计算私钥摘要值作为认证对比以获得私钥的安全存储。本发明具有认证通信量小,认证效率高,用户使用方便,安全强度高等特点。特别适用于通信网络中大规模用户通过标识进行私钥映射,并对私钥进行安全存储的应用。
文档编号H04L9/28GK101447870SQ20081008021
公开日2009年6月3日 申请日期2008年12月25日 优先权日2008年12月25日
发明者于红增, 卢华斌, 霆 吕, 李大艳, 杨国瑞, 牛增新, 浩 王, 王俊芳, 王彦敏, 军 窦, 罗春雷, 卓 郝 申请人:中国电子科技集团公司第五十四研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1