《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 嵌入式技術(shù) > 業(yè)界動(dòng)態(tài) > 一種新型密鑰管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

一種新型密鑰管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

2008-11-04
作者:黃正全 張其善

??? 摘? 要: 隨著對(duì)信息安全的要求不斷提高,傳統(tǒng)的等效于軟件加密的密鑰管理手段已不能滿足信息系統(tǒng)的安全要求,因此設(shè)計(jì)了一種新型的密鑰管理系統(tǒng)" title="管理系統(tǒng)">管理系統(tǒng)。該系統(tǒng)采用安全性高的CPU智能卡,用硬件方式來(lái)產(chǎn)生、存儲(chǔ)和傳遞密鑰,極大地提高了密鑰管理系統(tǒng)的安全性。?

??? 關(guān)鍵詞: 安全? 智能卡? 密鑰?

?

??? 在傳統(tǒng)的密鑰管理系統(tǒng)中,密鑰通常是存儲(chǔ)在計(jì)算機(jī)或磁盤里,并借助于網(wǎng)絡(luò)、磁盤以郵件的方式進(jìn)行傳遞。為了安全起見,通常在傳遞之前,必須先將所要傳遞的密鑰進(jìn)行加密處理,接收方收到后再對(duì)其進(jìn)行解密處理。由于采用這種方式時(shí)仍然需要傳遞密鑰,只是具體的密鑰對(duì)象改變了,因此安全性還是沒有明顯地提高;即使采用專門的硬件加密機(jī)器進(jìn)行加密處理,但由于儲(chǔ)存和傳遞環(huán)節(jié)的影響,其安全性能仍等同于軟件加密效果,為此有必要提高儲(chǔ)存和傳遞環(huán)節(jié)的安全性。?

??? 雖然傳遞密鑰比較安全的做法是采用非對(duì)稱加密體制,用己方私鑰和對(duì)方公鑰" title="公鑰">公鑰進(jìn)行雙重簽名加密,對(duì)方用其私鑰和己方公鑰進(jìn)行解密處理。采用這種方法來(lái)傳遞密鑰比較麻煩,實(shí)現(xiàn)起來(lái)非常困難,不僅要求通信雙方要有己方的公鑰和私鑰,而且還要獲得對(duì)方的公鑰。公鑰和私鑰的產(chǎn)生比較復(fù)雜和困難,而且通常還需要作為公證的第三方介入。目前絕大多數(shù)的通信雙方都沒有這些條件,并且它們之間的通信絕大多數(shù)是一次性的??紤]到上述原因,往往不采用非對(duì)稱加密體制,而仍然采用實(shí)現(xiàn)方法和途徑都相對(duì)簡(jiǎn)單和容易得多的對(duì)稱加密體制。?

??? 采用對(duì)稱加密體制時(shí),加密密鑰和解密密鑰是相同的或相關(guān)聯(lián)的,因此對(duì)其存儲(chǔ)和傳遞的安全性要求非常高。如前所述,采用傳統(tǒng)方式進(jìn)行加密處理時(shí),其效果等同于軟件加密效果,在安全性方面不如硬件直接加密的效果;由此可以看出,如果我們既用硬件設(shè)備進(jìn)行加密處理,又用專門的硬件設(shè)備來(lái)存儲(chǔ)和傳遞密鑰,這樣就可以極大地提高密鑰系統(tǒng)的安全性。目前能滿足這兩種要求,而且得到業(yè)界廣泛認(rèn)可的器件只有CPU智能卡。CPU卡具有硬件加密結(jié)構(gòu),可以作為加密器件使用;而且其特殊的軟件體系-COS(Chip Operation System)又為數(shù)據(jù)存儲(chǔ)和操作提供了較高的安全性,可用于小批量數(shù)據(jù)的存儲(chǔ)。?

