一种生成密码的方法和装置制造方法
【专利摘要】本发明公开一种生成密码的方法和装置,所述方法包括:获得特征字和固定密钥;对获得的特征字和固定密钥进行加密运算生成原始取用串;从原始取用串中选取字符,组成密码。所述方法能够解决应用中网络用户所用密码被泄露后,其他应用中所用密码被攻击破解的问题。
【专利说明】一种生成密码的方法和装置
【技术领域】
[0001]本发明涉及网络安全领域,特别涉及一种生成密码的方法和装置。
【背景技术】
[0002]在网络应用中许多应用面临拖库威胁,当后台用户密码库被盗取后,攻击者可以很容易取得用户身份凭证机密信息。
[0003]有些后台的用户密码库使用明文保存,可被攻击者直接利用;有些用户密码库使用简单的HASH (哈希)加密,对原始密码串进行md5 (消息摘要算法)或sha (安全散列算法)加密,但都面临被低成本破解的风险。
[0004]一般网络用户很少拥有大量不同的密码,大多只是在不同的网站或应用中,把密码串进行简单的变换,或直接使用相同的密码。当攻击者拥有几套网站的密码时,就可以对新的网站进行撞库攻击。即用已经获取的密码库,去碰撞匹配新网站应用,进而取得新目标用户的身份凭证。
【发明内容】
[0005]本发明提供的生成密码的方法和装置,能够解决应用中网络用户所用密码被泄露后,其他应用中所用密码被攻击破解的问题。
[0006]本发明公开了一种生成密码的方法,所述方法包括:
[0007]获得特征字和固定密钥;
[0008]对获得的特征字和固定密钥进行加密运算生成原始取用串;
[0009]从原始取用串中选取字符,组成密码。
[0010]较佳的,所述从原始取用串中选取字符具体包括:
[0011]将原始取用串在界面中显示;
[0012]依据操控器在界面中划过的轨迹从原始取用串中选取字符。
[0013]较佳的,所述获得特征字具体包括:
[0014]从使用所述密码的应用的关键字中选取字符,将选取的字符组成所述特征字。
[0015]较佳的,所述依据操控器在界面中划过的轨迹从原始取用串中选取字符具体包括:
[0016]依据鼠标在显示屏的界面中划过的轨迹从原始取用串中选取字符;
[0017]或者
[0018]依据触控笔在触摸屏的界面中划过的轨迹从原始取用串中选取字符。
[0019]较佳的,所述将原始取用串在界面中显示具体包括:
[0020]将原始取用串填入界面的表格中,所述表格具有设定规格,由方格组成。
[0021]其中,所述将原始取用串填入界面的表格中具体包括:
[0022]根据界面的表格的设定规格从原始取用串取出部分字符,
[0023]将取出的部分字符填入界面的表格中。[0024]较佳的,所述方法还包括:
[0025]定期从使用密码的应用的关键字中选取新的字符组成新的特征字,对新的特征字和固定密钥进行加密运算生成新的原始取用串;
[0026]从新的原始取用串中选取字符,组成新的密码。
[0027]其中,所述从新的原始取用串中选取字符具体包括:
[0028]按新的位置从新的原始取用串中选取字符;
[0029]或者,
[0030]所述组成新的密码具体包括:
[0031]将选取的字符按新的顺序组成新的密码。
[0032]较佳的,所述对获得的特征字和固定密钥进行加密运算生成原始取用串具体包括:
[0033]对获得的特征字和固定密钥进行哈希运算;
[0034]对哈希运算结果再次进行哈希运算,得出原始取用串。
[0035]本发明还公开了一种生成密码的装置,所述装置包括:
[0036]获取模块,用于获得特征字和固定密钥;
[0037]原始取用串生成模块,用于对获得的特征字和固定密钥进行加密运算生成原始取用串;
[0038]密码生成模块,用于从原始取用串中选取字符,组成密码。
[0039]本发明实施例的有益效果是:通过在计算密码时加入特征字,使得各个应用所用密码的相关性降低并增加密码复杂度,因而当某个应用所用密码泄漏后对其他应用所用密码的影响被消除,并且使得密码不易被破解;
[0040]进一步地,通过依据操控器在界面中划过的轨迹从原始取用串中选取字符,能够从原始取用串中随机选取字符,因而进一步降低各个应用所用密码的相关性;
[0041]进一步地,通过根据界面的表格的设定规格从原始取用串取出部分字符,将取出的部分字符填入界面的表格中,能够使用不同规格的表格进行原始取用串的显示,以适于在屏幕较小的终端中使用本发明;
[0042]进一步地,通过更新密码,增加密码被破解的难度。
【专利附图】
【附图说明】
[0043]图1为本发明的一种生成密码的方法的流程图;
[0044]图2为本发明的一种生成密码的方法实施例的流程图;
[0045]图3为本发明的实施例中用于选取字符的表格的显不不意图;
[0046]图4为本发明的实施例中填入字符的表格的示意图;
[0047]图5为本发明生成密码的装置的结构图。
【具体实施方式】
[0048]为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
[0049]参见图1,为本发明提供的一种生成密码的方法。[0050]所述方法包括如下步骤。
[0051]步骤S100,获得特征字和固定密钥。
[0052]步骤S200,对获得的特征字和固定密钥进行加密运算生成原始取用串。
[0053]步骤S300,从原始取用串中选取字符,组成密码。
[0054]其中,所述获得特征字包括:从使用所述密码的应用的关键字中选取字符,将选取的字符组成所述特征字。
[0055]从应用的关键字中选取字符包括多种方法,例如随机选取,或者按配置从关键字中选取某一部分作为特征字。
[0056]在一【具体实施方式】中,所述对特征字和固定密钥进行加密运算生成原始取用串具体包括:对特征字和固定密钥进行哈希运算;对哈希运算结果再次进行哈希运算,得出原始取用串。
[0057]哈希运算包括:消息摘要算法md5运算和安全散列算法sha运算。
[0058]例如,对特征字和固定密钥进行消息摘要算法md5运算;对md5运算结果进行安全散列算法sha运算,得出原始取用串。
[0059]从原始取用串中选取字符的具体实现包括多种方法,可以为从原始取用串的随机位置选取,也可以为从原始取用串的预设固定位置中选取。
[0060]在一较佳的实施方式中,所述从原始取用串中选取字符具体包括:将原始取用串在界面中显示;依据操控器在界面中划过的轨迹从原始取用串中选取字符。
[0061]其中,操控器为可以通过外部操作对终端运行进行控制的部件。例如鼠标、触控笔、手指等。
[0062]在一【具体实施方式】中,通过使用表格在界面中显示原始取用串。
[0063]所述将原始取用串在界面中显示具体包括:将原始取用串填入界面的表格中,所述表格具有设定规格,由方格组成。
[0064]其中,表格的规格可以与原始取用串的长度相关,即表格中方格数量与原始取用串的字符数量相接近。该种情况适用于显示装置较大的终端,例如计算机等。
[0065]表格的规格可以比原始取用串长度小,即表格中方格数量小于原始取用串的字符数量。该种情况适用于显示装置较小的终端,例如手机等。在表格的规格可以比原始取用串长度小的情况下,所述将原始取用串填入界面的表格中具体包括:依据表格的规格从原始取用串取出部分字符,将取出的部分字符填入界面的表格中。其中,取出的部分字符的数量等于表格中方格的数量。
[0066]在该【具体实施方式】中,每个方格中填入一个字符串。本发明不限于此,也可以一个方格中填入多个字符。
[0067]此外,依据操控器在界面中划过的轨迹从原始取用串中选取字符的具体实现可采用如下所述方式。其中,选取的字符的数量为设定数量。
[0068]在使用表格显示原始取用串的情况下,当操控器在界面中划过的轨迹经过表格中的方格时,该方格中所填的原始取用串的字符被显示,并且该字符被选取作为候选字符。如果轨迹经过方格的数量大于设定数量时,则依据配置规则从选取的候选字符中选取出所述设定数量的字符组成密码。配置的规则可以为多种,例如按选取顺序从前或从后在已选取的候选字符中选取设定数量的字符,组成密码。如果轨迹经过方格的数量小于设定数量时,则从原始取用串中未被选取的字符中选取字符,补足选取的字符到设定数量。
[0069]在一举例中,终端使用显示器,所述依据操控器在界面中划过的轨迹从原始取用串中选取设定数量的字符具体包括:依据鼠标在显示屏的界面中划过的轨迹从原始取用串中选取设定数量的字符。
[0070]在另一举例中,终端使用触摸屏,所述依据操控器在界面中划过的轨迹从原始取用串中选取设定数量的字符具体包括:依据触控笔在触摸屏的界面中划过的轨迹从原始取用串中选取设定数量的字符。
[0071]在一较佳的实施方式中,所述方法还包括:从使用密码的应用的关键字中选取新的字符组成新的特征字,对新的特征字和固定密钥进行加密运算生成新的原始取用串;从新的原始取用串中选取字符,组成新的密码。[0072]其中,所述从新的原始取用串中选取字符具体包括:按新的位置从新的原始取用串中选取字符。
[0073]其中,所述组成新的密码具体包括:将选取的字符按新的顺序组成新的密码。
[0074]其中,所述从使用密码的应用关键字中选取新的字符组成新的特征字,对新的特征字和固定密钥进行加密运算生成新的原始取用串具体包括:对于维护的多个应用中的每个应用,按照配置的新规则从所述应用的关键字中选取新的字符组成新的特征字,将该应用的新特征字和固定密钥进行加密运算生成该应用新的原始取用串。
[0075]采用该方法能够对维护的多个应用密码进行批量更新,提高整体效率。
[0076]本发明的实施例中密码生成的方法如图2所示。
[0077]在实施例中,按算法mypassword==取6-15任意个字符(sha(md5 (应用特征字+固定key)))生成密码。其中,mypassword为生成的密码,md5为消息摘要算法,sha为安全散列算法,本实施例中应用特征字为为网页地址url关键字。固定key为固定密钥。
[0078]步骤S201,获得特征字和固定密钥。
[0079]特征字和固定密钥可以是通过界面输入的,也可以是其他方式获得。本实施例中特征字为使用密码的网站url中的一部分。url为前述的应用的关键字。
[0080]比如新浪微博的密码,其特征字可为weibo。
[0081]该固定密钥可以为现有技术中的静态密码。
[0082]步骤S202,对特征字和固定密钥进行加密运算生成原始取用串。
[0083]原始取用串=(sha(md5 (此网站url的特征字+固定key)))=(sha(md5(weibo+crymypassw{&!+.f)))=7acbcl7900dleae7ffce77538ab5d86caal5bc4a45eaf3093b717bl4b8a9e97ac379c2d3f06357d2352f078902561eda74770e2d2c35530e4a60b8a3216ec04b
[0084]步骤S203,从原始取用串中选取设定数量的字符,组成密码。
[0085]本实施例中,从上面的原始串,取出任意6-15个字符,即为新浪微博的密码。取字符的位置和顺序,可任意。
[0086]在触摸屏中应用触控笔或在显示器中应用鼠标的动作路径选取字符。
[0087]应用表格选取字符,表格具有设定规格,由方格组成。
[0088]例如,如图3所示显示字符的表格,规格为9X9,坐标边框为序号1-9,横竖坐标边框所夹的空白方格中填入原始取用串中字符,一个方格中填写一个字符。[0089]从原始取用串中选取前81个字符填入表格,如图4所示。此处仅为举例,从原始取用串中选取填入表格中的字符的方式不限于此,只要能够将原始取用串中部分字符填入表格即可。
[0090]字符填入完成后,在表格中不显示字符,当触控笔在触摸屏划过或鼠标在显示屏划过时,划过轨迹经过的表格中的字符被显示,作为候选字符。
[0091]如果轨迹经过方格的数量大于设定数量时,则依据配置规则从选取的候选字符中选取出所述设定数量的字符组成密码。配置的规则可以为多种,例如按选取顺序从前或从后,或者随机地在已选取的候选字符中选取设定数量的字符,组成密码。如果轨迹经过方格的数量小于设定数量时,则从原始取用串中未被选取的字符中选取字符,补足选取的字符到设定数量。
[0092]通过上述方式从原始取用串中选取的字符组成密码供应用使用。
[0093]使用小屏幕手机时,上述横竖坐标边框可不显示,并将显示字符串的表格缩小,只显示要求内(比如原始取用串从X位置到Y位置的字符)的一定数量字符串,供选择之用。
[0094]另外,对于保密要求不高的网站或应用,将生成的密码保存起来,供需要时直接使用,以便减少生成密码的过程,提高效率。保存方式可使用本地加密,安全的远程存取,或移动证书保存等多种方式。
[0095]步骤S204,定期从使用密码的应用的关键字中选取新的字符组成新的特征字,对新的特征字和固定密钥进行加密运算生成新的原始取用串;从新的原始取用串中选取设定数量的字符,组成新的密码。
[0096]在本实施例中,经过增加特征字并多次HASH (哈希)运算后,使得生成的密码难以被逆向破解。再从128个字符中,任意位置和顺序取出6-15个字符,更将逆向破解的难度,提高到几无可能的地步。上面计算公式的“固定key”,即相当于传统方式下使用的静态密码。在整个计算过程中,由原来的静态不变的固定key密码,加入了特征库变化因子,位置变化因子,顺序变化因子,最终生成的密码串达到接近无限的可能性集合。在个人管理密码的过程中,只要3个变化因子和静态固定key不泄露,就能保障密码不会密码难以破解或泄露。
[0097]本发明的一种生成密码的装置如图5所示。
[0098]获取模块100,用于获得特征字和固定密钥;
[0099]原始取用串生成模块200,用于对特征字和固定密钥进行加密运算生成原始取用串;
[0100]密码生成模块300,用于从原始取用串中选取字符,组成密码。
[0101]在一较佳的实施方式中,所述获取模块在获得特征字时具体用于从使用所述密码的应用的关键字中选取字符,将选取的字符组成特征字。
[0102]在一较佳的实施方式中,所述原始取用串生成模块在对获得的特征字和固定密钥进行加密运算生成原始取用串时具体用于对特征字和固定密钥进行哈希运算;对哈希运算结果再次进行哈希运算,得出原始取用串。
[0103]其中,所述原始取用串生成模块在对特征字和固定密钥进行加密运算生成原始取用串时具体用于对特征字和固定密钥进行消息摘要算法md5运算;对md5运算结果进行安全散列算法sha运算,得出原始取用串。[0104]在一较佳的实施方式中,所述密码生成模块在从原始取用串中选取字符时具体用于将原始取用串在界面中显示;依据操控器在界面中划过的轨迹从原始取用串中选取字符。
[0105]其中,所述密码生成模块在依据操控器在界面中划过的轨迹从原始取用串中选取字符时具体用于:依据鼠标在显示屏的界面中划过的轨迹从原始取用串中选取字符;
[0106]或者
[0107]依据触控笔在触摸屏的界面中划过的轨迹从原始取用串中选取字符。
[0108]其中,所述密码生成模块在将原始取用串在界面中显示时具体用于将原始取用串填入界面的表格中,所述表格具有设定规格,由方格组成。
[0109]进一步地,所述密码生成模块在将原始取用串填入界面的表格中时具体用于根据界面的表格的设定规格从原始取用串取出部分字符,将取出的部分字符填入界面的表格中。
[0110]在一较佳的实施方式中,所述装置还包括:
[0111]更新模块,定期从使用密码的应用的关键字中选取新的字符组成新的特征字,对新的特征字和固定密钥进行加密运算生成新的原始取用串;从新的原始取用串中选取字符,组成新的密码。
[0112]其中,所述从新的原始取用串中选取字符具体包括:
[0113]按新的位置从新的原始取用串中选取字符。
[0114]其中,所述组成新的密码具体包括:将选取的字符按新的顺序组成新的密码。
[0115]以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
【权利要求】
1.一种生成密码的方法,其特征在于,所述方法包括: 获得特征字和固定密钥; 对获得的特征字和固定密钥进行加密运算生成原始取用串; 从原始取用串中选取字符,组成密码。
2.根据权利要求1所述的方法,其特征在于, 所述从原始取用串中选取字符具体包括: 将原始取用串在界面中显不; 依据操控器在界面中划过的轨迹从原始取用串中选取字符。
3.根据权利要求1所述的方法,其特征在于, 所述获得特征字具体包括: 从使用所述密码的应用的关键字中选取字符,将选取的字符组成所述特征字。
4.根据权利要求2所述的方法,其特征在于, 所述依据操控器在界面 中划过的轨迹从原始取用串中选取字符具体包括: 依据鼠标在显示屏的界面中划过的轨迹从原始取用串中选取字符; 或者 依据触控笔在触摸屏的界面中划过的轨迹从原始取用串中选取字符。
5.根据权利要求2所述的方法,其特征在于, 所述将原始取用串在界面中显示具体包括: 将原始取用串填入界面的表格中,所述表格具有设定规格,由方格组成。
6.根据权利要求5所述的方法,其特征在于, 所述将原始取用串填入界面的表格中具体包括: 根据界面的表格的设定规格从原始取用串取出部分字符, 将取出的部分字符填入界面的表格中。
7.根据权利要求3所述的方法,其特征在于, 所述方法还包括: 定期从使用密码的应用的关键字中选取新的字符组成新的特征字,对新的特征字和固定密钥进行加密运算生成新的原始取用串; 从新的原始取用串中选取字符,组成新的密码。
8.根据权利要求7所述的方法,其特征在于, 所述从新的原始取用串中选取字符具体包括: 按新的位置从新的原始取用串中选取字符; 或者, 所述组成新的密码具体包括: 将选取的字符按新的顺序组成新的密码。
9.根据权利要求1所述的方法,其特征在于, 所述对获得的特征字和固定密钥进行加密运算生成原始取用串具体包括: 对获得的特征字和固定密钥进行哈希运算; 对哈希运算结果再次进行哈希运算,得出原始取用串。
10.一种生成密码的装置,其特征在于,所述装置包括:获取模块,用于获得特征字和固定密钥; 原始取用串生成模块,用于对获得的特征字和固定密钥进行加密运算生成原始取用串; 密码生成模块,用于从`原始取用串中选取字符,组成密码。
【文档编号】H04L29/06GK103491062SQ201210195551
【公开日】2014年1月1日 申请日期:2012年6月13日 优先权日:2012年6月13日
【发明者】咸德玉 申请人:北京新媒传信科技有限公司