密鑰處理方法、密鑰處理裝置及密鑰處理系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬于通信技術(shù)領(lǐng)域,具體涉及一種密鑰處理方法、密鑰處理裝置及密鑰處理系統(tǒng)。
【背景技術(shù)】
[0002]隨著信息化和數(shù)字化的普及,密鑰安全性問題越來越受到人們的關(guān)注。普通的業(yè)務(wù)交流活動等無一例外都是以私鑰的安全性為基礎(chǔ)的,也就是說所有網(wǎng)上活動的安全性都依賴于私鑰,因此保護(hù)私鑰的安全是網(wǎng)絡(luò)安全至關(guān)重要的部分。
[0003]現(xiàn)有技術(shù)中存在如下問題:數(shù)據(jù)擁有者上傳數(shù)據(jù)時通常采用集中式存儲的單一密鑰(該密鑰通常是存儲在本地服務(wù)器上)的方式對數(shù)據(jù)進(jìn)行加密和解密,此時密鑰的安全決定于物理設(shè)備的安全。但物聯(lián)網(wǎng)節(jié)點及云端設(shè)備容易遭受物理攻擊,攻擊者實施物理破壞使節(jié)點無法正常工作,或盜取設(shè)備獲取敏感信息。攻擊者對網(wǎng)絡(luò)中傳輸?shù)臄?shù)據(jù)和信令進(jìn)行攔截、篡改、偽造時,若獲取存儲在設(shè)備中的唯一通信密鑰,就可進(jìn)一步獲取用戶敏感信息或?qū)е滦畔鬏斿e誤。
【發(fā)明內(nèi)容】
[0004]本發(fā)明針對現(xiàn)有密鑰處理方法存在的上述問題,提供一種安全性高的密鑰處理方法、密鑰處理裝置即密鑰處理系統(tǒng)。
[0005]本發(fā)明解決的技術(shù)問題所采用的技術(shù)方案是一種密鑰處理方法,包括如下步驟:
[0006]接收密鑰生成請求,生成一對公鑰和私鑰,并將私鑰分割成一份主碎片和N份輔碎片,并將其中的一份主碎片上傳至本地密鑰服務(wù)器中,將N份輔碎片上傳至至少一個云端密鑰服務(wù)器中;其中,N為大于等于I的整數(shù),且必須要有主碎片和至少一份輔碎片才能重構(gòu)私鑰;
[0007]通過公鑰對數(shù)據(jù)進(jìn)行加密,形成消息密文,并上傳至云端數(shù)據(jù)服務(wù)器;
[0008]接收查詢消息密文的請求,獲取云端數(shù)據(jù)服務(wù)器的消息密文,并從云端密鑰服務(wù)器中獲取至少一份輔碎片,從本地密鑰服務(wù)器獲取主碎片,重構(gòu)私鑰以對消息密文進(jìn)行解
LU O
[0009]優(yōu)選的是,所述云端密鑰服務(wù)器的個數(shù)為N,且每一個云端密鑰服務(wù)器中存儲一份私鑰碎片。
[0010]優(yōu)選的是,所述接收查詢消息密文的請求包括:
[0011]接收密文檢索方式的消息密文查詢請求。
[0012]優(yōu)選的是,所述通過公鑰對數(shù)據(jù)進(jìn)行加密之后還包括:
[0013]將所述公鑰銷毀,或者將所述公鑰存儲至本地密鑰服務(wù)器中的步驟。
[0014]優(yōu)選的是,所述生成一對公鑰和私鑰,包括:
[0015]采用密鑰生成函數(shù),根據(jù)設(shè)定的參數(shù),隨機生成公鑰和私鑰;
[0016]所述通過公鑰對數(shù)據(jù)進(jìn)行加密,包括:
[0017]采用加密函數(shù),將數(shù)據(jù)加密為消息密文;
[0018]所述重構(gòu)私鑰,包括:
[0019]采用重構(gòu)函數(shù),根據(jù)接收到的至少一份存儲在云端密鑰服務(wù)器中的碎片和一份存儲在本地密鑰服務(wù)器中的碎片,重構(gòu)私鑰;
[0020]所述對消息密文進(jìn)行解密包括:
[0021]采用解密函數(shù),根據(jù)重構(gòu)的私鑰,將消息密文解密。
[0022]本發(fā)明解決的技術(shù)問題所采用的技術(shù)方案是一種密鑰處理裝置,包括:
[0023]密鑰生成模塊,用于根據(jù)密鑰生成請求,生成一對公鑰和私鑰;
[0024]密鑰管理模塊,用于將私鑰分割成一份主碎片和N份輔碎片,并將其中的一份主碎片上傳至本地密鑰服務(wù)器中,將N份輔碎片上傳至至少一個云端密鑰服務(wù)器中;其中,N為大于等于I的整數(shù),且必須要有主碎片和至少一份輔碎片才能重構(gòu)私鑰;
[0025]加密模塊,用于通過所述公鑰對數(shù)據(jù)進(jìn)行加密,形成消息密文,并將所述消息密文上傳至云端數(shù)據(jù)服務(wù)器;
[0026]重構(gòu)模塊,用于從云端密鑰服務(wù)器中獲取至少一份輔碎片,從本地密鑰服務(wù)器獲取主碎片,重構(gòu)私鑰;
[0027]解密模塊,用于根據(jù)所接收的查詢消息密文的請求,獲取云端數(shù)據(jù)服務(wù)器的消息密文,并通過重構(gòu)的私鑰對消息密文進(jìn)行解密。
[0028]優(yōu)選的是,所述密鑰處理裝置還包括:索引模塊,
[0029]所述索引模塊,用于對上傳至云端數(shù)據(jù)服務(wù)器的消息密文進(jìn)行索引
[0030]優(yōu)選的是,所述密鑰管理模塊還用于將所述公鑰銷毀,或者將所述公鑰存儲至本地密鑰服務(wù)器中。
[0031]優(yōu)選的是,所述密鑰管理模塊用于將N份私鑰的輔碎片上傳至N個云端密鑰服務(wù)器中,且每一個云端密鑰服務(wù)器中存儲一份輔碎片。
[0032]本發(fā)明解決的技術(shù)問題所采用的技術(shù)方案是一種密鑰處理系統(tǒng),包括上述的的密鑰處理裝置,以及本地數(shù)據(jù)服務(wù)器、本地密鑰服務(wù)器和至少一個云端密鑰服務(wù)器。
[0033]本發(fā)明具有如下有益效果:
[0034]本發(fā)明的密鑰處理方法,將私鑰分割成多個碎片,即一份主碎片和N份輔碎片,且采用分布式存儲方式將私鑰存儲在不同的服務(wù)器中,以確保私鑰的存儲的安全性。而且將私鑰輔碎片存在云端密鑰服務(wù)器中,可以緩解本地密鑰服務(wù)器的存儲壓力。
[0035]本發(fā)明中的密鑰處理裝置中密鑰管理模塊將將私鑰分割成多個碎片,即一份主碎片和N份輔碎片,且采用分布式存儲方式將私鑰存儲在不同的服務(wù)器中,以確保私鑰的存儲的安全性。而且將私鑰輔碎片存在云端密鑰服務(wù)器中,可以緩解本地密鑰服務(wù)器的存儲壓力。
[0036]本發(fā)明中的密鑰處理系統(tǒng)包括上述的密鑰處理裝置,故其安全性較高。
【附圖說明】
[0037]圖1為本發(fā)明的實施例1的密鑰處理方法的流程圖;
[0038]圖2為本發(fā)明的實施例3的密鑰處理系統(tǒng)的示意圖。
【具體實施方式】
[0039]為使本領(lǐng)域技術(shù)人員更好地理解本發(fā)明的技術(shù)方案,下面結(jié)合附圖和【具體實施方式】對本發(fā)明作進(jìn)一步詳細(xì)描述。
[0040]實施例1:
[0041]如圖1所示,本實施例提供一種密鑰處理方法,其包括如下步驟:
[0042]步驟S1、接收密鑰生成請求,生成密鑰對,即生成一對公鑰和私鑰,并將私鑰分割成一份主碎片和N份輔碎片,并將其中的一份主碎片上傳至本地密鑰服務(wù)器中,將N份輔碎片上傳至至少一個云端密鑰服務(wù)器中;其中,N為大于等于I的整數(shù),且必須要有主碎片和至少一份輔碎片才能重構(gòu)私鑰。
[0043]在該步驟中,具體的當(dāng)本地數(shù)據(jù)擁有者欲將數(shù)據(jù)(消息明文)上傳至云端數(shù)據(jù)服務(wù)器時,密鑰生成模塊使用密鑰生成函數(shù)G,根據(jù)設(shè)定的參數(shù)α,隨機生成公鑰pk和私鑰sk,即G(Ci) — >(pk,sk);其中,公鑰pk用于加密,私鑰sk用于解密。其中,密鑰生成函數(shù)采用的是ElGamal算法,當(dāng)然也可以采用其他本領(lǐng)域技術(shù)人員公知的算法。
[0044]其中,在步驟SI中優(yōu)選的將N份輔碎片上傳至N個云端密鑰服務(wù)器中,且每個云端密鑰服務(wù)器中存儲一份輔碎片,該種存儲方式使得輔碎片的存儲更加安全。例如說,設(shè)定重構(gòu)私鑰時需要3份輔碎片和一份主碎片,若將三份輔碎片存儲在三個云端密鑰服務(wù)器中,則需要擊破三個云端密鑰服務(wù)器和一個本地密鑰服務(wù)器才能夠重構(gòu)私鑰,若將三份輔碎片存儲在一個云端密鑰服務(wù)器中,則僅需要擊破一個云端密鑰服務(wù)器和一個本地密鑰服務(wù)器即可重構(gòu)私鑰,因此,不難看出將輔碎片分別存在不同的云端服務(wù)器中更加安全。
[0045]其中,步驟SI中必須要有主碎片和至少一份輔碎片才能重構(gòu)私鑰是指:從多個密鑰服務(wù)器中獲得至少一份私鑰sk的輔碎片,并且獲得本地密鑰服務(wù)器中存儲的一份私鑰sk的主碎片,即可以推導(dǎo)計算出完整的私鑰sk ;而若未能從本地密鑰服務(wù)器中獲取一份私鑰的主碎片和/或未能獲取到存儲在云端密鑰服務(wù)器中的私鑰輔碎片則不能重構(gòu)完整的私鑰sk以對消息密文進(jìn)行解密。
[0046]步驟S2、通過公鑰對數(shù)據(jù)進(jìn)行加密,形成消息密文,并上傳至云端數(shù)據(jù)服務(wù)器。
[0047]在該步驟中,具體的加密模塊根據(jù)密鑰生成模塊所生成的公鑰pk,使用加密函數(shù)E,將數(shù)據(jù)(消息明文)m加密,形成消息密文C,此時生成的消息密文c通過消息存儲模塊,被存儲至云端數(shù)據(jù)服務(wù)器中,其中加密函數(shù)采用的是ElGamal算法,當(dāng)然也可以采用其他本領(lǐng)域技術(shù)人員公知的算法。
[0048]其中,公鑰在對數(shù)據(jù)加密完成后,公鑰將會被銷毀或者將公鑰存儲在本地密鑰服務(wù)器中。
[0049]步驟S3、接收查詢消息密文的請求,獲取云端數(shù)據(jù)服務(wù)器的消息密文,并向存儲私鑰碎片的本地服務(wù)器和至少部分云端密鑰服務(wù)器中獲取私鑰碎片,重構(gòu)私鑰以對消息密文進(jìn)行解密;其中,
[0050]當(dāng)從云端密鑰服務(wù)器中獲取至少一份輔碎片,并且獲取本地服務(wù)器中的主碎片,此時重構(gòu)的私鑰則用以對消息密文解密;否則反之。
[0051]在該步驟中,具體的當(dāng)已認(rèn)證的合法用戶需要訪問云端數(shù)據(jù)時,索引模塊采用密文檢索方式發(fā)送查詢請求,此時接收到該查詢請求,從云端數(shù)據(jù)服務(wù)器獲得消息密文c ;密鑰重構(gòu)模塊向存儲私鑰碎片的多個云端服務(wù)器發(fā)送至少部分查詢請求,至少部分云端服務(wù)器接收到查詢請求后