??? 本文采用CPU智能卡作為加密和存儲(chǔ)介質(zhì),按照對(duì)稱加密體制的思想,設(shè)計(jì)和實(shí)現(xiàn)了一種新型密鑰系統(tǒng),較好地實(shí)現(xiàn)了密鑰的產(chǎn)生、存儲(chǔ)和傳遞功能,滿足了用戶信息系統(tǒng)的安全要求。?

1 CPU卡的安全功能?

??? CPU卡作為智能卡家族中最新的成員,由于具有較高的安全性和應(yīng)用方便性,得到越來(lái)越廣泛的應(yīng)用。CPU卡的安全性不僅體現(xiàn)在其硬件結(jié)構(gòu)上,而且其軟件系統(tǒng)COS也保證了應(yīng)用的安全性,同時(shí)還提高了應(yīng)用的方便性和靈活性。?

??? CPU卡的加解密功能由內(nèi)嵌的硬件加密協(xié)處理器來(lái)完成,具有很高的安全性。目前,CPU卡一般采用DES加密算法。DES算法是一種迭代分組密碼算法,它加密時(shí)把明文以64比特為單位分成塊,然后用密鑰把每一塊的明文轉(zhuǎn)化為64比特密文。使用的密鑰長(zhǎng)度為64位,其中有效長(zhǎng)度為56位(有8位用于奇偶校驗(yàn))。為了進(jìn)一步提高安全性,CPU卡通常采用三重DES算法加密,采用的密碼長(zhǎng)度為128位。?

??? 在應(yīng)用時(shí),CPU卡的安全性是由其COS的安全體系來(lái)保證的,它涉及到卡中信息的訪問(wèn)控制機(jī)制和保密機(jī)制。智能卡之所以能夠迅速地發(fā)展并且流行起來(lái),其中的一個(gè)重要的原因就在于它能夠通過(guò)COS的安全體系給用戶一個(gè)較高的安全保證和應(yīng)用方便性。COS安全體系在概念上包括三部分:安全狀態(tài)、安全屬性和安全機(jī)制[1]。智能卡在安全狀態(tài)滿足安全屬性的要求,通過(guò)執(zhí)行操作指令,在安全機(jī)制的作用下,從當(dāng)前的安全狀態(tài)轉(zhuǎn)移到下一個(gè)安全狀態(tài)。?

2 系統(tǒng)結(jié)構(gòu)" title="系統(tǒng)結(jié)構(gòu)">系統(tǒng)結(jié)構(gòu)和功能?

??? 本密鑰系統(tǒng)的主要功能是提供各種密鑰的生成機(jī)制和加密算法,并將生成的密鑰存儲(chǔ)在具有密鑰導(dǎo)出功能的CPU智能卡,即SAM(Security Access Module)卡中。系統(tǒng)結(jié)構(gòu)如圖1所示,密鑰的發(fā)行采用梯級(jí)生成、下發(fā)方式,即由上一級(jí)生成下一級(jí)所需的各種子密鑰,并以卡片的形式,采用線路加密的方式傳遞給下一級(jí),極大地提高了系統(tǒng)的安全性和應(yīng)用的方便性。根據(jù)功能,系統(tǒng)分為:根密鑰系統(tǒng)、主密鑰" title="主密鑰">主密鑰系統(tǒng)、初始化密鑰系統(tǒng)和SAM卡密鑰系統(tǒng)。系統(tǒng)結(jié)構(gòu)具有一定的伸縮性,可以根據(jù)實(shí)際需要進(jìn)行裁減,減少或增加分級(jí)層次,通常不超過(guò)三級(jí)傳遞關(guān)系(圖中所示即為三級(jí)),以免系統(tǒng)過(guò)于復(fù)雜。在我們投入實(shí)際使用的系統(tǒng)中,根據(jù)用戶要求和系統(tǒng)規(guī)模,取消了初始化密鑰系統(tǒng)這一級(jí)而只采用了二級(jí)傳遞關(guān)系,使系統(tǒng)結(jié)構(gòu)更加緊湊,實(shí)現(xiàn)起來(lái)更加簡(jiǎn)單容易。?

