密鑰管理包括,從密鑰的產(chǎn)生到密鑰的銷毀的各個(gè)方面。
主要表現(xiàn)于管理體制、管理協(xié)議和密鑰的產(chǎn)生、分配、更換和注入等。對于軍用計(jì)算機(jī)網(wǎng)絡(luò)系統(tǒng),由于用戶機(jī)動(dòng)性強(qiáng),隸屬關(guān)系和協(xié)同作戰(zhàn)指揮等方式復(fù)雜,因此,對密鑰管理提出了更高的要求。
流程
。1)密鑰生成
密鑰長度應(yīng)該足夠長。一般來說,密鑰長度越大,對應(yīng)的密鑰空間就越大,攻擊者使用窮舉猜測密碼的難度就越大。
選擇好密鑰,避免弱密鑰。由自動(dòng)處理設(shè)備生成的隨機(jī)的比特串是好密鑰,選擇密鑰時(shí),應(yīng)該避免選擇一個(gè)弱密鑰。
對公鑰密碼體制來說,密鑰生成更加困難,因?yàn)槊荑必須滿足某些數(shù)學(xué)特征。
。2)密鑰分發(fā)
采用對稱加密算法進(jìn)行保密通信,需要共享同一密鑰。通常是系統(tǒng)中的一個(gè)成員先選擇一個(gè)秘密密鑰,然后將它傳送另一個(gè)成員或別的成員。X9.17標(biāo)準(zhǔn)描述了兩種密鑰:密鑰加密密鑰和數(shù)據(jù)密鑰。密鑰加密密鑰加密其它需要分發(fā)的密鑰;而數(shù)據(jù)密鑰只對信息流進(jìn)行加密。密鑰加密密鑰一般通過手工分發(fā)。為增強(qiáng)保密性,也可以將密鑰分成許多不同的部分然后用不同的信道發(fā)送出去。
(3)驗(yàn)證密鑰
密鑰附著一些檢錯(cuò)和糾錯(cuò)位來傳輸,當(dāng)密鑰在傳輸中發(fā)生錯(cuò)誤時(shí),能很容易地被檢查出來,并且如果需要,密鑰可被重傳。
接收端也可以驗(yàn)證接收的密鑰是否正確。發(fā)送方用密鑰加密一個(gè)常量,然后把密文的前2-4字節(jié)與密鑰一起發(fā)送。在接收端,做同樣的工作,如果接收端加密后的常數(shù)能與發(fā)端常數(shù)匹配,則傳輸無錯(cuò)。
。4)更新密鑰
當(dāng)密鑰需要頻繁的改變時(shí),頻繁進(jìn)行新的密鑰分發(fā)的確是困難的事,一種更容易的解決辦法是從舊的密鑰中產(chǎn)生新的密鑰,有時(shí)稱為密鑰更新?梢允褂脝蜗蚝瘮(shù)進(jìn)行更新密鑰。如果雙方共享同一密鑰,并用同一個(gè)單向函數(shù)進(jìn)行操作,就會(huì)得到相同的結(jié)果。
。5)密鑰存儲(chǔ)
密鑰可以存儲(chǔ)在腦子、磁條卡、智能卡中。也可以把密鑰平分成兩部分,一半存入終端一半存入ROM密鑰。還可采用類似于密鑰加密密鑰的方法對難以記憶的密鑰進(jìn)行加密保存。
。6)備份密鑰
密鑰的備份可以采用密鑰托管、秘密分割、秘密共享等方式。
最簡單的方法,是使用密鑰托管中心。密鑰托管要求所有用戶將自己的密鑰交給密鑰托管中心,由密鑰托管中心備份保管密鑰(如鎖在某個(gè)地方的保險(xiǎn)柜里或用主密鑰對它們進(jìn)行加密保存),一旦用戶的密鑰丟失(如用戶遺忘了密鑰或用戶意外死亡),按照一定的規(guī)章制度,可從密鑰托管中心索取該用戶的密鑰。另一個(gè)備份方案是用智能卡作為臨時(shí)密鑰托管。如Alice把密鑰存入智能卡,當(dāng)Alice不在時(shí)就把它交給Bob,Bob可以利用該卡進(jìn)行Alice的工作,當(dāng)Alice回來后,Bob交還該卡,由于密鑰存放在卡中,所以Bob不知道密鑰是什么。
秘密分割把秘密分割成許多碎片,每一片本身并不代表什么,但把這些碎片放到一塊,秘密就會(huì)重現(xiàn)出來。
一個(gè)更好的方法是采用一種秘密共享協(xié)議。將密鑰K分成n塊,每部分叫做它的“影子”,知道任意m個(gè)或更多的塊就能夠計(jì)算出密鑰K,知道任意m-1個(gè)或更少的塊都不能夠計(jì)算出密鑰K,這叫做(m,n)門限(閾值)方案。目前,人們基于拉格朗日內(nèi)插多項(xiàng)式法、射影幾何、線性代數(shù)、孫子定理等提出了許多秘密共享方案。
拉格朗日插值多項(xiàng)式方案是一種易于理解的秘密共享(m,n)門限方案。
秘密共享解決了兩個(gè)問題:一是若密鑰偶然或有意地被暴露,整個(gè)系統(tǒng)就易受攻擊;二是若密鑰丟失或損壞,系統(tǒng)中的所有信息就不能用了。
。7)密鑰有效期
加密密鑰不能無限期使用,有以下有幾個(gè)原因:密鑰使用時(shí)間越長,它泄露的機(jī)會(huì)就越大;如果密鑰已泄露,那么密鑰使用越久,損失就越大;密鑰使用越久,人們花費(fèi)精力破譯它的誘惑力就越大棗甚至采用窮舉攻擊法;對用同一密鑰加密的多個(gè)密文進(jìn)行密碼分析一般比較容易。
不同密鑰應(yīng)有不同有效期。
數(shù)據(jù)密鑰的有效期主要依賴數(shù)據(jù)的價(jià)值和給定時(shí)間里加密數(shù)據(jù)的數(shù)量。價(jià)值與數(shù)據(jù)傳送率越大所用的密鑰更換越頻繁。
密鑰加密密鑰無需頻繁更換,因?yàn)樗鼈冎皇桥紶柕赜米髅荑交換。在某些應(yīng)用中,密鑰加密密鑰僅一月或一年更換一次。
用來加密保存數(shù)據(jù)文件的加密密鑰不能經(jīng)常地變換。通常是每個(gè)文件用唯一的密鑰加密,然后再用密鑰加密密鑰把所有密鑰加密,密鑰加密密鑰要么被記憶下來,要么保存在一個(gè)安全地點(diǎn)。當(dāng)然,丟失該密鑰意味著丟失所有的文件加密密鑰。
公開密鑰密碼應(yīng)用中的私鑰的有效期是根據(jù)應(yīng)用的不同而變化的。用作數(shù)字簽名和身份識(shí)別的私鑰必須持續(xù)數(shù)年(甚至終身),用作拋擲硬幣協(xié)議的私鑰在協(xié)議完成之后就應(yīng)該立即銷毀。即使期望密鑰的安全性持續(xù)終身,兩年更換一次密鑰也是要考慮的。舊密鑰仍需保密,以防用戶需要驗(yàn)證從前的簽名。但是新密鑰將用作新文件簽名,以減少密碼分析者所能攻擊的簽名文件數(shù)目。
(8)銷毀密鑰
如果密鑰必須替換,舊鑰就必須銷毀,密鑰必須物理地銷毀。
。9)公開密鑰的密鑰管理
公開密鑰密碼使得密鑰較易管理。無論網(wǎng)絡(luò)上有多少人,每個(gè)人只有一個(gè)公開密鑰。
使用一個(gè)公鑰/私鑰密鑰對是不夠的。任何好的公鑰密碼的實(shí)現(xiàn)需要把加密密鑰和數(shù)字簽名密鑰分開。但單獨(dú)一對加密和簽名密鑰還是不夠的。象身份證一樣,私鑰證明了一種關(guān)系,而人不止有一種關(guān)系。如Alice分別可以以私人名義、公司的副總裁等名義給某個(gè)文件簽名。