一種密碼保存方法及裝置制造方法
【專利摘要】本發(fā)明公開了一種密碼保存方法,將根據(jù)用戶的明文密碼進行哈希Hash計算獲取的哈希密碼摘要值,拆分為N個部分,并利用隨機數(shù)分段保存進入N級對應(yīng)關(guān)系。本發(fā)明還公開了一種密碼保存裝置。采用本發(fā)明能夠防止黑客破解密碼。
【專利說明】一種密碼保存方法及裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及網(wǎng)絡(luò)通信【技術(shù)領(lǐng)域】,特別涉及一種密碼保存方法及裝置。
【背景技術(shù)】
[0002]圖1為用戶通過網(wǎng)絡(luò)設(shè)備接入網(wǎng)絡(luò)的示意圖。為了便于對網(wǎng)絡(luò)設(shè)備的維護和管理,需要對接入的用戶進行認(rèn)證。這就需要在網(wǎng)絡(luò)設(shè)備上或者遠(yuǎn)程服務(wù)器上保存用戶的密碼。為了避免用戶密碼對他人可見,從安全角度考慮,通常對密碼進行哈希(Hash)計算后存儲。用戶登錄認(rèn)證時,網(wǎng)絡(luò)設(shè)備會對用戶的明文密碼進行Hash計算,然后與本地保存的Hash值進行比較,若結(jié)果相同,則認(rèn)證通過,否則,認(rèn)證失敗。
[0003]這種通過Hash方式進行密碼保存的方法,在一定程度上可以保護用戶的密碼。但是在某些情況下:黑客侵入了系統(tǒng),或者通過其他的方式,獲取了用戶的Hash值,對Hash值進行破解,可以獲得用戶的原始密碼。
[0004]現(xiàn)有的用戶名及密碼在網(wǎng)絡(luò)設(shè)備或服務(wù)器上的保存方式多采用下面的方式,即用戶名和哈希密碼是一一對應(yīng)的關(guān)系,如表1所示。
[0005]
【權(quán)利要求】
1.一種密碼保存方法,所述密碼用于進行密碼認(rèn)證,其特征在于,該方法包括: 將根據(jù)用戶的明文密碼進行哈希Hash計算獲取的哈希密碼摘要值,拆分為N個部分,N為不小于2的整數(shù); 按前后位置順序?qū)⒐C艽a摘要值的前N-1部分,分別與一個隨機數(shù)進行拼綴,形成N-1個拼綴值; 將該用戶的用戶名作為變量與第一個拼綴值,建立第一級對應(yīng)關(guān)系并進行保存; 將第m-1級對應(yīng)關(guān)系中的變量和第m-Ι級對應(yīng)關(guān)系拼綴值中的隨機數(shù)進行哈希計算,得到第m級對應(yīng)關(guān)系中的變量,m為不大于N且不小于2的整數(shù); 如果N大于2,且m小于N且不小于2,則將第m級對應(yīng)關(guān)系中的變量與第m個拼綴值,建立第m級對應(yīng)關(guān)系并進行保存; 如果m等于N,則將第m級對應(yīng)關(guān)系中的變量與第m個部分的哈希密碼摘要值,建立第m級對應(yīng)關(guān)系并進行保存。
2.如權(quán)利要求1所述的方法,其特征在于,每個隨機數(shù)的數(shù)值互不相同。
3.如權(quán)利要求1所述的方法,其特征在于,每個隨機數(shù)的長度為固定值。
4.如權(quán)利要求1所述的方法,其特征在于,在建立第N級對應(yīng)關(guān)系并進行保存之后,該方法進一步包括:對密碼進行認(rèn)證; 所述對密碼進行認(rèn)證具體包括: 根據(jù)獲取的用戶名,查找第一級對應(yīng)關(guān)系,確定第一個拼綴值中的第一部分哈希密碼摘要值和隨機數(shù); 根據(jù)第m-Ι級對應(yīng)關(guān)系中的變量和第m-1級對應(yīng)關(guān)系拼綴值中的隨機數(shù)進行哈希計算得到的第m級對應(yīng)關(guān)系中的變量,查找第m級對應(yīng)關(guān)系; 如果N大于2,且m小于N且不小于2,則確定第m個拼綴值中的第m部分哈希密碼摘要值和隨機數(shù); 如果m等于N,則確定第m部分的哈希密碼摘要值; 根據(jù)獲取的用戶明文密碼進行哈希計算,確定所述獲取的用戶明文密碼的哈希密碼摘要值; 將N個部分的哈希密碼摘要值拼接起來,與所述獲取的用戶明文密碼的哈希密碼摘要值進行比較,如果結(jié)果相同,則認(rèn)證通過。
5.一種密碼保存裝置,所述密碼用于進行密碼認(rèn)證,其特征在于,該裝置包括: 拆分單元,用于將根據(jù)用戶的明文密碼進行哈希Hash計算獲取的哈希密碼摘要值,拆分為N個部分,N為不小于2的整數(shù); 拼綴單元,用于按前后位置順序?qū)⒐C艽a摘要值的前N-1部分,分別與一個隨機數(shù)進行拼綴,形成N-1個拼綴值; 對應(yīng)關(guān)系建立保存單元,用于將該用戶的用戶名作為變量與第一個拼綴值,建立第一級對應(yīng)關(guān)系并進行保存; 將第m-Ι級對應(yīng)關(guān)系中的變量和第m-Ι級對應(yīng)關(guān)系拼綴值中的隨機數(shù)進行哈希計算,得到第m級對應(yīng)關(guān)系中的變量,m為不大于N且不小于2的整數(shù); 如果N大于2,且m小于N且不小于2,則將第m級對應(yīng)關(guān)系中的變量與第m個拼綴值,建立第m級對應(yīng)關(guān)系并進行保存; 如果m等于N,則將第m級對應(yīng)關(guān)系中的變量與第m個部分的哈希密碼摘要值,建立第m級對應(yīng)關(guān)系并進行保存。
6.如權(quán)利要求5所述的裝置,其特征在于,該裝置進一步包括認(rèn)證單元,用于在建立第N級對應(yīng)關(guān)系并進行保存之后,對密碼進行認(rèn)證; 所述認(rèn)證單元包括: 對應(yīng)關(guān)系獲取子單元,用于根據(jù)獲取的用戶名,查找第一級對應(yīng)關(guān)系,確定第一個拼綴值中的第一部分哈希密碼摘要值和隨機數(shù); 根據(jù)第m-Ι級對應(yīng)關(guān)系中的變量和第m-1級對應(yīng)關(guān)系拼綴值中的隨機數(shù)進行哈希計算得到的第m級對應(yīng)關(guān)系中的變量,查找第m級對應(yīng)關(guān)系; 如果N大于2,且m小于N且不小于2,則確定第m個拼綴值中的第m部分哈希密碼摘要值和隨機數(shù); 如果m等于N,則確定第m部分的哈希密碼摘要值; 哈希密碼計算子單元,用于根據(jù)獲取的用戶明文密碼進行哈希計算,確定所述獲取的用戶明文密碼的哈希密碼摘要值; 比較認(rèn)證子單元,用于將N個部分的哈希密碼摘要值拼接起來,與所述獲取的用戶明文密碼的哈希密碼摘要值進行比較,如果結(jié)果相同,則認(rèn)證通過。
7.如權(quán)利要求5所述的裝置,其特征在于,所述裝置進一步包括隨機數(shù)生成單元,用于對應(yīng)用戶名隨機生成一個或者多個隨機數(shù),每個隨機數(shù)的長度為固定值。
【文檔編號】H04L9/32GK104135371SQ201410405084
【公開日】2014年11月5日 申請日期:2014年8月18日 優(yōu)先權(quán)日:2014年8月18日
【發(fā)明者】李永波 申請人:杭州華三通信技術(shù)有限公司