?

?

??? 根密鑰系統(tǒng)的主要功能是生成系統(tǒng)最初的原始母密鑰,即根密鑰,它由系統(tǒng)安全管理員輸入的系統(tǒng)安全字(由安全管理員自主決定)來(lái)生成;主密鑰系統(tǒng)則用分散因子對(duì)根密鑰進(jìn)行分散加密,得到主密鑰;而初始化密鑰系統(tǒng)則對(duì)主密鑰再進(jìn)行分散加密,得到工作密鑰系統(tǒng)所使用的工作密鑰;SAM卡密鑰系統(tǒng)則直接由根密鑰導(dǎo)出SAM卡密鑰,將其直接用于工作密鑰系統(tǒng),以控制和配合工作密鑰的使用。?

??? 系統(tǒng)將生成的各種密鑰存儲(chǔ)在相應(yīng)的CPU智能卡中。根密鑰卡和主密鑰卡采用具有密鑰導(dǎo)出功能的SAM母卡;而SAM卡密鑰則采用不具有導(dǎo)出功能的SAM卡來(lái)儲(chǔ)存。SAM卡是一種加強(qiáng)了密鑰安全功能的CPU卡,它支持密鑰多級(jí)分散功能,比普通的CPU卡具有更高的安全性。工作密鑰則直接存放于實(shí)際工作系統(tǒng)所使用的普通CPU卡中。?

??? 系統(tǒng)在生成相應(yīng)的密鑰時(shí),同時(shí)生成相應(yīng)的認(rèn)證密鑰,將其存儲(chǔ)在相應(yīng)的認(rèn)證卡中,以控制和配合密鑰卡的使用。如圖2所示,密鑰卡必須通過(guò)其認(rèn)證卡的相互認(rèn)證(外部認(rèn)證)后才能正常使用;而密鑰認(rèn)證卡使用的合法性由個(gè)人身份識(shí)別號(hào)PIN保護(hù),只有正確核對(duì)PIN后才可以使用。?

?

?

????而空白卡片的合法性,則是由生產(chǎn)商認(rèn)證卡來(lái)驗(yàn)證的。生產(chǎn)商認(rèn)證卡通常是由生產(chǎn)廠商制作的,其中存放著生產(chǎn)商傳輸代碼,它也是由PIN保護(hù)的,正確核對(duì)PIN后才可以使用。由此可以看出,系統(tǒng)中每一張卡的使用都必須經(jīng)過(guò)相應(yīng)的認(rèn)證,成功驗(yàn)證其合法性后,才能投入正常使用,這樣,極大地保證了系統(tǒng)的安全性。?

3 相關(guān)算法?

??? 在本系統(tǒng),加密算法主要采用了非常成熟的、強(qiáng)度比較高的DES算法。為了進(jìn)一步提高系統(tǒng)安全強(qiáng)度,在實(shí)際系統(tǒng)中,采用的是以DES算法為基礎(chǔ)的3DES" title="3DES">3DES算法。有關(guān)算法簡(jiǎn)介如下。?

3.1 3DES算法?

??? 3DES算法用兩個(gè)密鑰(KL和KR)對(duì)明文(X)進(jìn)行3次DES加密/解密[2]。?

??? 3DES的加密方式:?

??? Y=DES(KL,DES-1(KR,DES(KL,X)))?

??? 對(duì)應(yīng)的解密方式為:?

??? X=DES-1(KL,DES(KR,DES-1(KL,Y)))?

其中DES(K,X)表示用密鑰K對(duì)數(shù)據(jù)X進(jìn)行DES加密,DES-1(K,Y)表示用密鑰K對(duì)數(shù)據(jù)Y進(jìn)行解密(以下同)。?

3.2 分散算法?

