本發(fā)明實(shí)施例涉及通信技術(shù)領(lǐng)域,尤其涉及一種密鑰保護(hù)方法及裝置。
背景技術(shù):
公鑰(publickey)與私鑰(privatekey)是通過(guò)一種算法得到的一個(gè)密鑰對(duì)(即一個(gè)公鑰和一個(gè)私鑰),公鑰是密鑰對(duì)中公開(kāi)的部分,私鑰則是非公開(kāi)的部分。公鑰通常用于加密會(huì)話(huà)密鑰、驗(yàn)證數(shù)字簽名,或加密可以用相應(yīng)的私鑰解密的數(shù)據(jù)。通過(guò)這種算法得到的密鑰對(duì)能保證在世界范圍內(nèi)是唯一的。使用這個(gè)密鑰對(duì)的時(shí)候,如果用其中一個(gè)密鑰加密一段數(shù)據(jù),必須用另一個(gè)密鑰解密。比如用公鑰加密數(shù)據(jù)就必須用私鑰解密,如果用私鑰加密也必須用公鑰解密,否則解密將不會(huì)成功。
任何一個(gè)用戶(hù)終端要想獲得其他用戶(hù)終端的安全信任,首先需要將自己的公鑰公布在網(wǎng)絡(luò)中,也就是說(shuō)需要將自己的用戶(hù)名+公鑰+時(shí)間戳發(fā)給自己的相鄰節(jié)點(diǎn)或者是網(wǎng)絡(luò)的根節(jié)點(diǎn),然后由相鄰節(jié)點(diǎn)或者根節(jié)點(diǎn)轉(zhuǎn)給其他的節(jié)點(diǎn),最終使得網(wǎng)絡(luò)中的所有的節(jié)點(diǎn)都記錄有該用戶(hù)終端的用戶(hù)名+公鑰+時(shí)間戳。
如果該用戶(hù)終端的相鄰節(jié)點(diǎn)是惡意節(jié)點(diǎn)或者該用戶(hù)終端被惡意節(jié)點(diǎn)所代替,則該惡意節(jié)點(diǎn)將修改該用戶(hù)終端的用戶(hù)名+公鑰+時(shí)間戳,并將修改后的用戶(hù)名+公鑰+時(shí)間戳發(fā)布到網(wǎng)絡(luò)中,則網(wǎng)絡(luò)中所有的節(jié)點(diǎn)記錄的該用戶(hù)終端的用戶(hù)名+公鑰+時(shí)間戳可能會(huì)不一致,從而造成沖突。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明實(shí)施例提供一種密鑰保護(hù)方法及裝置,以提高密鑰保護(hù)的安全性。
本發(fā)明實(shí)施例的一個(gè)方面是提供一種密鑰保護(hù)方法,包括:
對(duì)等網(wǎng)絡(luò)中的節(jié)點(diǎn)對(duì)所述節(jié)點(diǎn)對(duì)應(yīng)的用戶(hù)名、公鑰、時(shí)間戳和隨機(jī)數(shù)進(jìn)行哈希運(yùn)算得到哈希值;
所述節(jié)點(diǎn)判斷所述哈希值是否小于閾值;
若所述哈希值小于閾值,則所述節(jié)點(diǎn)至少將所述用戶(hù)名、所述公鑰、所述時(shí)間戳和所述哈希值發(fā)送給所述對(duì)等網(wǎng)絡(luò)中的其他節(jié)點(diǎn)。
本發(fā)明實(shí)施例的另一個(gè)方面是提供一種密鑰保護(hù)裝置,包括:
計(jì)算模塊,用于對(duì)對(duì)等網(wǎng)絡(luò)中的節(jié)點(diǎn)對(duì)應(yīng)的用戶(hù)名、公鑰、時(shí)間戳和隨機(jī)數(shù)進(jìn)行哈希運(yùn)算得到哈希值;
判斷模塊,用于判斷所述哈希值是否小于閾值;
發(fā)送模塊,用于當(dāng)所述哈希值小于閾值時(shí),至少將所述用戶(hù)名、所述公鑰、所述時(shí)間戳和所述哈希值發(fā)送給所述對(duì)等網(wǎng)絡(luò)中的其他節(jié)點(diǎn)。
本發(fā)明實(shí)施例提供的密鑰保護(hù)方法及裝置,通過(guò)對(duì)等網(wǎng)絡(luò)中的節(jié)點(diǎn)對(duì)節(jié)點(diǎn)對(duì)應(yīng)的用戶(hù)名、公鑰、時(shí)間戳和隨機(jī)數(shù)進(jìn)行哈希運(yùn)算得到哈希值;當(dāng)該哈希值小于閾值時(shí),該節(jié)點(diǎn)至少將用戶(hù)名、公鑰、時(shí)間戳和哈希值發(fā)送給對(duì)等網(wǎng)絡(luò)中的其他節(jié)點(diǎn),以使其他節(jié)點(diǎn)接收該節(jié)點(diǎn)的用戶(hù)名、公鑰,惡意節(jié)點(diǎn)除非能夠用自己的公鑰重新計(jì)算出另一個(gè)小于閾值的hash值,否則任何修改都會(huì)引起hash計(jì)算的失敗,而被p2p網(wǎng)絡(luò)中的其他節(jié)點(diǎn)發(fā)現(xiàn),從而提高了密鑰保護(hù)的安全性。
附圖說(shuō)明
圖1為本發(fā)明實(shí)施例提供的密鑰保護(hù)方法流程圖;
圖2為本發(fā)明實(shí)施例提供的密鑰保護(hù)方法適用的網(wǎng)絡(luò)架構(gòu)圖;
圖3為本發(fā)明另一實(shí)施例提供的密鑰保護(hù)方法流程圖;
圖4為本發(fā)明實(shí)施例提供的密鑰保護(hù)裝置的結(jié)構(gòu)圖;
圖5為本發(fā)明另一實(shí)施例提供的密鑰保護(hù)裝置的結(jié)構(gòu)圖。
具體實(shí)施方式
在介紹本發(fā)明實(shí)施例之前,先介紹一下數(shù)據(jù)加密和身份認(rèn)證的區(qū)別。數(shù)據(jù)加密是將數(shù)據(jù)資料加密,使得非法用戶(hù)即使取得加密過(guò)的資料,也無(wú)法獲取正確的資料內(nèi)容,所以數(shù)據(jù)加密可以保護(hù)數(shù)據(jù),防止監(jiān)聽(tīng)攻擊,其重點(diǎn)在于數(shù)據(jù)的安全性。身份認(rèn)證是用來(lái)判斷某個(gè)身份的真實(shí)性,確認(rèn)身份后,系統(tǒng)才可以依不同的身份給予不同的權(quán)限。其重點(diǎn)在于用戶(hù)的真實(shí)性。兩者的側(cè)重點(diǎn)是不同的。
其次介紹一下公鑰和私鑰的概念和作用。在現(xiàn)代密碼體制中加密和解密是采用不同的密鑰(公開(kāi)密鑰),也就是非對(duì)稱(chēng)密鑰密碼系統(tǒng),每個(gè)通信方均需要兩個(gè)密鑰,即公鑰和私鑰,這兩把密鑰可以互為加解密。公鑰是公開(kāi)的,不需要保密,而私鑰是由個(gè)人自己持有,并且必須妥善保管和注意保密。
密鑰對(duì)中,讓大家都知道的是公鑰,不告訴大家,只有自己知道的,是私鑰。如果用其中一個(gè)密鑰加密數(shù)據(jù),則只有對(duì)應(yīng)的那個(gè)密鑰才可以解密。如果用其中一個(gè)密鑰可以進(jìn)行解密數(shù)據(jù),則該數(shù)據(jù)必然是對(duì)應(yīng)的那個(gè)密鑰進(jìn)行的加密,即一個(gè)公鑰對(duì)應(yīng)一個(gè)私鑰。
比如有兩個(gè)用戶(hù)alice和bob,alice想把一段明文通過(guò)雙鑰加密的技術(shù)發(fā)送給bob,bob有一對(duì)公鑰和私鑰,那么加密解密的過(guò)程如下:bob將他的公開(kāi)密鑰傳送給alice。alice用bob的公開(kāi)密鑰加密她的消息,然后傳送給bob。bob用他的私人密鑰解密alice的消息。
公鑰(publickey)與私鑰(privatekey)是通過(guò)一種算法得到的一個(gè)密鑰對(duì)(即一個(gè)公鑰和一個(gè)私鑰),公鑰是密鑰對(duì)中公開(kāi)的部分,私鑰則是非公開(kāi)的部分。公鑰通常用于加密會(huì)話(huà)密鑰、驗(yàn)證數(shù)字簽名,或加密可以用相應(yīng)的私鑰解密的數(shù)據(jù)。通過(guò)這種算法得到的密鑰對(duì)能保證在世界范圍內(nèi)是唯一的。使用這個(gè)密鑰對(duì)的時(shí)候,如果用其中一個(gè)密鑰加密一段數(shù)據(jù),必須用另一個(gè)密鑰解密。比如用公鑰加密數(shù)據(jù)就必須用私鑰解密,如果用私鑰加密也必須用公鑰解密,否則解密將不會(huì)成功。
目前存在防止代碼被惡意篡改的方法和裝置。包括:嵌入式系統(tǒng)上電后,執(zhí)行閃存中的引導(dǎo)程序,判斷應(yīng)用程序是否需要升級(jí);當(dāng)應(yīng)用程序不需要升級(jí)時(shí),直接跳轉(zhuǎn)到應(yīng)用程序中執(zhí)行,當(dāng)應(yīng)用程序需要升級(jí)時(shí),下載服務(wù)器上存儲(chǔ)的加密后的升級(jí)的應(yīng)用程序,進(jìn)行應(yīng)用程序升級(jí),其中,所述加密后的應(yīng)用程序是利用與所述引導(dǎo)程序的解密算法對(duì)應(yīng)的非對(duì)稱(chēng)算法公鑰加密算法加密升級(jí)所獲得的,所述嵌入式系統(tǒng)保存非對(duì)稱(chēng)算法公鑰加密算法的公鑰,所述嵌入式系統(tǒng)的開(kāi)發(fā)者保存非對(duì)稱(chēng)算法公鑰加密算法的私鑰。可以杜絕防止代碼被惡意篡改。
也存在一種p2p直播流傳遞的方法、系統(tǒng)、數(shù)字簽名裝置及p2p客戶(hù)端,涉及通訊技術(shù)領(lǐng)域,能夠防止p2p直播流在傳遞過(guò)程中被惡意篡改,同時(shí)避免對(duì)p2p系統(tǒng)性能造成較大的沖擊。本發(fā)明實(shí)施例提供的方法包括:生成公鑰和私鑰數(shù)字簽名算法密鑰對(duì);根據(jù)所述私鑰對(duì)源直播流進(jìn)行簽名,對(duì)簽名后的源直播流進(jìn)行切片,并將切片后的直播流下發(fā)到點(diǎn)對(duì)點(diǎn)客戶(hù)端;發(fā)送所述公鑰到點(diǎn)對(duì)點(diǎn)客戶(hù)端,由該點(diǎn)對(duì)點(diǎn)客戶(hù)端根據(jù)該公鑰對(duì)接收的點(diǎn)對(duì)點(diǎn)直播流進(jìn)行簽名驗(yàn)證。本發(fā)明的實(shí)施例既適用于集中式的p2p組網(wǎng),也適用于基于cdn架構(gòu)的分布式的p2p組網(wǎng)。
任何一個(gè)用戶(hù)終端要想獲得其他用戶(hù)終端的安全信任,首先需要將自己的公鑰公布在網(wǎng)絡(luò)中,也就是說(shuō)需要將自己的用戶(hù)名+公鑰+時(shí)間戳發(fā)給自己的相鄰節(jié)點(diǎn)或者是網(wǎng)絡(luò)的根節(jié)點(diǎn),然后由相鄰節(jié)點(diǎn)或者根節(jié)點(diǎn)轉(zhuǎn)給其他的節(jié)點(diǎn),最終使得網(wǎng)絡(luò)中的所有的節(jié)點(diǎn)都記錄有該用戶(hù)終端的用戶(hù)名+公鑰+時(shí)間戳。
如果該用戶(hù)終端的相鄰節(jié)點(diǎn)是惡意節(jié)點(diǎn)或者該用戶(hù)終端被惡意節(jié)點(diǎn)所代替,則該惡意節(jié)點(diǎn)將修改該用戶(hù)終端的用戶(hù)名+公鑰+時(shí)間戳,并將修改后的用戶(hù)名+公鑰+時(shí)間戳發(fā)布到網(wǎng)絡(luò)中,則網(wǎng)絡(luò)中所有的節(jié)點(diǎn)記錄的該用戶(hù)終端的用戶(hù)名+公鑰+時(shí)間戳可能會(huì)不一致,從而造成沖突。為了解決該問(wèn)題,本實(shí)施例提供了一種密鑰保護(hù)方法,下面結(jié)合具體的實(shí)施例進(jìn)行說(shuō)明。
圖1為本發(fā)明實(shí)施例提供的密鑰保護(hù)方法流程圖;圖2為本發(fā)明實(shí)施例提供的密鑰保護(hù)方法適用的網(wǎng)絡(luò)架構(gòu)圖。該方法具體步驟如下:
步驟s101、對(duì)等網(wǎng)絡(luò)中的節(jié)點(diǎn)對(duì)所述節(jié)點(diǎn)對(duì)應(yīng)的用戶(hù)名、公鑰、時(shí)間戳和隨機(jī)數(shù)進(jìn)行哈希運(yùn)算得到哈希值。
如圖2所示,第一節(jié)點(diǎn)、第二節(jié)點(diǎn)、第三節(jié)點(diǎn)、第四節(jié)點(diǎn)構(gòu)成對(duì)等網(wǎng)絡(luò)(peertopeer,p2p),此處只是示意性說(shuō)明,并不限定對(duì)等網(wǎng)絡(luò)的具體形式,也不限定對(duì)等網(wǎng)絡(luò)中的節(jié)點(diǎn)的個(gè)數(shù)。每個(gè)節(jié)點(diǎn)在對(duì)等網(wǎng)絡(luò)中是對(duì)等的,各自的消息是可以同步的,每個(gè)節(jié)點(diǎn)具體可以是用戶(hù)終端、服務(wù)器、服務(wù)器集群等設(shè)備。每個(gè)節(jié)點(diǎn)上安裝有互聯(lián)網(wǎng)安全信任p2p代理模塊,該代理模塊首次啟動(dòng),彈出一個(gè)界面,要求用戶(hù)輸入用戶(hù)名,并根據(jù)預(yù)先約定的算法生成該用戶(hù)名對(duì)應(yīng)的公鑰和私鑰。該公鑰同時(shí)可以作為該用戶(hù)的用戶(hù)標(biāo)識(shí)用以區(qū)分其他的用戶(hù)。然后該用戶(hù)終端可以加入到信任的p2p網(wǎng)絡(luò)中,加入信任的p2p網(wǎng)絡(luò)的時(shí)候,可以通過(guò)找到p2p相鄰節(jié)點(diǎn)的方式加入,也可以通過(guò)與p2p根節(jié)點(diǎn)建立連接的方式加入,如圖2所示,假設(shè)第五節(jié)點(diǎn)原來(lái)不是p2p網(wǎng)絡(luò)中的節(jié)點(diǎn),現(xiàn)在可通過(guò)與其相鄰節(jié)點(diǎn)即第三節(jié)點(diǎn)建立連接的方式加入該p2p網(wǎng)絡(luò)中,也可以通過(guò)與p2p根節(jié)點(diǎn)建立連接的方式加入該p2p網(wǎng)絡(luò)中。
假設(shè)第三節(jié)點(diǎn)是第五節(jié)點(diǎn)的相鄰節(jié)點(diǎn),第五節(jié)點(diǎn)可通過(guò)與第三節(jié)點(diǎn)建立連接的方式加入該p2p網(wǎng)絡(luò)中,并將第五節(jié)點(diǎn)的用戶(hù)名、公鑰和本地的時(shí)間戳公布到該p2p網(wǎng)絡(luò)中,具體的公布過(guò)程為本實(shí)施例提供的步驟。首先,第五節(jié)點(diǎn)對(duì)自己的用戶(hù)名、公鑰、本地時(shí)間戳和隨機(jī)數(shù)進(jìn)行哈希運(yùn)算的到哈希值,在本實(shí)施例中,第五節(jié)點(diǎn)的用戶(hù)名記為username,第五節(jié)點(diǎn)的公鑰記為kpub,第五節(jié)點(diǎn)的本地時(shí)間戳記為timestamp,第五節(jié)點(diǎn)進(jìn)行哈希運(yùn)算時(shí)采用的隨機(jī)數(shù)記為random,哈希值記為hash-a,則hash-a=h(username用戶(hù)名,kpub公鑰,timestamp時(shí)間戳,random隨機(jī)數(shù)),其中,h(username用戶(hù)名,kpub公鑰,timestamp時(shí)間戳,random隨機(jī)數(shù))表示對(duì)用戶(hù)名、公鑰、時(shí)間戳、隨機(jī)數(shù)進(jìn)行哈希運(yùn)算。
步驟s102、所述節(jié)點(diǎn)判斷所述哈希值是否小于閾值。
第五節(jié)點(diǎn)判斷哈希運(yùn)算得到的哈希值hash-a是否小于閾值,如果哈希值hash-a小于閾值,則執(zhí)行后續(xù)步驟,如果hash-a大于閾值,則繼續(xù)選擇新的隨機(jī)數(shù)并計(jì)算哈希值hash-a,直到哈希值hash-a小于閾值為止,該閾值是預(yù)先設(shè)定的,該閾值選擇的越小,則滿(mǎn)足的可能性越低,相應(yīng)的第五節(jié)點(diǎn)計(jì)算所需要的時(shí)間越長(zhǎng)。
步驟s103、若所述哈希值小于閾值,則所述節(jié)點(diǎn)至少將所述用戶(hù)名、所述公鑰、所述時(shí)間戳和所述哈希值發(fā)送給所述對(duì)等網(wǎng)絡(luò)中的其他節(jié)點(diǎn)。
當(dāng)hash-a小于閾值時(shí),第五節(jié)點(diǎn)將自己的用戶(hù)名、公鑰、時(shí)間戳和哈希值hash-a這四個(gè)元素發(fā)送給所述對(duì)等網(wǎng)絡(luò)中的其他節(jié)點(diǎn),例如與第五節(jié)點(diǎn)相鄰的第三節(jié)點(diǎn)。第三節(jié)點(diǎn)接收到第五節(jié)點(diǎn)的用戶(hù)名、公鑰、時(shí)間戳和哈希值hash-a時(shí),對(duì)第五節(jié)點(diǎn)的用戶(hù)名、公鑰、時(shí)間戳和哈希值hash-a進(jìn)行驗(yàn)證,如果驗(yàn)證通過(guò),則將第五節(jié)點(diǎn)的用戶(hù)名、公鑰、時(shí)間戳和哈希值hash-a轉(zhuǎn)發(fā)給對(duì)等網(wǎng)絡(luò)中的其他節(jié)點(diǎn),如果驗(yàn)證不通過(guò),則丟棄。
如果第五節(jié)點(diǎn)的相鄰節(jié)點(diǎn)第三節(jié)點(diǎn)是惡意節(jié)點(diǎn),則該惡意節(jié)點(diǎn)除非能夠用自己的公鑰重新計(jì)算出另一個(gè)小于閾值的hash值,否則任何修改都會(huì)引起hash計(jì)算的失敗,而被p2p網(wǎng)絡(luò)中的其他節(jié)點(diǎn)發(fā)現(xiàn)。
可選的,只要在惡意節(jié)點(diǎn)計(jì)算出新的滿(mǎn)足條件的hash值之前,第五節(jié)點(diǎn)將用戶(hù)名、公鑰、時(shí)間戳和哈希值hash-a轉(zhuǎn)發(fā)給對(duì)等網(wǎng)絡(luò)中的其他節(jié)點(diǎn),即使該惡意節(jié)點(diǎn)冒充第五節(jié)點(diǎn)發(fā)布第五節(jié)點(diǎn)的用戶(hù)名、公鑰、時(shí)間戳和哈希值hash-a,也會(huì)因?yàn)榈谖骞?jié)點(diǎn)的發(fā)布已經(jīng)被p2p網(wǎng)絡(luò)中的其他節(jié)點(diǎn)先行接收了而失敗。
需要注意的是,原來(lái)不在p2p網(wǎng)絡(luò)中、需要加入p2p網(wǎng)絡(luò)中的節(jié)點(diǎn)發(fā)布自己的用戶(hù)名和公鑰的時(shí)候可以采用本實(shí)施例所述的方法,已經(jīng)加入p2p網(wǎng)絡(luò)中的節(jié)點(diǎn)在發(fā)布某個(gè)賬本信息的時(shí)候,也可以采用本實(shí)施例所述的方法,具體不再贅述。
本發(fā)明實(shí)施例通過(guò)對(duì)等網(wǎng)絡(luò)中的節(jié)點(diǎn)對(duì)節(jié)點(diǎn)對(duì)應(yīng)的用戶(hù)名、公鑰、時(shí)間戳和隨機(jī)數(shù)進(jìn)行哈希運(yùn)算得到哈希值;當(dāng)該哈希值小于閾值時(shí),該節(jié)點(diǎn)至少將用戶(hù)名、公鑰、時(shí)間戳和哈希值發(fā)送給對(duì)等網(wǎng)絡(luò)中的其他節(jié)點(diǎn),以使其他節(jié)點(diǎn)接收該節(jié)點(diǎn)的用戶(hù)名、公鑰,惡意節(jié)點(diǎn)除非能夠用自己的公鑰重新計(jì)算出另一個(gè)小于閾值的hash值,否則任何修改都會(huì)引起hash計(jì)算的失敗,而被p2p網(wǎng)絡(luò)中的其他節(jié)點(diǎn)發(fā)現(xiàn),從而提高了密鑰保護(hù)的安全性。
圖3為本發(fā)明另一實(shí)施例提供的密鑰保護(hù)方法流程圖。該方法具體步驟如下:
步驟s301、所述節(jié)點(diǎn)將所述隨機(jī)數(shù)放置在所述用戶(hù)名、所述公鑰、所述時(shí)間戳中的固定位置。
在本實(shí)施例中,所述公鑰是所述節(jié)點(diǎn)根據(jù)預(yù)設(shè)算法對(duì)所述用戶(hù)名計(jì)算得到的密鑰對(duì)中的公鑰。如圖2所述,第五節(jié)點(diǎn)根據(jù)預(yù)設(shè)算法對(duì)自己的用戶(hù)名計(jì)算得到密鑰對(duì)中的公鑰,該密鑰對(duì)包括私鑰和公鑰。第五節(jié)點(diǎn)將其用戶(hù)名、公鑰和本地時(shí)間戳構(gòu)成一個(gè)報(bào)文,并在該報(bào)文中選擇一個(gè)固定的位置,在該固定的位置放置隨機(jī)數(shù)。
步驟s302、節(jié)點(diǎn)對(duì)所述節(jié)點(diǎn)對(duì)應(yīng)的用戶(hù)名、公鑰、時(shí)間戳和隨機(jī)數(shù)進(jìn)行哈希運(yùn)算得到哈希值。
步驟s302與步驟s101一致,具體方法此處不再贅述。
步驟s303、所述節(jié)點(diǎn)判斷所述哈希值是否小于閾值。
步驟s303與步驟s102一致,具體方法此處不再贅述。
步驟s304、若所述哈希值小于閾值,則所述節(jié)點(diǎn)將述用戶(hù)名、所述公鑰、所述時(shí)間戳、所述隨機(jī)數(shù)和所述哈希值發(fā)送給所述對(duì)等網(wǎng)絡(luò)中的其他節(jié)點(diǎn)。
當(dāng)?shù)谖骞?jié)點(diǎn)計(jì)算出的哈希值hash-a小于閾值時(shí),第五節(jié)點(diǎn)具體可以將其用戶(hù)名、公鑰、時(shí)間戳、隨機(jī)數(shù)和哈希值hash-a這五個(gè)元素發(fā)送給對(duì)等網(wǎng)絡(luò)中的其他節(jié)點(diǎn),例如其相鄰節(jié)點(diǎn)第三節(jié)點(diǎn)。
在本實(shí)施例中,所述時(shí)間戳還可以是所述節(jié)點(diǎn)發(fā)送所述用戶(hù)名、所述公鑰、所述時(shí)間戳、所述隨機(jī)數(shù)和所述哈希值的時(shí)刻。
本發(fā)明實(shí)施例通過(guò)對(duì)等網(wǎng)絡(luò)中的節(jié)點(diǎn)對(duì)節(jié)點(diǎn)對(duì)應(yīng)的用戶(hù)名、公鑰、時(shí)間戳和隨機(jī)數(shù)進(jìn)行哈希運(yùn)算得到哈希值;當(dāng)該哈希值小于閾值時(shí),該節(jié)點(diǎn)至少將用戶(hù)名、公鑰、時(shí)間戳和哈希值發(fā)送給對(duì)等網(wǎng)絡(luò)中的其他節(jié)點(diǎn),以使其他節(jié)點(diǎn)接收該節(jié)點(diǎn)的用戶(hù)名、公鑰,惡意節(jié)點(diǎn)除非能夠用自己的公鑰重新計(jì)算出另一個(gè)小于閾值的hash值,否則任何修改都會(huì)引起hash計(jì)算的失敗,而被p2p網(wǎng)絡(luò)中的其他節(jié)點(diǎn)發(fā)現(xiàn),從而提高了密鑰保護(hù)的安全性。
圖4為本發(fā)明實(shí)施例提供的密鑰保護(hù)裝置的結(jié)構(gòu)圖。本發(fā)明實(shí)施例提供的密鑰保護(hù)裝置可以執(zhí)行密鑰保護(hù)方法實(shí)施例提供的處理流程,如圖4所示,密鑰保護(hù)裝置40包括計(jì)算模塊41、判斷模塊42和發(fā)送模塊43,其中,計(jì)算模塊41用于對(duì)對(duì)等網(wǎng)絡(luò)中的節(jié)點(diǎn)對(duì)應(yīng)的用戶(hù)名、公鑰、時(shí)間戳和隨機(jī)數(shù)進(jìn)行哈希運(yùn)算得到哈希值;判斷模塊42用于判斷所述哈希值是否小于閾值;發(fā)送模塊43用于當(dāng)所述哈希值小于閾值時(shí),至少將所述用戶(hù)名、所述公鑰、所述時(shí)間戳和所述哈希值發(fā)送給所述對(duì)等網(wǎng)絡(luò)中的其他節(jié)點(diǎn)。
本發(fā)明實(shí)施例通過(guò)對(duì)等網(wǎng)絡(luò)中的節(jié)點(diǎn)對(duì)節(jié)點(diǎn)對(duì)應(yīng)的用戶(hù)名、公鑰、時(shí)間戳和隨機(jī)數(shù)進(jìn)行哈希運(yùn)算得到哈希值;當(dāng)該哈希值小于閾值時(shí),該節(jié)點(diǎn)至少將用戶(hù)名、公鑰、時(shí)間戳和哈希值發(fā)送給對(duì)等網(wǎng)絡(luò)中的其他節(jié)點(diǎn),以使其他節(jié)點(diǎn)接收該節(jié)點(diǎn)的用戶(hù)名、公鑰,惡意節(jié)點(diǎn)除非能夠用自己的公鑰重新計(jì)算出另一個(gè)小于閾值的hash值,否則任何修改都會(huì)引起hash計(jì)算的失敗,而被p2p網(wǎng)絡(luò)中的其他節(jié)點(diǎn)發(fā)現(xiàn),從而提高了密鑰保護(hù)的安全性。
圖5為本發(fā)明另一實(shí)施例提供的密鑰保護(hù)裝置的結(jié)構(gòu)圖。在上述實(shí)施例的基礎(chǔ)上,密鑰保護(hù)裝置40還包括放置模塊44,用于將所述隨機(jī)數(shù)放置在所述用戶(hù)名、所述公鑰、所述時(shí)間戳中的固定位置。
另外,發(fā)送模塊43具體用于將述用戶(hù)名、所述公鑰、所述時(shí)間戳、所述隨機(jī)數(shù)和所述哈希值發(fā)送給所述對(duì)等網(wǎng)絡(luò)中的其他節(jié)點(diǎn)。
在本實(shí)施例中,所述時(shí)間戳是所述節(jié)點(diǎn)發(fā)送所述用戶(hù)名、所述公鑰、所述時(shí)間戳、所述隨機(jī)數(shù)和所述哈希值的時(shí)刻。所述公鑰是所述節(jié)點(diǎn)根據(jù)預(yù)設(shè)算法對(duì)所述用戶(hù)名計(jì)算得到的密鑰對(duì)中的公鑰。
本發(fā)明實(shí)施例提供的密鑰保護(hù)裝置可以具體用于執(zhí)行上述圖1所提供的方法實(shí)施例,具體功能此處不再贅述。
本發(fā)明實(shí)施例通過(guò)對(duì)等網(wǎng)絡(luò)中的節(jié)點(diǎn)對(duì)節(jié)點(diǎn)對(duì)應(yīng)的用戶(hù)名、公鑰、時(shí)間戳和隨機(jī)數(shù)進(jìn)行哈希運(yùn)算得到哈希值;當(dāng)該哈希值小于閾值時(shí),該節(jié)點(diǎn)至少將用戶(hù)名、公鑰、時(shí)間戳和哈希值發(fā)送給對(duì)等網(wǎng)絡(luò)中的其他節(jié)點(diǎn),以使其他節(jié)點(diǎn)接收該節(jié)點(diǎn)的用戶(hù)名、公鑰,惡意節(jié)點(diǎn)除非能夠用自己的公鑰重新計(jì)算出另一個(gè)小于閾值的hash值,否則任何修改都會(huì)引起hash計(jì)算的失敗,而被p2p網(wǎng)絡(luò)中的其他節(jié)點(diǎn)發(fā)現(xiàn),從而提高了密鑰保護(hù)的安全性。
綜上所述,本發(fā)明實(shí)施例通過(guò)對(duì)等網(wǎng)絡(luò)中的節(jié)點(diǎn)對(duì)節(jié)點(diǎn)對(duì)應(yīng)的用戶(hù)名、公鑰、時(shí)間戳和隨機(jī)數(shù)進(jìn)行哈希運(yùn)算得到哈希值;當(dāng)該哈希值小于閾值時(shí),該節(jié)點(diǎn)至少將用戶(hù)名、公鑰、時(shí)間戳和哈希值發(fā)送給對(duì)等網(wǎng)絡(luò)中的其他節(jié)點(diǎn),以使其他節(jié)點(diǎn)接收該節(jié)點(diǎn)的用戶(hù)名、公鑰,惡意節(jié)點(diǎn)除非能夠用自己的公鑰重新計(jì)算出另一個(gè)小于閾值的hash值,否則任何修改都會(huì)引起hash計(jì)算的失敗,而被p2p網(wǎng)絡(luò)中的其他節(jié)點(diǎn)發(fā)現(xiàn),從而提高了密鑰保護(hù)的安全性。
在本發(fā)明所提供的幾個(gè)實(shí)施例中,應(yīng)該理解到,所揭露的裝置和方法,可以通過(guò)其它的方式實(shí)現(xiàn)。例如,以上所描述的裝置實(shí)施例僅僅是示意性的,例如,所述單元的劃分,僅僅為一種邏輯功能劃分,實(shí)際實(shí)現(xiàn)時(shí)可以有另外的劃分方式,例如多個(gè)單元或組件可以結(jié)合或者可以集成到另一個(gè)系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點(diǎn),所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過(guò)一些接口,裝置或單元的間接耦合或通信連接,可以是電性,機(jī)械或其它的形式。
所述作為分離部件說(shuō)明的單元可以是或者也可以不是物理上分開(kāi)的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個(gè)地方,或者也可以分布到多個(gè)網(wǎng)絡(luò)單元上??梢愿鶕?jù)實(shí)際的需要選擇其中的部分或者全部單元來(lái)實(shí)現(xiàn)本實(shí)施例方案的目的。
另外,在本發(fā)明各個(gè)實(shí)施例中的各功能單元可以集成在一個(gè)處理單元中,也可以是各個(gè)單元單獨(dú)物理存在,也可以?xún)蓚€(gè)或兩個(gè)以上單元集成在一個(gè)單元中。上述集成的單元既可以采用硬件的形式實(shí)現(xiàn),也可以采用硬件加軟件功能單元的形式實(shí)現(xiàn)。
上述以軟件功能單元的形式實(shí)現(xiàn)的集成的單元,可以存儲(chǔ)在一個(gè)計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中。上述軟件功能單元存儲(chǔ)在一個(gè)存儲(chǔ)介質(zhì)中,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)或處理器(processor)執(zhí)行本發(fā)明各個(gè)實(shí)施例所述方法的部分步驟。而前述的存儲(chǔ)介質(zhì)包括:u盤(pán)、移動(dòng)硬盤(pán)、只讀存儲(chǔ)器(read-onlymemory,rom)、隨機(jī)存取存儲(chǔ)器(randomaccessmemory,ram)、磁碟或者光盤(pán)等各種可以存儲(chǔ)程序代碼的介質(zhì)。
本領(lǐng)域技術(shù)人員可以清楚地了解到,為描述的方便和簡(jiǎn)潔,僅以上述各功能模塊的劃分進(jìn)行舉例說(shuō)明,實(shí)際應(yīng)用中,可以根據(jù)需要而將上述功能分配由不同的功能模塊完成,即將裝置的內(nèi)部結(jié)構(gòu)劃分成不同的功能模塊,以完成以上描述的全部或者部分功能。上述描述的裝置的具體工作過(guò)程,可以參考前述方法實(shí)施例中的對(duì)應(yīng)過(guò)程,在此不再贅述。
最后應(yīng)說(shuō)明的是:以上各實(shí)施例僅用以說(shuō)明本發(fā)明的技術(shù)方案,而非對(duì)其限制;盡管參照前述各實(shí)施例對(duì)本發(fā)明進(jìn)行了詳細(xì)的說(shuō)明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:其依然可以對(duì)前述各實(shí)施例所記載的技術(shù)方案進(jìn)行修改,或者對(duì)其中部分或者全部技術(shù)特征進(jìn)行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實(shí)施例技術(shù)方案的范圍。