專利名稱:一種嵌入式設(shè)備保密通訊的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通訊領(lǐng)域和嵌入式系統(tǒng)領(lǐng)域,具體涉及一種嵌入式設(shè)備保密通訊的方法。
背景技術(shù):
隨著嵌入式技術(shù)的發(fā)展,嵌入式設(shè)備的應(yīng)用越來越廣泛,同時(shí)對(duì)嵌入式設(shè)備的保密通訊的需求也日漸增多,不論是在通訊、家電和航空航天領(lǐng)域,還是在普通的IC識(shí)別領(lǐng)域,都有很多保密通訊的需求,比如保密電話、安全路由器、電子偵查設(shè)備等,都要求通訊保密。
嵌入式設(shè)備的保密通訊,要求安全可靠、高效率,保密通訊的目的主要是防偽、防竊、防抵賴。在信息加密、解密方面,目前普遍使用的成熟的加、解密算法有RSA,DES算法等。RSA是非對(duì)稱密鑰算法,加密密鑰和解密密鑰不相同,可用于電子簽名和信息的加密、解密。DES算法采用對(duì)稱密鑰,加密、解密的密鑰相同,用于信息的加密和解密。DES是基于迭代的分組加密算法,可有16輪迭代,使用時(shí)減少其迭代次數(shù),可以提高信息的加密、解密效率,但安全性會(huì)下降。
隨著電子商務(wù)和電子政務(wù)、網(wǎng)上銀行、網(wǎng)上證券的建設(shè)和應(yīng)用,基于Internet產(chǎn)生了一些保密通訊模式,主要以使用公開密鑰和認(rèn)證中心CA為其特征。
目前,Internet上的這些比較成熟的保密通訊模式,尚未在嵌入式設(shè)備通訊中得到應(yīng)用,嵌入式設(shè)備保密通訊的方法還不能同時(shí)滿足開放、高效率、安全性的要求。
發(fā)明內(nèi)容
本發(fā)明的目的是借鑒Internet上用于網(wǎng)上銀行,網(wǎng)上證券的保密通訊模式,設(shè)計(jì)一種適用于嵌入式設(shè)備保密通訊的方法,在應(yīng)用層和傳輸層之間建立保密通訊層,使設(shè)備之間能夠安全高效地進(jìn)行語音、數(shù)據(jù)、傳真等業(yè)務(wù)數(shù)據(jù)的保密通訊。
本發(fā)明的技術(shù)方案如下一種嵌入式設(shè)備保密通訊的方法,其特征在于,其系統(tǒng)包括認(rèn)證中心和多臺(tái)嵌入式設(shè)備,所述嵌入式設(shè)備之間的會(huì)話信息采用對(duì)稱加密方法加密,所述對(duì)稱加密方法的對(duì)稱密鑰的交換,采用非對(duì)稱加密方法加密,每次會(huì)話生成不同的所述對(duì)稱密鑰作為會(huì)話密鑰;所述方法包括以下步驟第一步保密通訊的雙方交換公開密鑰;第二步保密通訊的雙方相互進(jìn)行身份認(rèn)證并提取對(duì)方的公開密鑰;第三步保密通訊的雙方交換對(duì)稱密鑰;第四步保密通訊的雙方進(jìn)行保密通訊。
所述的方法,還具有特征所述第一步包括以下步驟a1)保密通訊的發(fā)起方第一嵌入式設(shè)備檢查保密通訊的響應(yīng)方第二嵌入式設(shè)備是否在其允許保密通訊的設(shè)備列表中,所述第二嵌入式設(shè)備的證書是否有效,如果該設(shè)備不在所述允許保密通訊的設(shè)備列表中,或其證書已失效,則保密通訊過程終止;a2)所述第一嵌入式設(shè)備檢查其公開密鑰庫中有沒有所述第二嵌入式設(shè)備的公開密鑰和該公開密鑰的有效期,然后,所述第一嵌入式設(shè)備向所述第二嵌入式設(shè)備發(fā)出希望保密通訊的消息;該消息中包括其設(shè)備標(biāo)識(shí)符,如果所述第一嵌入式設(shè)備沒有所述第二嵌入式設(shè)備的公開密鑰或者其不在有效期內(nèi),該消息中還包括需要對(duì)方公開密鑰的信息;
a3)所述第二嵌入式設(shè)備收到所述消息后,如果不同意對(duì)話則丟掉該消息,所述保密通訊過程終止;否則根據(jù)對(duì)方的設(shè)備標(biāo)識(shí)符,檢查自己的公開密鑰庫中有沒有對(duì)方的公開密鑰和其有效期,然后向?qū)Ψ桨l(fā)應(yīng)答消息,如果所述第二嵌入式設(shè)備沒有所述第一嵌入式設(shè)備的公開密鑰或者其不在有效期內(nèi),該應(yīng)答消息中包括需要對(duì)方公開密鑰的信息;a4)所述第一嵌入式設(shè)備收到所述應(yīng)答消息,檢查所述第二嵌入式設(shè)備是否需要自己的公開密鑰,如果雙方都不需要對(duì)方的公開密鑰,轉(zhuǎn)到所述第三步;否則如果所述第一嵌入式設(shè)備需要對(duì)方的證書,則請(qǐng)求對(duì)方將其證書傳給自己;如果對(duì)方同意,則將其證書傳給所述第一嵌入式設(shè)備,不同意則所述保密通訊過程終止;如果所述第二嵌入式設(shè)備需要對(duì)方的證書,則請(qǐng)求對(duì)方將其證書傳給自己;如果對(duì)方同意,則將其證書傳給所述第二嵌入式設(shè)備,不同意則所述保密通訊過程終止。
所述的方法,還具有特征所述第二步包括以下步驟保密通訊雙方收到對(duì)方的證書后,對(duì)證書的合法性進(jìn)行驗(yàn)證,如果合法,則從證書中提取對(duì)方的公開密鑰,存儲(chǔ)至自己的公開密鑰庫中,否則,所述保密通訊過程終止。
證書的生成過程是,認(rèn)證中心使用RSA或其他公開密鑰算法的密鑰生成算法,為注冊(cè)的設(shè)備生成一對(duì)密鑰(公開密鑰、私有密鑰),并保證在該認(rèn)證中心范圍內(nèi),設(shè)備之間的公開密鑰是不重復(fù)的。注冊(cè)設(shè)備保存設(shè)備的私有密鑰,和公開密鑰,認(rèn)證中心只保存注冊(cè)設(shè)備的公開密鑰。認(rèn)證中心生成一份文件,里面有設(shè)備的標(biāo)識(shí)符,公開密鑰,有效期,認(rèn)證中心的標(biāo)識(shí),認(rèn)證中心不對(duì)該文件進(jìn)行加密,但根據(jù)該文件的內(nèi)容用md5算法或其他算法生成一個(gè)散列值,然后認(rèn)證中心用自己的私有密鑰,采用RSA算法對(duì)該散列值進(jìn)行加密,加密后的值是認(rèn)證中心的數(shù)字簽名。數(shù)字簽名和文件構(gòu)成了注冊(cè)設(shè)備的證書,發(fā)給注冊(cè)設(shè)備。
證書的驗(yàn)證就是采用認(rèn)證中心的公開密鑰和公開密鑰算法,解密證書的數(shù)字簽名得到一個(gè)數(shù)值,然后對(duì)證書文件,求散列值,如果兩個(gè)值是相等的,則該證書是合法的,否則為非法的。
所述的方法,還具有特征所述第三步包括以下步驟保密通訊雙方從各自的公開密鑰庫中獲取對(duì)方的公開密鑰,然后進(jìn)入以下步驟b1)所述第一嵌入式設(shè)備隨機(jī)生成一定bit的第一密鑰,并確定所述第一密鑰的有效期,用自己的私有密鑰對(duì)所述第一密鑰加密,然后,傳給所述第二嵌入式設(shè)備;b2)所述第二嵌入式設(shè)備隨機(jī)生成一定bit的第二密鑰,并確定密鑰的有效期,用自己的私有密鑰對(duì)所述第二密鑰加密,然后,傳給所述第一嵌入式設(shè)備;b3)所述第一嵌入式設(shè)備收到所述第二嵌入式設(shè)備的消息后,用所述第二嵌入式設(shè)備的公開密鑰,和相應(yīng)的解密算法解密,得到所述第二嵌入式設(shè)備的對(duì)稱密鑰第三密鑰,再用所述第二嵌入式設(shè)備的公開密鑰加密所述第三密鑰后,應(yīng)答給所述第二嵌入式設(shè)備;b4)所述第二嵌入式設(shè)備收到所述第一嵌入式設(shè)備的消息后,用所述第一嵌入式設(shè)備的公開密鑰,和相應(yīng)的解密算法解密,得到所述第一嵌入式設(shè)備的對(duì)稱密鑰第四密鑰,再用所述第一嵌入式設(shè)備的公開密鑰加密所述第四密鑰后,應(yīng)答給所述第一嵌入式設(shè)備;b5)所述第一嵌入式設(shè)備收到所述第二嵌入式設(shè)備的應(yīng)答消息,用自己的私有密鑰對(duì)所述第四密鑰解密后,和所述所述第一密鑰比較,如果兩者不一樣則所述保密通訊過程終止;b6)所述第二嵌入式設(shè)備收到所述第一嵌入式設(shè)備的應(yīng)答消息,用自己的私有密鑰對(duì)所述第三密鑰解密后,和所述第二密鑰比較,如果兩者不一樣則所述保密通訊過程終止。
所述的方法,還具有特征所述第一嵌入式設(shè)備和所述第二嵌入式設(shè)備使用相同的加、解密算法,進(jìn)行會(huì)話信息的保密、解密;所述第一嵌入式設(shè)備使用所述第一密鑰進(jìn)行加密,使用所述第二密鑰進(jìn)行解密;所述第二嵌入式設(shè)備使用所述第二密鑰進(jìn)行加密,使用所述第一密鑰進(jìn)行解密;會(huì)話期間,如果所述第一密鑰或所述第二密鑰的有效期期滿,需超時(shí)更新,包括以下步驟c1)如果所述第一嵌入式設(shè)備的所述第一密鑰使用超時(shí),所述第一嵌入式設(shè)備在當(dāng)前的消息中攜帶自己將更改密鑰的信號(hào),并使用該消息與所述第一密鑰根據(jù)生成算法計(jì)算出新的加密密鑰,使用所述第一密鑰加密和發(fā)送當(dāng)前消息,等待對(duì)方的應(yīng)答;c2)接收方所述第二嵌入式設(shè)備取得對(duì)方密鑰更新的信號(hào),在當(dāng)前消息中攜帶應(yīng)答信號(hào),表明已收到更改信號(hào);如果所述第二嵌入式設(shè)備沒有需要發(fā)送的當(dāng)前消息,則應(yīng)答一條空消息,然后,所述第二嵌入式設(shè)備使用所述第一嵌入式設(shè)備的消息和所述第一密鑰根據(jù)所述生成算法計(jì)算出新的密鑰,并啟用該新的密鑰進(jìn)行解密;c3)所述第一嵌入式設(shè)備收到所述第二嵌入式設(shè)備的應(yīng)答后,啟用所述新的加密密鑰;所述第一嵌入式設(shè)備在等待所述第二嵌入式設(shè)備的應(yīng)答時(shí),設(shè)置超時(shí)定時(shí)器,如果所述超時(shí)定時(shí)器超時(shí),沒有得到對(duì)方的應(yīng)答消息,則終止當(dāng)前會(huì)話。
所述的方法,還具有特征所述生成算法包括如下步驟使用md5算法求當(dāng)前消息的128位的散列值,將前64位和后64位作異或運(yùn)算,得到64位散列值,再與當(dāng)前的密鑰按位異或生成新的密鑰。所述的方法,還具有特征所述一定bit的第一密鑰的位數(shù)設(shè)置為64bit,所述一定bit的第二密鑰的位數(shù)設(shè)置為64bit。
所述的方法,還具有特征所述對(duì)稱加密方法的算法采用DES算法,所述非對(duì)稱加密方法的算法采用RSA算法。
所述的方法,還具有特征所述對(duì)稱加密方法的算法采用8輪迭代的DES算法。
本發(fā)明的系統(tǒng)架構(gòu)的設(shè)計(jì)是開放的,新的設(shè)備能夠很容易地加入到系統(tǒng)中。認(rèn)證中心只負(fù)責(zé)向設(shè)備發(fā)送證書,不參與具體的會(huì)話,減少了認(rèn)證中心的流量和負(fù)荷,明確了其職責(zé)。會(huì)話密鑰本次會(huì)話結(jié)束后,就作廢,提高了通訊的安全性,也降低了密鑰管理的復(fù)雜性。設(shè)備唯一需要嚴(yán)格保密的就是用于會(huì)話密鑰交換的設(shè)備自己的私有密鑰。由于會(huì)話密鑰一次性使用和超時(shí)更新,會(huì)話采用基于迭代的加解密算法,可降低其迭代次數(shù),以提高保密通訊的通訊效率。在傳輸層和應(yīng)用之間,建立保密通訊層,使本方法結(jié)構(gòu)清晰,易于實(shí)現(xiàn)。
綜上所述,本發(fā)明滿足嵌入式設(shè)備保密通訊開放、高效率、安全的要求,適用于不同種類嵌入式設(shè)備的保密通訊,具有廣闊的應(yīng)用前景。
圖1是本發(fā)明的系統(tǒng)組成示意圖;圖2是本發(fā)明的消息格式;圖3是本發(fā)明的保密會(huì)話狀態(tài)機(jī)示意圖。
具體實(shí)施例方式
下面結(jié)合附圖對(duì)本發(fā)明的技術(shù)方案的實(shí)施作進(jìn)一步的詳細(xì)描述。
本發(fā)明的系統(tǒng)組成如圖1所示,系統(tǒng)由通訊設(shè)備和認(rèn)證中心組成,由第三方機(jī)構(gòu)充當(dāng)認(rèn)證中心,它包括人和計(jì)算機(jī),認(rèn)證中心的可靠性至關(guān)重要。認(rèn)證中心有以下職責(zé)
1、為注冊(cè)的設(shè)備和其它認(rèn)證中心生成證書,并保存這些證書;2、向請(qǐng)求者發(fā)送證書;3、通知證書失效。
認(rèn)證中心不保存設(shè)備的私有密鑰,只對(duì)設(shè)備的標(biāo)識(shí)符和公開密鑰進(jìn)行認(rèn)證,不參與設(shè)備的具體保密通訊。中心設(shè)立專門的服務(wù)器,存放有效期內(nèi)的證書,和尚在有效期內(nèi)但被撤銷的證書。
加入系統(tǒng)的設(shè)備需要生成一對(duì)非對(duì)稱密鑰(公開密鑰,私有密鑰)、唯一的標(biāo)識(shí)符,比如PDA(Personal Digital Assistant,個(gè)人數(shù)字助理)手機(jī)的手機(jī)號(hào),和認(rèn)證中心的證書。設(shè)備能實(shí)現(xiàn)RSA和DES算法,最好是硬件實(shí)現(xiàn)。
PDA用戶將手機(jī)號(hào)和公開密鑰拿到認(rèn)證中心注冊(cè),認(rèn)證中心生成該P(yáng)DA設(shè)備的證書,證書主要包括設(shè)備的標(biāo)識(shí)符、公開密鑰和有效期。PDA設(shè)備將證書和認(rèn)證中心的公開密鑰存放在芯片或文件系統(tǒng)中。
證書的銷毀認(rèn)證中心簽發(fā)證書是為了用戶身份和公開密鑰的綁定,如果設(shè)備被盜,私有密鑰被竊等原因需要銷毀證書,用戶需要向認(rèn)證中心報(bào)案,認(rèn)證中心將該設(shè)備的證書標(biāo)記為撤消。并將該設(shè)備標(biāo)識(shí)符加入到證書失效的數(shù)據(jù)庫中。認(rèn)證中心根據(jù)緊急程度,定期廣播新近失效的設(shè)備標(biāo)識(shí)符,該廣播消息使用認(rèn)證中心的數(shù)字簽名。
設(shè)備有自己的安全訪問列表,該訪問列表確定可以和哪些PDA進(jìn)行保密通訊。PDA收到認(rèn)證中心的消息后,檢查通告的設(shè)備標(biāo)識(shí)符是否在自己的許可訪問列表中,是則打上證書無效標(biāo)志。
實(shí)現(xiàn)保密會(huì)話的數(shù)據(jù)結(jié)構(gòu)定義和狀態(tài)機(jī)消息類型1.HELLO消息 2.密鑰交換消息 3.會(huì)話消息圖2說明了消息的格式。只有會(huì)話消息和會(huì)話密鑰交換消息的消息體需要加密。會(huì)話消息的消息體,是加密后的會(huì)話內(nèi)容,由于DES是分組加密算法,明文和密文以64bit為一組進(jìn)行加密和解密。
HELLO消息option選項(xiàng)值的含義0表示希望和對(duì)方進(jìn)行保密通訊;1表示消息體中有發(fā)送者的證書。
flag標(biāo)志項(xiàng)值的含義0不需要對(duì)方傳送證書;1需要對(duì)方傳送證書。
密鑰交換消息flag標(biāo)志項(xiàng)值的含義0不需要對(duì)方傳送密鑰;1需要對(duì)方傳送密鑰。
會(huì)話消息flag標(biāo)志項(xiàng)的含義0密鑰不需要更改1表示需要更改密鑰2表示已經(jīng)更改密鑰會(huì)話的數(shù)據(jù)結(jié)果定義{dstId; 對(duì)端標(biāo)識(shí)state; 會(huì)話狀態(tài)flag; 標(biāo)志項(xiàng)selfKey;64位自己的密鑰dstKey; 64位對(duì)端的密鑰newKey; 64位新密鑰keyUseTime; 密鑰的使用壽命
rcvQue; 接收消息隊(duì)列sendQue;發(fā)送消息隊(duì)列rcvTaskId; 接收任務(wù)標(biāo)識(shí)sendTaskId; 發(fā)送任務(wù)標(biāo)識(shí)appId; 上層應(yīng)用標(biāo)識(shí)}接收消息隊(duì)列和發(fā)送消息隊(duì)列只存放應(yīng)用層的會(huì)話消息。
接收任務(wù)取接收消息隊(duì)列中的消息,進(jìn)行解密,交給上層應(yīng)用。
發(fā)送任務(wù)取發(fā)送消息隊(duì)列的消息,進(jìn)行加密,交給傳輸層。
圖3是保密會(huì)話狀態(tài)機(jī)的示意圖。
事件定義1創(chuàng)建會(huì)話;2刪除會(huì)話;3收到HELLO消息;4收到密鑰交換消息;5收到會(huì)話消息。
會(huì)話長(zhǎng)時(shí)間沒有消息發(fā)送和接收、鏈路斷開、會(huì)話結(jié)束、證書失效等將導(dǎo)致刪除會(huì)話事件的發(fā)生。
狀態(tài)定義關(guān)閉狀態(tài) DOWN;初始化狀態(tài) INIT;密鑰交換狀態(tài) EXCHANGE_KEY;會(huì)話狀態(tài) DIALOG。
會(huì)話狀態(tài)機(jī)描述
狀態(tài) DOWN;事件 1創(chuàng)建一個(gè)會(huì)話;下一個(gè)狀態(tài) 取決于活動(dòng);活動(dòng)檢查是否允許和對(duì)方進(jìn)行保密通訊,如果不允許,下一個(gè)狀態(tài)為DOWN,會(huì)話結(jié)束。否則,進(jìn)入INIT狀態(tài),檢查是否有對(duì)方的證書,沒有會(huì)話flag設(shè)為1,有flag設(shè)為0;向?qū)Ψ桨l(fā)送HELLO消息,消息中的標(biāo)志flag的值為本次會(huì)話中的flag值,消息中的option為0;消息體長(zhǎng)度為0。
事件 3收到HELLO消息;下一個(gè)狀態(tài) 取決于活動(dòng);活動(dòng)檢查是否允許和對(duì)方進(jìn)行保密通訊,如果不允許則進(jìn)入DOWN狀態(tài),會(huì)話結(jié)束。創(chuàng)建相應(yīng)的上層應(yīng)用,如果不成功,則進(jìn)入DOWN狀態(tài),會(huì)話結(jié)束。
創(chuàng)建一個(gè)會(huì)話,將會(huì)話狀態(tài)設(shè)置于INIT狀態(tài)。檢查是否有對(duì)方的證書,沒有flag設(shè)為1,有flag設(shè)為0;檢查對(duì)方是否需要自己的證書,如果不需要,flag|=0x0000,否則flag|=0x0010。
向?qū)Ψ桨l(fā)送HELLO消息,并告訴對(duì)方是否需要對(duì)方的證書,如果對(duì)方需要自己的證書,在HELLO消息的消息體中附加自己的證書。如果雙方都不需要對(duì)方的證書flag為0,則生成一個(gè)64位的密鑰,保存在本次會(huì)話的SelfKey中,進(jìn)入EXCHANGE_KEY狀態(tài);否則進(jìn)入INIT狀態(tài)。
其它事件下一個(gè)狀態(tài) DOWN;活動(dòng) 結(jié)束會(huì)話;INIT狀態(tài)
事件收到HELLO消息活動(dòng)如果消息中option為1且會(huì)話flag & 0x0001為1,則對(duì)消息中證書的合法性進(jìn)行驗(yàn)證,如果驗(yàn)證不合法則進(jìn)入DOWN狀態(tài)。否則,將對(duì)方的Id、公開密鑰以及密鑰的有效期保存在數(shù)據(jù)庫中。會(huì)話的flag=flag & 1110。如果對(duì)方需要自己的證書,則發(fā)送HELLO消息,附上自己的證書,和是否需要對(duì)方證書的標(biāo)識(shí)。如果雙方都不需要對(duì)方的證書即會(huì)話中flag為0,則進(jìn)入EXCHANGE_KEY密鑰交換狀態(tài),生成64位密鑰保存在本次會(huì)話的selfKey中,用私有密鑰加密后,發(fā)送給對(duì)方密鑰交換消息,消息的flag設(shè)為1,表明需要對(duì)方的密鑰。
證書的生成過程是,認(rèn)證中心使用RSA或其他公開密鑰算法的密鑰生成算法,為注冊(cè)的設(shè)備生成一對(duì)密鑰(公開密鑰、私有密鑰),并保證在該認(rèn)證中心范圍內(nèi),設(shè)備之間的公開密鑰是不重復(fù)的。注冊(cè)設(shè)備保存設(shè)備的私有密鑰,和公開密鑰,認(rèn)證中心只保存注冊(cè)設(shè)備的公開密鑰。認(rèn)證中心生成一份文件,里面有設(shè)備的ID號(hào),公開密鑰,有效期,認(rèn)證中心的標(biāo)識(shí),認(rèn)證中心不對(duì)該文件進(jìn)行加密,但根據(jù)該文件的內(nèi)容用MD5算法或其他算法生成一個(gè)散列值,然后認(rèn)證中心用自己的私有密鑰,采用RSA算法對(duì)該散列值進(jìn)行加密,加密后的值是認(rèn)證中心的數(shù)字簽名。數(shù)字簽名和文件構(gòu)成了注冊(cè)設(shè)備的證書,發(fā)給注冊(cè)設(shè)備。
證書的驗(yàn)證就是采用認(rèn)證中心的公開密鑰和公開密鑰算法,解密證書的數(shù)字簽名得到一個(gè)數(shù)值,然后對(duì)證書文件,求散列值,如果兩個(gè)值是相等的,則該證書是合法的,否則為非法的。
事件 2刪除會(huì)話下一個(gè)狀態(tài) DOWN活動(dòng) 結(jié)束會(huì)話,釋放本次會(huì)話所占有的資源。
其他事件
下一個(gè)狀態(tài)INIT活動(dòng)無密鑰交換狀態(tài)事件 3收到密鑰交換消息;下一個(gè)狀態(tài)取決于活動(dòng);活動(dòng)檢查對(duì)方是否需要自己的密鑰,如果需要將自己的64位密鑰傳給對(duì)方,并表明不需要對(duì)方的密鑰,會(huì)話flag設(shè)為0。如果對(duì)方不需要自己的密鑰,則進(jìn)入DIALOG,否則將自己的密鑰發(fā)送給對(duì)方,并表明不需要對(duì)方的密鑰,下一個(gè)狀態(tài)為EXCHANGE_KEY。
事件2關(guān)閉會(huì)話;下一個(gè)狀態(tài) DOWN;活動(dòng) 刪除會(huì)話;其它事件下一個(gè)狀態(tài)EXCHANGE_KEY;活動(dòng)無;會(huì)話狀態(tài)事件 收到對(duì)方的會(huì)話消息;下一個(gè)狀態(tài)DIALOG;活動(dòng)將該會(huì)話消息的消息體掛接到接收消息隊(duì)列。
事件 2刪除會(huì)話;下一個(gè)狀態(tài) DOWN;活動(dòng)結(jié)束會(huì)話,釋放本次會(huì)話所占有的資源。
其它事件下一個(gè)狀態(tài)會(huì)話狀態(tài);
活動(dòng)無。
以上是本方法的具體實(shí)現(xiàn)。不同認(rèn)證中心的兩臺(tái)設(shè)備要進(jìn)行保密通訊,必須是它們所屬的認(rèn)證中心建立了相互信任的關(guān)系,需要先向自己所屬認(rèn)證中心請(qǐng)求對(duì)方認(rèn)證中心的的證書,對(duì)該證書驗(yàn)證后,再用對(duì)方認(rèn)證中心的公開密鑰驗(yàn)證對(duì)方設(shè)備的合法性。
權(quán)利要求
1.一種嵌入式設(shè)備保密通訊的方法,其特征在于,其系統(tǒng)包括認(rèn)證中心和多臺(tái)嵌入式設(shè)備,所述嵌入式設(shè)備之間的會(huì)話信息采用對(duì)稱加密方法加密,所述對(duì)稱加密方法的對(duì)稱密鑰的交換,采用非對(duì)稱加密方法加密,每次會(huì)話生成不同的所述對(duì)稱密鑰作為會(huì)話密鑰;所述方法包括以下步驟第一步保密通訊的雙方交換公開密鑰;第二步保密通訊的雙方相互進(jìn)行身份認(rèn)證并提取對(duì)方的公開密鑰;第三步保密通訊的雙方交換對(duì)稱密鑰;第四步保密通訊的雙方進(jìn)行保密通訊。
2.根據(jù)權(quán)利要求1所述的方法,其特征是所述第一步包括以下步驟a1)保密通訊的發(fā)起方第一嵌入式設(shè)備檢查保密通訊的響應(yīng)方第二嵌入式設(shè)備是否在其允許保密通訊的設(shè)備列表中,所述第二嵌入式設(shè)備的證書是否有效,如果該設(shè)備不在所述允許保密通訊的設(shè)備列表中,或其證書已失效,則保密通訊過程終止;a2)所述第一嵌入式設(shè)備檢查其公開密鑰庫中有沒有所述第二嵌入式設(shè)備的公開密鑰和該公開密鑰的有效期,然后,所述第一嵌入式設(shè)備向所述第二嵌入式設(shè)備發(fā)出希望保密通訊的消息;該消息中包括其設(shè)備標(biāo)識(shí)符,如果所述第一嵌入式設(shè)備沒有所述第二嵌入式設(shè)備的公開密鑰或者其不在有效期內(nèi),該消息中還包括需要對(duì)方公開密鑰的信息;a3)所述第二嵌入式設(shè)備收到所述消息后,如果不同意對(duì)話則丟掉該消息,所述保密通訊過程終止;否則根據(jù)對(duì)方的設(shè)備標(biāo)識(shí)符,檢查自己的公開密鑰庫中有沒有對(duì)方的公開密鑰和其有效期,然后向?qū)Ψ桨l(fā)應(yīng)答消息,如果所述第二嵌入式設(shè)備沒有所述第一嵌入式設(shè)備的公開密鑰或者其不在有效期內(nèi),該應(yīng)答消息中包括需要對(duì)方公開密鑰的信息;a4)所述第一嵌入式設(shè)備收到所述應(yīng)答消息,檢查所述第二嵌入式設(shè)備是否需要自己的公開密鑰,如果雙方都不需要對(duì)方的公開密鑰,轉(zhuǎn)到所述第三步;否則如果所述第一嵌入式設(shè)備需要對(duì)方的證書,則請(qǐng)求對(duì)方將其證書傳給自己;如果對(duì)方同意,則將其證書傳給所述第一嵌入式設(shè)備,不同意則所述保密通訊過程終止;如果所述第二嵌入式設(shè)備需要對(duì)方的證書,則請(qǐng)求對(duì)方將其證書傳給自己;如果對(duì)方同意,則將其證書傳給所述第二嵌入式設(shè)備,不同意則所述保密通訊過程終止。
3.根據(jù)權(quán)利要求2所述的方法,其特征是所述第二步包括以下步驟保密通訊雙方收到對(duì)方的證書后,對(duì)證書的合法性進(jìn)行驗(yàn)證,如果合法,則從證書中提取對(duì)方的公開密鑰,存儲(chǔ)至自己的公開密鑰庫中,否則,所述保密通訊過程終止。
4.根據(jù)權(quán)利要求3所述的方法,其特征是所述第三步包括以下步驟保密通訊雙方從各自的公開密鑰庫中獲取對(duì)方的公開密鑰,然后進(jìn)入以下步驟b1)所述第一嵌入式設(shè)備隨機(jī)生成一定bit的第一密鑰,并確定所述第一密鑰的有效期,用自己的私有密鑰對(duì)所述第一密鑰加密,然后,傳給所述第二嵌入式設(shè)備;b2)所述第二嵌入式設(shè)備隨機(jī)生成一定bit的第二密鑰,并確定密鑰的有效期,用自己的私有密鑰對(duì)所述第二密鑰加密,然后,傳給所述第一嵌入式設(shè)備;b3)所述第一嵌入式設(shè)備收到所述第二嵌入式設(shè)備的消息后,用所述第二嵌入式設(shè)備的公開密鑰,和相應(yīng)的解密算法解密,得到所述第二嵌入式設(shè)備的對(duì)稱密鑰第三密鑰,再用所述第二嵌入式設(shè)備的公開密鑰加密所述第三密鑰后,應(yīng)答給所述第二嵌入式設(shè)備;b4)所述第二嵌入式設(shè)備收到所述第一嵌入式設(shè)備的消息后,用所述第一嵌入式設(shè)備的公開密鑰,和相應(yīng)的解密算法解密,得到所述第一嵌入式設(shè)備的對(duì)稱密鑰第四密鑰,再用所述第一嵌入式設(shè)備的公開密鑰加密所述第四密鑰后,應(yīng)答給所述第一嵌入式設(shè)備;b5)所述第一嵌入式設(shè)備收到所述第二嵌入式設(shè)備的應(yīng)答消息,用自己的私有密鑰對(duì)所述第四密鑰解密后,和所述所述第一密鑰比較,如果兩者不一樣則所述保密通訊過程終止;b6)所述第二嵌入式設(shè)備收到所述第一嵌入式設(shè)備的應(yīng)答消息,用自己的私有密鑰對(duì)所述第三密鑰解密后,和所述第二密鑰比較,如果兩者不一樣則所述保密通訊過程終止。
5.根據(jù)權(quán)利要求4所述的方法,其特征是所述第一嵌入式設(shè)備和所述第二嵌入式設(shè)備使用相同的加、解密算法,進(jìn)行會(huì)話信息的保密、解密;所述第一嵌入式設(shè)備使用所述第一密鑰進(jìn)行加密,使用所述第二密鑰進(jìn)行解密;所述第二嵌入式設(shè)備使用所述第二密鑰進(jìn)行加密,使用所述第一密鑰進(jìn)行解密;會(huì)話期間,如果所述第一密鑰或所述第二密鑰的有效期期滿,需超時(shí)更新,包括以下步驟c1)如果所述第一嵌入式設(shè)備的所述第一密鑰使用超時(shí),所述第一嵌入式設(shè)備在當(dāng)前的消息中攜帶自己將更改密鑰的信號(hào),并使用該消息與所述第一密鑰根據(jù)生成算法計(jì)算出新的加密密鑰,使用所述第一密鑰加密和發(fā)送當(dāng)前消息,等待對(duì)方的應(yīng)答;c2)接收方所述第二嵌入式設(shè)備取得對(duì)方密鑰更新的信號(hào),在當(dāng)前消息中攜帶應(yīng)答信號(hào),表明已收到更改信號(hào);如果所述第二嵌入式設(shè)備沒有需要發(fā)送的當(dāng)前消息,則應(yīng)答一條空消息,然后,所述第二嵌入式設(shè)備使用所述第一嵌入式設(shè)備的消息和所述第一密鑰根據(jù)所述生成算法計(jì)算出新的密鑰,并啟用該新的密鑰進(jìn)行解密;c3)所述第一嵌入式設(shè)備收到所述第二嵌入式設(shè)備的應(yīng)答后,啟用所述新的加密密鑰;所述第一嵌入式設(shè)備在等待所述第二嵌入式設(shè)備的應(yīng)答時(shí),設(shè)置超時(shí)定時(shí)器,如果所述超時(shí)定時(shí)器超時(shí),沒有得到對(duì)方的應(yīng)答消息,則終止當(dāng)前會(huì)話。
6.根據(jù)權(quán)利要求5所述的方法,其特征是所述生成算法包括如下步驟使用md5算法求當(dāng)前消息的128位的散列值,將前64位和后64位作異或運(yùn)算,得到64位散列值,再與當(dāng)前的密鑰按位異或生成新的密鑰。
7.根據(jù)權(quán)利要求4所述的方法,其特征是所述一定bit的第一密鑰的位數(shù)設(shè)置為64bit,所述一定bit的第二密鑰的位數(shù)設(shè)置為64bit。
8.根據(jù)權(quán)利要求1至7任一所述的方法,其特征是所述對(duì)稱加密方法的算法采用DES算法,所述非對(duì)稱加密方法的算法采用RSA算法。
9.根據(jù)權(quán)利要求8所述的方法,其特征是所述對(duì)稱加密方法的算法采用8輪迭代的DES算法。
全文摘要
本發(fā)明公開了一種嵌入式設(shè)備保密通訊的方法,其系統(tǒng)包括認(rèn)證中心和多臺(tái)嵌入式設(shè)備;嵌入式設(shè)備之間的會(huì)話信息采用對(duì)稱加密方法加密,對(duì)稱加密方法的對(duì)稱密鑰的交換,采用非對(duì)稱加密方法加密,每次會(huì)話生成不同的所述對(duì)稱密鑰作為會(huì)話密鑰;該方法的保密通訊過程分為四個(gè)步驟第一步雙方交換公開密鑰;第二步相互進(jìn)行身份認(rèn)證并提取對(duì)方的公開密鑰;第三步雙方交換對(duì)稱密鑰;第四步雙方進(jìn)行保密通訊。該方法在傳輸層和應(yīng)用層之間,建立保密通訊層,結(jié)構(gòu)清晰,易于實(shí)現(xiàn),同時(shí)支持多種應(yīng)用的保密通訊,能夠安全高效地實(shí)現(xiàn)嵌入式設(shè)備的保密通訊。
文檔編號(hào)H04L9/30GK1555151SQ20031011754
公開日2004年12月15日 申請(qǐng)日期2003年12月26日 優(yōu)先權(quán)日2003年12月26日
發(fā)明者左雪梅, 蘆東昕, 王陳, 繆敬, 黃燁明, 張芝萍 申請(qǐng)人:中興通訊股份有限公司