??? 為了支持分級(jí)加密傳遞功能,CPU卡還采用了密鑰分散算法,它是指將一個(gè)雙長(zhǎng)度(16字節(jié))的密鑰MK,對(duì)分散數(shù)據(jù)進(jìn)行處理,推導(dǎo)出一個(gè)雙長(zhǎng)度的密鑰DK(DKL||DKR)。其算法如下[3]:?

??? 推導(dǎo)DK左半部分DKL的方法是:?

??? ·將分散數(shù)據(jù)的最右16個(gè)數(shù)字作為輸入數(shù)據(jù);?

??? ·將MK作為加密密鑰;?

??? ·用MK對(duì)輸入數(shù)據(jù)進(jìn)行3DEA運(yùn)算。?

??? 推導(dǎo)DK右半部分DKR的方法:?

??? ·將分散數(shù)據(jù)的最右16個(gè)數(shù)字求反,作為輸入數(shù)據(jù);?

??? ·將MK作為加密密鑰;?

??? ·用MK對(duì)輸入數(shù)據(jù)進(jìn)行3DEA運(yùn)算。?

3.3 原始密鑰的生成算法?

??? 第一步,輸入種子A和種子B:由兩個(gè)獨(dú)立的人各輸入一個(gè)16位數(shù)(或少于16位),分別作為SeedA和SeedB;?

??? 第二步,計(jì)算種子C: SeedC=SeedASeedB;?

??? 第三步,密鑰種子的初始化:?

??? ·KEYINIT=常量?

??? ·Seed=DES-1(DES(DES-1(KEYINIT,SeedC),SeedB),SeedA)?

??? ·設(shè)K3=Seed?

??? 第四步,密鑰種子的生成:?

???

???

??? 重復(fù)執(zhí)行從第四步到第六步,直到所有的原始密鑰全部生成。?

??? 本系統(tǒng)采用了成熟、安全性高的加密算法和完善的體系結(jié)構(gòu),其安全性是由CPU的安全性和DES算法的安全強(qiáng)度來(lái)保證的。經(jīng)過(guò)國(guó)內(nèi)某單位兩年多的實(shí)際運(yùn)行,證明本系統(tǒng)較好地貫徹了“秘密在于密鑰”的思想,具有較高的安全性和先進(jìn)性,主要表現(xiàn)為如下幾個(gè)特點(diǎn):?

??? (1)采用安全性高的CPU卡作為密鑰的產(chǎn)生、存儲(chǔ)和傳遞介質(zhì),保證了密鑰數(shù)據(jù)的安全性;CPU卡獨(dú)特的安全體系保證了其中的數(shù)據(jù)不會(huì)被非法操作;?

??? (2)利用硬件加密技術(shù),對(duì)整個(gè)過(guò)程中所使用的臨時(shí)變量進(jìn)行加密處理,并對(duì)傳遞過(guò)程進(jìn)行線路加密,保證了在生成和傳遞過(guò)程的安全性;?

??? (3)分級(jí)傳遞結(jié)構(gòu),使系統(tǒng)具有一定的擴(kuò)展性,既支持獨(dú)立系統(tǒng),也可用于分布式系統(tǒng);?

??? (4)系統(tǒng)具有自愈合能力,對(duì)關(guān)鍵數(shù)據(jù)進(jìn)行備份,保證了系統(tǒng)具有一定的抗毀能力;?

??? (5)系統(tǒng)結(jié)構(gòu)簡(jiǎn)單、實(shí)現(xiàn)方便、性價(jià)比較高。?

參考文獻(xiàn)?

1 Information technology-Identification cards-Integrated?circuit(s) cards with contracts-Part 4:terindustry?commands for interchange. International Standard ISO/IEC 7816-4, 1995?

2 王愛英. 智能卡技術(shù). 北京:清華大學(xué)出版社,1996?

3 PSAM卡應(yīng)用規(guī)范(試行).中國(guó)人民銀行,1999

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點(diǎn)。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無(wú)法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問(wèn)題,請(qǐng)及時(shí)通過(guò)電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。