基于tcm的密鑰管理系統(tǒng)及管理方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及密鑰管理技術(shù)領(lǐng)域,具體涉及一種基于可信密碼模塊(TrustedCryptography Module, TCM)的密鑰管理系統(tǒng)及管理方法。
【背景技術(shù)】
[0002]在虛擬化云計算環(huán)境下,用戶使用虛擬機(jī)完成日常工作,虛擬機(jī)由底層的虛擬機(jī)安全管理器負(fù)責(zé)監(jiān)控維護(hù)資源的分配、使用和銷毀,即所有的硬件操作都由虛擬機(jī)安全管理器托管。用戶的數(shù)據(jù)被存儲在由虛擬機(jī)安全管理器劃分的虛擬文件系統(tǒng)中,所有的虛擬文件系統(tǒng)本質(zhì)上是集中存儲在磁盤陣列中的邏輯文件塊的組合,因此每一個用戶的隱私數(shù)據(jù)存在暴漏的風(fēng)險,如未經(jīng)授權(quán)查看其它用戶的數(shù)據(jù),管理員非法查看用戶的數(shù)據(jù),硬盤竊取拷貝外帶等。因此,云環(huán)境下多用戶數(shù)據(jù)的保護(hù)是一個較為困難的命題,一般通過加密實(shí)現(xiàn)。加密是保護(hù)數(shù)據(jù)的重要措施,現(xiàn)代加密組件由密碼算法和密鑰兩個核心要素組成,算法一般是公開的,加密的安全性依賴于密鑰的安全性。因此對數(shù)據(jù)的保護(hù)實(shí)質(zhì)上是對密鑰的保護(hù)。多用戶環(huán)境對密鑰的管理提出了新的挑戰(zhàn),如三權(quán)分立原則的落實(shí)、密鑰的丟失、數(shù)據(jù)的取證、密碼器件損壞下的密鑰恢復(fù)、數(shù)據(jù)恢復(fù)效率等問題。由此可見,結(jié)合多用戶環(huán)境,管理好每一個用戶的密鑰,是確保用戶數(shù)據(jù)安全、系統(tǒng)穩(wěn)定的重中之重?,F(xiàn)有技術(shù)中采用軟件的方式來實(shí)現(xiàn)密鑰的管理,容易出現(xiàn)漏洞,丟失密鑰相關(guān)數(shù)據(jù),安全性較差。
【發(fā)明內(nèi)容】
[0003]有鑒于此,為克服上述至少一個缺點(diǎn),并提供下述至少一種優(yōu)點(diǎn)。本發(fā)明公開了一種基于TCM的密鑰管理系統(tǒng)及管理方法。
[0004]一種基于TCM的密鑰管理系統(tǒng),包括:
[0005]服務(wù)器端,用于接收客戶端發(fā)送的攜帶有用戶數(shù)據(jù)的密鑰管理請求,基于所述用戶數(shù)據(jù)獲取TCM中存儲的密鑰數(shù)據(jù),并向所述客戶端發(fā)送所述密鑰數(shù)據(jù);
[0006]所述客戶端,用于向所述服務(wù)器端發(fā)送攜帶有所述用戶數(shù)據(jù)的所述密鑰管理請求,并接收所述服務(wù)器端返回的密鑰數(shù)據(jù);以及
[0007]所述TCM,用于存儲用戶的密鑰數(shù)據(jù)。
[0008]如上所述的基于TCM的密鑰管理系統(tǒng),在一種可能的實(shí)現(xiàn)方式中,所述服務(wù)器端包括:
[0009]密鑰服務(wù)應(yīng)用模塊,所述密鑰服務(wù)應(yīng)用模塊包括:
[0010]身份認(rèn)證子模塊,用于在接收到所述客戶端發(fā)送的攜帶有用戶數(shù)據(jù)的密鑰管理請求時,基于所述用戶數(shù)據(jù)對所述客戶端進(jìn)行身份認(rèn)證,所述用戶數(shù)據(jù)包括用戶信息和口令數(shù)據(jù),所述口令數(shù)據(jù)包括弱密碼和強(qiáng)密碼;
[0011]密鑰查找子模塊,用于基于所述用戶信息,從所述TCM中查找對應(yīng)的密鑰數(shù)據(jù),并基于所述口令數(shù)據(jù)對所述密鑰數(shù)據(jù)進(jìn)行解密得到磁盤密鑰;
[0012]密鑰傳輸子模塊,用于利用所述TCM生成的偽隨機(jī)數(shù)對所述磁盤密鑰進(jìn)行加密,并將加密后的磁盤密鑰發(fā)送給所述客戶端;以及
[0013]TCM服務(wù)模塊,用于為所述密鑰服務(wù)應(yīng)用模塊提供訪問所述TCM的接口。
[0014]如上所述的基于TCM的密鑰管理系統(tǒng),在一種可能的實(shí)現(xiàn)方式中,所述密鑰服務(wù)應(yīng)用模塊還包括:
[0015]命令管理子模塊,用于按照先到先服務(wù)的原則對來自所述客戶端的多個密鑰管理請求進(jìn)行管理。
[0016]如上所述的基于TCM的密鑰管理系統(tǒng),在一種可能的實(shí)現(xiàn)方式中,所述密鑰服務(wù)應(yīng)用模塊還包括:
[0017]密鑰更新子模塊,用于基于所述客戶端發(fā)送的攜帶有強(qiáng)密碼的密鑰修改請求或密鑰重置請求,使用用戶修改后的弱密碼或系統(tǒng)默認(rèn)的密碼對所述密鑰查找子模塊查找到的磁盤密鑰進(jìn)行加密,并更新所述TCM中存儲的密鑰數(shù)據(jù)。
[0018]如上所述的基于TCM的密鑰管理系統(tǒng),在一種可能的實(shí)現(xiàn)方式中,所述密鑰服務(wù)應(yīng)用模塊還包括:
[0019]密鑰取證子模塊,用于在接收到所述客戶端發(fā)送的取證請求時,獲取所述TCM中存儲的核心密鑰對密鑰數(shù)據(jù)進(jìn)行解密,并將所述磁盤密鑰發(fā)送給所述客戶端進(jìn)行取證。
[0020]如上所述的基于TCM的密鑰管理系統(tǒng),在一種可能的實(shí)現(xiàn)方式中,所述密鑰服務(wù)應(yīng)用模塊還包括:
[0021]密鑰銷毀子模塊,用于在刪除用戶時,利用磁盤覆寫技術(shù)對所述TCM中存儲的所述用戶的密鑰數(shù)據(jù)進(jìn)行銷毀。
[0022]如上所述的基于TCM的密鑰管理系統(tǒng),在一種可能的實(shí)現(xiàn)方式中,所述密鑰服務(wù)應(yīng)用模塊還包括:
[0023]密鑰初始化子模塊,用于在有新的用戶加入所述客戶端時,基于所述新的用戶的用戶數(shù)據(jù)生成對應(yīng)的密鑰數(shù)據(jù),并將所生成的密鑰數(shù)據(jù)存儲在所述TCM中。
[0024]如上所述的基于TCM的密鑰管理系統(tǒng),在一種可能的實(shí)現(xiàn)方式中,所述客戶端包括:
[0025]登陸監(jiān)聽模塊,用于獲取用戶的用戶數(shù)據(jù),并將所獲取的所述用戶數(shù)據(jù)攜帶在密鑰管理請求發(fā)送給服務(wù)器端;
[0026]口令重置模塊,用于當(dāng)用戶通過所述強(qiáng)密碼登陸并重設(shè)弱密碼時,將密鑰修改請求、所述強(qiáng)密碼及用戶重設(shè)的弱密碼發(fā)送給所述服務(wù)器端;以及
[0027]數(shù)據(jù)傳輸模塊,用于提供傳輸密鑰管理請求以及密鑰數(shù)據(jù)的通道。
[0028]如上所述的基于TCM的密鑰管理系統(tǒng),在一種可能的實(shí)現(xiàn)方式中,所述TCM包括:
[0029]密鑰數(shù)據(jù)庫,用于存儲密鑰數(shù)據(jù);以及
[0030]隨機(jī)數(shù)生成模塊,用于生成隨機(jī)數(shù)作為會話密鑰對解密后的磁盤密鑰進(jìn)行加密,并通過所述密鑰傳輸子模塊將所加密后的密鑰數(shù)據(jù)發(fā)送給所述客戶端。
[0031]—種密鑰管理方法,包括以下步驟:
[0032]步驟S11、服務(wù)器端接收到所述客戶端發(fā)送的攜帶有用戶信息和口令數(shù)據(jù)的密鑰獲取請求,基于所述用戶信息和口令數(shù)據(jù)對所述客戶端進(jìn)行身份認(rèn)證,并與所述客戶端建立安全通道;
[0033]步驟S12、所述服務(wù)器端根據(jù)所述用戶信息在TCM中查找對應(yīng)的密鑰數(shù)據(jù);
[0034]步驟S13、所述服務(wù)器端根據(jù)所述口令數(shù)據(jù)對查找到的密鑰數(shù)據(jù)進(jìn)行解密得到磁盤密鑰,并采用所述TCM生成的隨機(jī)數(shù)作為會話密鑰對解密之后的密鑰數(shù)據(jù)進(jìn)行加密,并將加密后的所述密鑰數(shù)據(jù)通過所述安全通道發(fā)送給所述客戶端;
[0035]步驟S14、所述客戶端接收到磁盤密鑰,掛載加密磁盤。
[0036]—種密鑰管理方法,包括以下步驟:
[0037]步驟S21、服務(wù)器端接收到客戶端發(fā)送的攜帶有用戶信息、原始口令數(shù)據(jù)和修改后的口令數(shù)據(jù)的密鑰修改請求,基于所述用戶信息和原始口令數(shù)據(jù)對所述客戶端進(jìn)行身份認(rèn)證,并與所述客戶端建立安全通道;
[0038]步驟S22、所述服務(wù)器端根據(jù)所述用戶信息在TCM中查找對應(yīng)的密鑰數(shù)據(jù);
[0039]步驟S23、所述服務(wù)器端根據(jù)所述原始口令數(shù)據(jù)解密所述密鑰數(shù)據(jù)得到磁盤密鑰,并用所述修改后的口令數(shù)據(jù)對所述磁盤密鑰進(jìn)行加密;以及
[0040]步驟S24、所述TCM基于所述加密后的磁盤密鑰更新密鑰數(shù)據(jù)庫。
[0041]—種密鑰管理方法,包括以下步驟:
[0042]步驟S31、服務(wù)器端接收到客戶端發(fā)送的攜帶有用戶信息和強(qiáng)密碼的密鑰重置請求,基于所述用戶信息和一對所述客戶端進(jìn)行身份認(rèn)證,并與所