一種生成密碼的方法和裝置制造方法
【專利摘要】本發(fā)明公開一種生成密碼的方法和裝置,所述方法包括:獲得特征字和固定密鑰;對(duì)獲得的特征字和固定密鑰進(jìn)行加密運(yùn)算生成原始取用串;從原始取用串中選取字符,組成密碼。所述方法能夠解決應(yīng)用中網(wǎng)絡(luò)用戶所用密碼被泄露后,其他應(yīng)用中所用密碼被攻擊破解的問題。
【專利說明】一種生成密碼的方法和裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及網(wǎng)絡(luò)安全領(lǐng)域,特別涉及一種生成密碼的方法和裝置。
【背景技術(shù)】
[0002]在網(wǎng)絡(luò)應(yīng)用中許多應(yīng)用面臨拖庫威脅,當(dāng)后臺(tái)用戶密碼庫被盜取后,攻擊者可以很容易取得用戶身份憑證機(jī)密信息。
[0003]有些后臺(tái)的用戶密碼庫使用明文保存,可被攻擊者直接利用;有些用戶密碼庫使用簡單的HASH (哈希)加密,對(duì)原始密碼串進(jìn)行md5 (消息摘要算法)或sha (安全散列算法)加密,但都面臨被低成本破解的風(fēng)險(xiǎn)。
[0004]一般網(wǎng)絡(luò)用戶很少擁有大量不同的密碼,大多只是在不同的網(wǎng)站或應(yīng)用中,把密碼串進(jìn)行簡單的變換,或直接使用相同的密碼。當(dāng)攻擊者擁有幾套網(wǎng)站的密碼時(shí),就可以對(duì)新的網(wǎng)站進(jìn)行撞庫攻擊。即用已經(jīng)獲取的密碼庫,去碰撞匹配新網(wǎng)站應(yīng)用,進(jìn)而取得新目標(biāo)用戶的身份憑證。
【發(fā)明內(nèi)容】
[0005]本發(fā)明提供的生成密碼的方法和裝置,能夠解決應(yīng)用中網(wǎng)絡(luò)用戶所用密碼被泄露后,其他應(yīng)用中所用密碼被攻擊破解的問題。
[0006]本發(fā)明公開了一種生成密碼的方法,所述方法包括:
[0007]獲得特征字和固定密鑰;
[0008]對(duì)獲得的特征字和固定密鑰進(jìn)行加密運(yùn)算生成原始取用串;
[0009]從原始取用串中選取字符,組成密碼。
[0010]較佳的,所述從原始取用串中選取字符具體包括:
[0011]將原始取用串在界面中顯示;
[0012]依據(jù)操控器在界面中劃過的軌跡從原始取用串中選取字符。
[0013]較佳的,所述獲得特征字具體包括:
[0014]從使用所述密碼的應(yīng)用的關(guān)鍵字中選取字符,將選取的字符組成所述特征字。
[0015]較佳的,所述依據(jù)操控器在界面中劃過的軌跡從原始取用串中選取字符具體包括:
[0016]依據(jù)鼠標(biāo)在顯示屏的界面中劃過的軌跡從原始取用串中選取字符;
[0017]或者
[0018]依據(jù)觸控筆在觸摸屏的界面中劃過的軌跡從原始取用串中選取字符。
[0019]較佳的,所述將原始取用串在界面中顯示具體包括:
[0020]將原始取用串填入界面的表格中,所述表格具有設(shè)定規(guī)格,由方格組成。
[0021]其中,所述將原始取用串填入界面的表格中具體包括:
[0022]根據(jù)界面的表格的設(shè)定規(guī)格從原始取用串取出部分字符,
[0023]將取出的部分字符填入界面的表格中。[0024]較佳的,所述方法還包括:
[0025]定期從使用密碼的應(yīng)用的關(guān)鍵字中選取新的字符組成新的特征字,對(duì)新的特征字和固定密鑰進(jìn)行加密運(yùn)算生成新的原始取用串;
[0026]從新的原始取用串中選取字符,組成新的密碼。
[0027]其中,所述從新的原始取用串中選取字符具體包括:
[0028]按新的位置從新的原始取用串中選取字符;
[0029]或者,
[0030]所述組成新的密碼具體包括:
[0031]將選取的字符按新的順序組成新的密碼。
[0032]較佳的,所述對(duì)獲得的特征字和固定密鑰進(jìn)行加密運(yùn)算生成原始取用串具體包括:
[0033]對(duì)獲得的特征字和固定密鑰進(jìn)行哈希運(yùn)算;
[0034]對(duì)哈希運(yùn)算結(jié)果再次進(jìn)行哈希運(yùn)算,得出原始取用串。
[0035]本發(fā)明還公開了一種生成密碼的裝置,所述裝置包括:
[0036]獲取模塊,用于獲得特征字和固定密鑰;
[0037]原始取用串生成模塊,用于對(duì)獲得的特征字和固定密鑰進(jìn)行加密運(yùn)算生成原始取用串;
[0038]密碼生成模塊,用于從原始取用串中選取字符,組成密碼。
[0039]本發(fā)明實(shí)施例的有益效果是:通過在計(jì)算密碼時(shí)加入特征字,使得各個(gè)應(yīng)用所用密碼的相關(guān)性降低并增加密碼復(fù)雜度,因而當(dāng)某個(gè)應(yīng)用所用密碼泄漏后對(duì)其他應(yīng)用所用密碼的影響被消除,并且使得密碼不易被破解;
[0040]進(jìn)一步地,通過依據(jù)操控器在界面中劃過的軌跡從原始取用串中選取字符,能夠從原始取用串中隨機(jī)選取字符,因而進(jìn)一步降低各個(gè)應(yīng)用所用密碼的相關(guān)性;
[0041]進(jìn)一步地,通過根據(jù)界面的表格的設(shè)定規(guī)格從原始取用串取出部分字符,將取出的部分字符填入界面的表格中,能夠使用不同規(guī)格的表格進(jìn)行原始取用串的顯示,以適于在屏幕較小的終端中使用本發(fā)明;
[0042]進(jìn)一步地,通過更新密碼,增加密碼被破解的難度。
【專利附圖】
【附圖說明】
[0043]圖1為本發(fā)明的一種生成密碼的方法的流程圖;
[0044]圖2為本發(fā)明的一種生成密碼的方法實(shí)施例的流程圖;
[0045]圖3為本發(fā)明的實(shí)施例中用于選取字符的表格的顯不不意圖;
[0046]圖4為本發(fā)明的實(shí)施例中填入字符的表格的示意圖;
[0047]圖5為本發(fā)明生成密碼的裝置的結(jié)構(gòu)圖。
【具體實(shí)施方式】
[0048]為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合附圖對(duì)本發(fā)明實(shí)施方式作進(jìn)一步地詳細(xì)描述。
[0049]參見圖1,為本發(fā)明提供的一種生成密碼的方法。[0050]所述方法包括如下步驟。
[0051]步驟S100,獲得特征字和固定密鑰。
[0052]步驟S200,對(duì)獲得的特征字和固定密鑰進(jìn)行加密運(yùn)算生成原始取用串。
[0053]步驟S300,從原始取用串中選取字符,組成密碼。
[0054]其中,所述獲得特征字包括:從使用所述密碼的應(yīng)用的關(guān)鍵字中選取字符,將選取的字符組成所述特征字。
[0055]從應(yīng)用的關(guān)鍵字中選取字符包括多種方法,例如隨機(jī)選取,或者按配置從關(guān)鍵字中選取某一部分作為特征字。
[0056]在一【具體實(shí)施方式】中,所述對(duì)特征字和固定密鑰進(jìn)行加密運(yùn)算生成原始取用串具體包括:對(duì)特征字和固定密鑰進(jìn)行哈希運(yùn)算;對(duì)哈希運(yùn)算結(jié)果再次進(jìn)行哈希運(yùn)算,得出原始取用串。
[0057]哈希運(yùn)算包括:消息摘要算法md5運(yùn)算和安全散列算法sha運(yùn)算。
[0058]例如,對(duì)特征字和固定密鑰進(jìn)行消息摘要算法md5運(yùn)算;對(duì)md5運(yùn)算結(jié)果進(jìn)行安全散列算法sha運(yùn)算,得出原始取用串。
[0059]從原始取用串中選取字符的具體實(shí)現(xiàn)包括多種方法,可以為從原始取用串的隨機(jī)位置選取,也可以為從原始取用串的預(yù)設(shè)固定位置中選取。
[0060]在一較佳的實(shí)施方式中,所述從原始取用串中選取字符具體包括:將原始取用串在界面中顯示;依據(jù)操控器在界面中劃過的軌跡從原始取用串中選取字符。
[0061]其中,操控器為可以通過外部操作對(duì)終端運(yùn)行進(jìn)行控制的部件。例如鼠標(biāo)、觸控筆、手指等。
[0062]在一【具體實(shí)施方式】中,通過使用表格在界面中顯示原始取用串。
[0063]所述將原始取用串在界面中顯示具體包括:將原始取用串填入界面的表格中,所述表格具有設(shè)定規(guī)格,由方格組成。
[0064]其中,表格的規(guī)格可以與原始取用串的長度相關(guān),即表格中方格數(shù)量與原始取用串的字符數(shù)量相接近。該種情況適用于顯示裝置較大的終端,例如計(jì)算機(jī)等。
[0065]表格的規(guī)格可以比原始取用串長度小,即表格中方格數(shù)量小于原始取用串的字符數(shù)量。該種情況適用于顯示裝置較小的終端,例如手機(jī)等。在表格的規(guī)格可以比原始取用串長度小的情況下,所述將原始取用串填入界面的表格中具體包括:依據(jù)表格的規(guī)格從原始取用串取出部分字符,將取出的部分字符填入界面的表格中。其中,取出的部分字符的數(shù)量等于表格中方格的數(shù)量。
[0066]在該【具體實(shí)施方式】中,每個(gè)方格中填入一個(gè)字符串。本發(fā)明不限于此,也可以一個(gè)方格中填入多個(gè)字符。
[0067]此外,依據(jù)操控器在界面中劃過的軌跡從原始取用串中選取字符的具體實(shí)現(xiàn)可采用如下所述方式。其中,選取的字符的數(shù)量為設(shè)定數(shù)量。
[0068]在使用表格顯示原始取用串的情況下,當(dāng)操控器在界面中劃過的軌跡經(jīng)過表格中的方格時(shí),該方格中所填的原始取用串的字符被顯示,并且該字符被選取作為候選字符。如果軌跡經(jīng)過方格的數(shù)量大于設(shè)定數(shù)量時(shí),則依據(jù)配置規(guī)則從選取的候選字符中選取出所述設(shè)定數(shù)量的字符組成密碼。配置的規(guī)則可以為多種,例如按選取順序從前或從后在已選取的候選字符中選取設(shè)定數(shù)量的字符,組成密碼。如果軌跡經(jīng)過方格的數(shù)量小于設(shè)定數(shù)量時(shí),則從原始取用串中未被選取的字符中選取字符,補(bǔ)足選取的字符到設(shè)定數(shù)量。
[0069]在一舉例中,終端使用顯示器,所述依據(jù)操控器在界面中劃過的軌跡從原始取用串中選取設(shè)定數(shù)量的字符具體包括:依據(jù)鼠標(biāo)在顯示屏的界面中劃過的軌跡從原始取用串中選取設(shè)定數(shù)量的字符。
[0070]在另一舉例中,終端使用觸摸屏,所述依據(jù)操控器在界面中劃過的軌跡從原始取用串中選取設(shè)定數(shù)量的字符具體包括:依據(jù)觸控筆在觸摸屏的界面中劃過的軌跡從原始取用串中選取設(shè)定數(shù)量的字符。
[0071]在一較佳的實(shí)施方式中,所述方法還包括:從使用密碼的應(yīng)用的關(guān)鍵字中選取新的字符組成新的特征字,對(duì)新的特征字和固定密鑰進(jìn)行加密運(yùn)算生成新的原始取用串;從新的原始取用串中選取字符,組成新的密碼。[0072]其中,所述從新的原始取用串中選取字符具體包括:按新的位置從新的原始取用串中選取字符。
[0073]其中,所述組成新的密碼具體包括:將選取的字符按新的順序組成新的密碼。
[0074]其中,所述從使用密碼的應(yīng)用關(guān)鍵字中選取新的字符組成新的特征字,對(duì)新的特征字和固定密鑰進(jìn)行加密運(yùn)算生成新的原始取用串具體包括:對(duì)于維護(hù)的多個(gè)應(yīng)用中的每個(gè)應(yīng)用,按照配置的新規(guī)則從所述應(yīng)用的關(guān)鍵字中選取新的字符組成新的特征字,將該應(yīng)用的新特征字和固定密鑰進(jìn)行加密運(yùn)算生成該應(yīng)用新的原始取用串。
[0075]采用該方法能夠?qū)S護(hù)的多個(gè)應(yīng)用密碼進(jìn)行批量更新,提高整體效率。
[0076]本發(fā)明的實(shí)施例中密碼生成的方法如圖2所示。
[0077]在實(shí)施例中,按算法mypassword==取6-15任意個(gè)字符(sha(md5 (應(yīng)用特征字+固定key)))生成密碼。其中,mypassword為生成的密碼,md5為消息摘要算法,sha為安全散列算法,本實(shí)施例中應(yīng)用特征字為為網(wǎng)頁地址url關(guān)鍵字。固定key為固定密鑰。
[0078]步驟S201,獲得特征字和固定密鑰。
[0079]特征字和固定密鑰可以是通過界面輸入的,也可以是其他方式獲得。本實(shí)施例中特征字為使用密碼的網(wǎng)站url中的一部分。url為前述的應(yīng)用的關(guān)鍵字。
[0080]比如新浪微博的密碼,其特征字可為weibo。
[0081]該固定密鑰可以為現(xiàn)有技術(shù)中的靜態(tài)密碼。
[0082]步驟S202,對(duì)特征字和固定密鑰進(jìn)行加密運(yùn)算生成原始取用串。
[0083]原始取用串=(sha(md5 (此網(wǎng)站url的特征字+固定key)))=(sha(md5(weibo+crymypassw{&!+.f)))=7acbcl7900dleae7ffce77538ab5d86caal5bc4a45eaf3093b717bl4b8a9e97ac379c2d3f06357d2352f078902561eda74770e2d2c35530e4a60b8a3216ec04b
[0084]步驟S203,從原始取用串中選取設(shè)定數(shù)量的字符,組成密碼。
[0085]本實(shí)施例中,從上面的原始串,取出任意6-15個(gè)字符,即為新浪微博的密碼。取字符的位置和順序,可任意。
[0086]在觸摸屏中應(yīng)用觸控筆或在顯示器中應(yīng)用鼠標(biāo)的動(dòng)作路徑選取字符。
[0087]應(yīng)用表格選取字符,表格具有設(shè)定規(guī)格,由方格組成。
[0088]例如,如圖3所示顯示字符的表格,規(guī)格為9X9,坐標(biāo)邊框?yàn)樾蛱?hào)1-9,橫豎坐標(biāo)邊框所夾的空白方格中填入原始取用串中字符,一個(gè)方格中填寫一個(gè)字符。[0089]從原始取用串中選取前81個(gè)字符填入表格,如圖4所示。此處僅為舉例,從原始取用串中選取填入表格中的字符的方式不限于此,只要能夠?qū)⒃既∮么胁糠肿址钊氡砀窦纯伞?br>
[0090]字符填入完成后,在表格中不顯示字符,當(dāng)觸控筆在觸摸屏劃過或鼠標(biāo)在顯示屏劃過時(shí),劃過軌跡經(jīng)過的表格中的字符被顯示,作為候選字符。
[0091]如果軌跡經(jīng)過方格的數(shù)量大于設(shè)定數(shù)量時(shí),則依據(jù)配置規(guī)則從選取的候選字符中選取出所述設(shè)定數(shù)量的字符組成密碼。配置的規(guī)則可以為多種,例如按選取順序從前或從后,或者隨機(jī)地在已選取的候選字符中選取設(shè)定數(shù)量的字符,組成密碼。如果軌跡經(jīng)過方格的數(shù)量小于設(shè)定數(shù)量時(shí),則從原始取用串中未被選取的字符中選取字符,補(bǔ)足選取的字符到設(shè)定數(shù)量。
[0092]通過上述方式從原始取用串中選取的字符組成密碼供應(yīng)用使用。
[0093]使用小屏幕手機(jī)時(shí),上述橫豎坐標(biāo)邊框可不顯示,并將顯示字符串的表格縮小,只顯示要求內(nèi)(比如原始取用串從X位置到Y(jié)位置的字符)的一定數(shù)量字符串,供選擇之用。
[0094]另外,對(duì)于保密要求不高的網(wǎng)站或應(yīng)用,將生成的密碼保存起來,供需要時(shí)直接使用,以便減少生成密碼的過程,提高效率。保存方式可使用本地加密,安全的遠(yuǎn)程存取,或移動(dòng)證書保存等多種方式。
[0095]步驟S204,定期從使用密碼的應(yīng)用的關(guān)鍵字中選取新的字符組成新的特征字,對(duì)新的特征字和固定密鑰進(jìn)行加密運(yùn)算生成新的原始取用串;從新的原始取用串中選取設(shè)定數(shù)量的字符,組成新的密碼。
[0096]在本實(shí)施例中,經(jīng)過增加特征字并多次HASH (哈希)運(yùn)算后,使得生成的密碼難以被逆向破解。再從128個(gè)字符中,任意位置和順序取出6-15個(gè)字符,更將逆向破解的難度,提高到幾無可能的地步。上面計(jì)算公式的“固定key”,即相當(dāng)于傳統(tǒng)方式下使用的靜態(tài)密碼。在整個(gè)計(jì)算過程中,由原來的靜態(tài)不變的固定key密碼,加入了特征庫變化因子,位置變化因子,順序變化因子,最終生成的密碼串達(dá)到接近無限的可能性集合。在個(gè)人管理密碼的過程中,只要3個(gè)變化因子和靜態(tài)固定key不泄露,就能保障密碼不會(huì)密碼難以破解或泄露。
[0097]本發(fā)明的一種生成密碼的裝置如圖5所示。
[0098]獲取模塊100,用于獲得特征字和固定密鑰;
[0099]原始取用串生成模塊200,用于對(duì)特征字和固定密鑰進(jìn)行加密運(yùn)算生成原始取用串;
[0100]密碼生成模塊300,用于從原始取用串中選取字符,組成密碼。
[0101]在一較佳的實(shí)施方式中,所述獲取模塊在獲得特征字時(shí)具體用于從使用所述密碼的應(yīng)用的關(guān)鍵字中選取字符,將選取的字符組成特征字。
[0102]在一較佳的實(shí)施方式中,所述原始取用串生成模塊在對(duì)獲得的特征字和固定密鑰進(jìn)行加密運(yùn)算生成原始取用串時(shí)具體用于對(duì)特征字和固定密鑰進(jìn)行哈希運(yùn)算;對(duì)哈希運(yùn)算結(jié)果再次進(jìn)行哈希運(yùn)算,得出原始取用串。
[0103]其中,所述原始取用串生成模塊在對(duì)特征字和固定密鑰進(jìn)行加密運(yùn)算生成原始取用串時(shí)具體用于對(duì)特征字和固定密鑰進(jìn)行消息摘要算法md5運(yùn)算;對(duì)md5運(yùn)算結(jié)果進(jìn)行安全散列算法sha運(yùn)算,得出原始取用串。[0104]在一較佳的實(shí)施方式中,所述密碼生成模塊在從原始取用串中選取字符時(shí)具體用于將原始取用串在界面中顯示;依據(jù)操控器在界面中劃過的軌跡從原始取用串中選取字符。
[0105]其中,所述密碼生成模塊在依據(jù)操控器在界面中劃過的軌跡從原始取用串中選取字符時(shí)具體用于:依據(jù)鼠標(biāo)在顯示屏的界面中劃過的軌跡從原始取用串中選取字符;
[0106]或者
[0107]依據(jù)觸控筆在觸摸屏的界面中劃過的軌跡從原始取用串中選取字符。
[0108]其中,所述密碼生成模塊在將原始取用串在界面中顯示時(shí)具體用于將原始取用串填入界面的表格中,所述表格具有設(shè)定規(guī)格,由方格組成。
[0109]進(jìn)一步地,所述密碼生成模塊在將原始取用串填入界面的表格中時(shí)具體用于根據(jù)界面的表格的設(shè)定規(guī)格從原始取用串取出部分字符,將取出的部分字符填入界面的表格中。
[0110]在一較佳的實(shí)施方式中,所述裝置還包括:
[0111]更新模塊,定期從使用密碼的應(yīng)用的關(guān)鍵字中選取新的字符組成新的特征字,對(duì)新的特征字和固定密鑰進(jìn)行加密運(yùn)算生成新的原始取用串;從新的原始取用串中選取字符,組成新的密碼。
[0112]其中,所述從新的原始取用串中選取字符具體包括:
[0113]按新的位置從新的原始取用串中選取字符。
[0114]其中,所述組成新的密碼具體包括:將選取的字符按新的順序組成新的密碼。
[0115]以上所述僅為本發(fā)明的較佳實(shí)施例而已,并非用于限定本發(fā)明的保護(hù)范圍。凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換、改進(jìn)等,均包含在本發(fā)明的保護(hù)范圍內(nèi)。
【權(quán)利要求】
1.一種生成密碼的方法,其特征在于,所述方法包括: 獲得特征字和固定密鑰; 對(duì)獲得的特征字和固定密鑰進(jìn)行加密運(yùn)算生成原始取用串; 從原始取用串中選取字符,組成密碼。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于, 所述從原始取用串中選取字符具體包括: 將原始取用串在界面中顯不; 依據(jù)操控器在界面中劃過的軌跡從原始取用串中選取字符。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于, 所述獲得特征字具體包括: 從使用所述密碼的應(yīng)用的關(guān)鍵字中選取字符,將選取的字符組成所述特征字。
4.根據(jù)權(quán)利要求2所述的方法,其特征在于, 所述依據(jù)操控器在界面 中劃過的軌跡從原始取用串中選取字符具體包括: 依據(jù)鼠標(biāo)在顯示屏的界面中劃過的軌跡從原始取用串中選取字符; 或者 依據(jù)觸控筆在觸摸屏的界面中劃過的軌跡從原始取用串中選取字符。
5.根據(jù)權(quán)利要求2所述的方法,其特征在于, 所述將原始取用串在界面中顯示具體包括: 將原始取用串填入界面的表格中,所述表格具有設(shè)定規(guī)格,由方格組成。
6.根據(jù)權(quán)利要求5所述的方法,其特征在于, 所述將原始取用串填入界面的表格中具體包括: 根據(jù)界面的表格的設(shè)定規(guī)格從原始取用串取出部分字符, 將取出的部分字符填入界面的表格中。
7.根據(jù)權(quán)利要求3所述的方法,其特征在于, 所述方法還包括: 定期從使用密碼的應(yīng)用的關(guān)鍵字中選取新的字符組成新的特征字,對(duì)新的特征字和固定密鑰進(jìn)行加密運(yùn)算生成新的原始取用串; 從新的原始取用串中選取字符,組成新的密碼。
8.根據(jù)權(quán)利要求7所述的方法,其特征在于, 所述從新的原始取用串中選取字符具體包括: 按新的位置從新的原始取用串中選取字符; 或者, 所述組成新的密碼具體包括: 將選取的字符按新的順序組成新的密碼。
9.根據(jù)權(quán)利要求1所述的方法,其特征在于, 所述對(duì)獲得的特征字和固定密鑰進(jìn)行加密運(yùn)算生成原始取用串具體包括: 對(duì)獲得的特征字和固定密鑰進(jìn)行哈希運(yùn)算; 對(duì)哈希運(yùn)算結(jié)果再次進(jìn)行哈希運(yùn)算,得出原始取用串。
10.一種生成密碼的裝置,其特征在于,所述裝置包括:獲取模塊,用于獲得特征字和固定密鑰; 原始取用串生成模塊,用于對(duì)獲得的特征字和固定密鑰進(jìn)行加密運(yùn)算生成原始取用串; 密碼生成模塊,用于從`原始取用串中選取字符,組成密碼。
【文檔編號(hào)】H04L29/06GK103491062SQ201210195551
【公開日】2014年1月1日 申請日期:2012年6月13日 優(yōu)先權(quán)日:2012年6月13日
【發(fā)明者】咸德玉 申請人:北京新媒傳信科技有限公司