專(zhuān)利名稱(chēng):個(gè)人鑰加密方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種通信網(wǎng)絡(luò)中的加密方法,本系統(tǒng)由一個(gè)管理設(shè)備和若干用戶設(shè)備組成,其中密鑰管理由管理設(shè)備完成,而加解密則由用戶設(shè)備的軟硬件來(lái)完成。
傳統(tǒng)密碼術(shù)使用對(duì)稱(chēng)鑰算法(即私鑰算法),如DES,其特點(diǎn)是解密密鑰與加密密鑰相同或容易從加密密鑰導(dǎo)出。在這種系統(tǒng)中,加密密鑰的暴露會(huì)使系統(tǒng)變得不安全。另外,在一個(gè)n用戶的安全系統(tǒng)中,共需要n(n-1)/2個(gè)密鑰,每個(gè)用戶保管n個(gè)密鑰,這么多的密鑰管理起來(lái)是很困難的。
公鑰密碼系統(tǒng)使用公鑰密碼算法(一種非對(duì)稱(chēng)算法),其中解密密鑰和加密密鑰不同,從一個(gè)難于推出另一個(gè),解密和加密是可分離的。在一個(gè)n用戶的公鑰系統(tǒng)中,存在n個(gè)私鑰和n個(gè)公鑰。每個(gè)用戶只須保存他自己的私鑰。最流行的公鑰密碼算法是RSA算法,而ECC算法則被認(rèn)為是最有可能取代RSA的公鑰密碼算法。但與對(duì)稱(chēng)鑰算法相比,無(wú)論RSA還是ECC都過(guò)于復(fù)雜,速度慢且硬件上難于實(shí)現(xiàn),因此,對(duì)它們的使用經(jīng)常以效率的極大下降為代價(jià)。
在多數(shù)的實(shí)際應(yīng)用中,密鑰的分配使用公鑰算法,而消息的傳送則使用私鑰算法,即混合加密方法。
隨著Internet和電子商務(wù)的快速發(fā)展,密碼術(shù)越來(lái)越多地用于商用和民用系統(tǒng)之中。這就意味著密鑰的分發(fā)、密鑰更新以及密鑰交換將被頻繁執(zhí)行,此時(shí),混合加密方法就不再適用了。
本發(fā)明的目的在于提供一種安全有效并可擴(kuò)展的多用戶安全系統(tǒng)方案,它適合于大多數(shù)有線、無(wú)線通信、計(jì)算機(jī)網(wǎng)絡(luò)通信以及其他一些可提供較高數(shù)據(jù)傳輸率和較大存儲(chǔ)空間的通信系統(tǒng)。
本發(fā)明的加密方法中有一個(gè)管理者和若干用戶。其特點(diǎn)是用戶在每次發(fā)送一條消息時(shí)需要三個(gè)密鑰一個(gè)只有用戶本人和管理中心知道的個(gè)人鑰GA,一個(gè)本用戶向接收方用戶的發(fā)送密鑰KAB,以及一個(gè)公開(kāi)的接收方的身份識(shí)別碼IB;用戶在每次接收一條消息時(shí)也需要三個(gè)密鑰個(gè)人鑰GB,接收密鑰KBA,發(fā)送方的身份識(shí)別碼IA。用戶只須保存自己的個(gè)人鑰G,發(fā)送密鑰K可在每次發(fā)送消息時(shí)生成并可被公開(kāi),因只有接收密鑰而無(wú)個(gè)人鑰無(wú)法解密消息。加解密模塊由密鑰再生模塊和對(duì)稱(chēng)鑰密碼算法(分組密碼算法或序列密碼算法)構(gòu)成。
本加密方法在密鑰的管理上存在很多優(yōu)勢(shì)。密鑰再生模塊可以不使用公鑰算法而完成,這意味著系統(tǒng)無(wú)須復(fù)雜的指數(shù)求模計(jì)算,在實(shí)現(xiàn)時(shí)就容易達(dá)到高效率和低成本。除此之外,系統(tǒng)在密鑰的選擇上具有很大的靈活性。RSA和ECC算法都需要選擇合適的密鑰或者曲線方程以保證系統(tǒng)的安全性,而本系統(tǒng)可使用任意隨機(jī)數(shù)作為密鑰。在加解密方式上本系統(tǒng)同樣具有靈活性。選擇一組用戶,一個(gè)用戶可以選擇一個(gè)密鑰將消息廣播給這組用戶,而不屬于本組的用戶則無(wú)法解密被廣播的消息。
本發(fā)明在安全性上也有很多優(yōu)勢(shì)。首先,在相同密鑰長(zhǎng)度的條件下,一個(gè)設(shè)計(jì)良好的分組密碼比RSA或ECC更加安全。第二,個(gè)性化的加解密使得不誠(chéng)實(shí)的用戶難于欺騙其它使用者,而且對(duì)于某一用戶的成功攻擊不會(huì)威脅其它用戶之間通信的安全。第三,真隨機(jī)數(shù)的引入使得加解密密鑰攜帶了很少的個(gè)人鑰信息,即使加解密密鑰被攻擊者破獲,個(gè)人鑰仍然是安全的,管理者可以通知用戶更新加解密密鑰以恢復(fù)系統(tǒng)的安全。第四,由于密鑰再生模塊的輸入可以為任意長(zhǎng)度,用戶的個(gè)人鑰也可以為任意長(zhǎng)度,只要密鑰再生模塊中的算法設(shè)計(jì)的足夠安全,個(gè)人鑰可以達(dá)到非常高的安全度。
另外,一對(duì)用戶通信時(shí),兩個(gè)方向的加解密過(guò)程都是相對(duì)獨(dú)立的,可以籍由改變發(fā)送密鑰和接收密鑰來(lái)改變加密方法。這樣,管理者就可以分別控制每一信道任何方向的安全。
利用安全物理封裝可以體現(xiàn)本發(fā)明的另兩個(gè)優(yōu)勢(shì)第一,如果解密不同于加密,即,兩次加密一個(gè)消息無(wú)法得出解密的消息,我們可以封裝加解密模塊,使模塊中的處理過(guò)程無(wú)法被讀出,這樣,發(fā)送方無(wú)法否認(rèn)它發(fā)出的消息,因?yàn)闆](méi)有其它用戶能加密出這條消息。
第二,管理中心可以把用戶的個(gè)人鑰和加解密模塊進(jìn)行安全物理封裝,使得用戶不能讀出個(gè)人鑰的信息。這時(shí),管理者可以向廣播者發(fā)送一個(gè)廣播加密密鑰,向接收者們發(fā)送廣播解密密鑰。接收者的廣播解密密鑰各不相同,并且,由于接收者不能讀出個(gè)人密鑰和解密過(guò)程,他們無(wú)法得到實(shí)際解密運(yùn)算所使用的密鑰。因此,就可以防止接收者們向其他用戶提供解密方法。這樣的一個(gè)加密體制非常適合于圖文電視或有線電視的收費(fèi)服務(wù)。
下面結(jié)合附圖對(duì)本發(fā)明作進(jìn)一步詳細(xì)的描述。
圖1是本發(fā)明的整體框架圖。
圖2是管理者生成傳輸密鑰過(guò)程的示意圖。
圖3是用戶生成加解密密鑰的示意圖。該圖中該圖中的加解密算法可為任意的分組密碼或流密碼,KAB是加密密鑰,KBA是解密密鑰。
圖4是利用個(gè)人鑰加密方法實(shí)現(xiàn)廣播加密的示意圖。
圖5是廣播加密中管理者生成傳輸密鑰過(guò)程的示意圖。
圖6是廣播加密中用戶生成加解密密鑰的示意圖。
圖1為個(gè)人鑰加密方法的整體框架圖,系統(tǒng)由管理者1,用戶2以及連接管理者1和用戶2的公開(kāi)網(wǎng)絡(luò)3組成。在個(gè)人鑰加密方法中,管理者1具有完成圖2或圖3功能的硬件或軟件,而用戶2則能夠完成圖4所示的功能。每一用戶2都有自己的唯一身份識(shí)別碼I。
如果用戶A想加入某個(gè)人鑰系統(tǒng),系統(tǒng)管理者1先通過(guò)某一安全方式向用戶A分發(fā)一個(gè)人鑰GA,該安全方式可以是通過(guò)某一安全通道,或通過(guò)可信部門(mén)認(rèn)證用戶身份,或使用某密鑰交換協(xié)議。用戶A的身份識(shí)別碼IA在網(wǎng)絡(luò)中公開(kāi)以便所有與用戶A通信的用戶可以得到它。
管理者在網(wǎng)絡(luò)中公布一個(gè)時(shí)戳T。當(dāng)用戶A與管理者交換完個(gè)人鑰后,管理者將時(shí)戳T發(fā)給用戶A,對(duì)于每一用戶A想與之通信且被允許與之通信的用戶,管理者如圖二所示生成一對(duì)傳輸密鑰TRAB、TSAB,并通過(guò)公共網(wǎng)絡(luò)將TSAB發(fā)給用戶A,TRAB發(fā)給用戶B。
當(dāng)管理者認(rèn)為密鑰需要更新時(shí),就產(chǎn)生一新的時(shí)戳T,生成所有傳輸密鑰并通過(guò)公共網(wǎng)絡(luò)將它們發(fā)送給用戶。
如果用戶A想發(fā)送一條加密消息給用戶B,他將T、IB和TSAB送入加密/解密模塊,執(zhí)行加密操作并將加密過(guò)的消息通過(guò)公共網(wǎng)絡(luò)發(fā)送給用戶B。當(dāng)用戶B接收到加密消息后,他將T、IA以及TRAB送入加密/解密模塊,執(zhí)行解密操作,得到明文。
圖2為管理者生成傳輸密鑰過(guò)程的示意圖。
參照?qǐng)D2,該模塊中有兩個(gè)密鑰生成模塊發(fā)送密鑰生成模塊和接收密鑰生成模塊。當(dāng)管理者計(jì)算傳輸密鑰時(shí),首先將用戶A的個(gè)人鑰GA用戶B的身份標(biāo)志碼IB和時(shí)戳T以及臨時(shí)生成的一個(gè)真隨機(jī)數(shù)CAB作為發(fā)送密鑰生成模塊的輸入,得到發(fā)送密鑰TSAB,將用戶B的個(gè)人鑰GB、用戶A的身份標(biāo)志碼IA和時(shí)戳T以及同一真隨機(jī)數(shù)CAB作為接收密鑰生成模塊的輸入,得到接收密鑰TRAB。
圖3為用戶生成加解密密鑰的示意圖。該模塊包括兩個(gè)子模塊加密密鑰再生模塊和解密密鑰再生模塊。用戶A首先將自己的個(gè)人鑰GA、用戶B的身份標(biāo)志碼IB和時(shí)戳T以及發(fā)送密鑰TSAB作為加密密鑰再生模塊的輸入即得到加密密鑰KAB,將自己的個(gè)人鑰GA、用戶B的身份標(biāo)志碼IB和時(shí)戳T以及接收密鑰TRBA作為解密密鑰再生模塊的輸入即得到解密密鑰KBA。相應(yīng)地,用戶B將自己的個(gè)人鑰GB、用戶A的身份標(biāo)志碼IA和時(shí)戳T以及發(fā)送密鑰TSBA作為加密密鑰再生模塊的輸入即得到加密密鑰KAB,將自己的個(gè)人鑰GB、用戶A的身份標(biāo)志碼IA和時(shí)戳T以及接收密鑰TRAB作為解密密鑰再生模塊的輸入即得到解密密鑰KBA。
該密鑰再生模塊具有如下特點(diǎn)己知傳輸密鑰、身份標(biāo)志碼、時(shí)戳和個(gè)人鑰產(chǎn)生加解密密鑰是容易的,在只有傳輸密鑰、身份標(biāo)志碼、時(shí)戳而沒(méi)有個(gè)人鑰的情況下產(chǎn)生加解密密鑰是困難的。另外,通過(guò)加解密密鑰、傳輸密鑰、身份標(biāo)志碼和時(shí)戳產(chǎn)生個(gè)人鑰也是困難的,即,密鑰再生模塊是不可逆推的。
圖4所示為利用個(gè)人鑰加密方法實(shí)現(xiàn)廣播加密的示意圖。如果用戶A想向一組用戶(如用戶B1、B2、…、Bn)廣播加密消息,他先向管理者發(fā)送一個(gè)請(qǐng)求,管理者將生成的一個(gè)真隨機(jī)數(shù)C,時(shí)戳T,及用戶A的個(gè)人鑰GA作為發(fā)送密鑰生成模塊的輸入,生成用戶A的發(fā)送密鑰TSAB,并發(fā)送給用戶A。同時(shí),管理者將同一隨機(jī)數(shù)C,時(shí)戳T,用戶A的身份識(shí)別碼IA,用戶Bi的個(gè)人鑰GBi作為接收密鑰生成模塊的輸入,生成用戶Bi的接收密鑰TRABi,并發(fā)送給用戶Bi。圖5表現(xiàn)了廣播加密時(shí)管理者生成傳輸密鑰的過(guò)程。然后,如圖6所示,用戶A使用該傳輸密鑰TSAB、時(shí)戳T以及個(gè)人鑰GA加密消息并廣播出去,所有屬于該組的用戶Bi可以利用接收密鑰TRABi、時(shí)戳T及身份識(shí)別碼IA和個(gè)人鑰GBi對(duì)其進(jìn)行解密,而非該組用戶則不能。
在廣播加密時(shí),管理中心應(yīng)該把用戶的個(gè)人鑰和加解密模塊進(jìn)行安全物理封裝,使得用戶不能讀出個(gè)人鑰的信息。這時(shí),管理者向廣播者發(fā)送一個(gè)廣播加密密鑰,向接收者們發(fā)送廣播解密密鑰。接收者的廣播解密密鑰各不相同,并且,由于接收者不能讀出個(gè)人密鑰和解密過(guò)程,他們無(wú)法得到實(shí)際解密運(yùn)算所使用的密鑰。因此,就可以防止接收者們向其他用戶提供解密方法。這樣的一個(gè)加密體制非常適合于圖文電視或有限電視的收費(fèi)服務(wù)。
如果將加密消息再次加密不會(huì)得到解密的消息,我們可以用硬件將圖四所示過(guò)程封裝起來(lái)。如果我們的封裝足夠牢固以使得無(wú)法從該模塊讀取任何數(shù)據(jù),并且個(gè)人鑰交換過(guò)程中用戶無(wú)法得知他的個(gè)人鑰(例如在用戶得到該模塊之前已完成個(gè)人鑰的交換),那么用戶就無(wú)法得到加密密鑰和解密密鑰,從而就無(wú)法否認(rèn)他發(fā)出的加密消息,因?yàn)槠渌藷o(wú)法生成該加密消息。
本發(fā)明具有多方面的實(shí)用價(jià)值,下面以局域網(wǎng)和圖文電視系統(tǒng)來(lái)說(shuō)明本發(fā)明的具體應(yīng)用。
在一個(gè)局域網(wǎng)中,具有一個(gè)管理中心和若干用戶。用戶從管理中心取得個(gè)人鑰并保存在一個(gè)內(nèi)部具有保護(hù)功能的芯片中,同時(shí)被保存的在該芯片中的還有用戶的加解密算法。對(duì)于每對(duì)要求并被許可通信的雙方,管理中心為它們生成并發(fā)送傳輸密鑰。由于解密密鑰的生成需要接收方的個(gè)人鑰,因此,攻擊者無(wú)法通過(guò)竊聽(tīng)手段獲取明文信息。管理者可以控制單向通信。
其中管理者的傳輸密鑰生成模塊可以按以下方式進(jìn)行設(shè)計(jì)該模塊中包含兩個(gè)哈希函數(shù),即發(fā)送哈希函數(shù)和接收哈希函數(shù)。當(dāng)管理者計(jì)算傳輸密鑰時(shí),首先將用戶A的個(gè)人鑰GA、用戶B的身份標(biāo)志碼IB和時(shí)戳T作為發(fā)送哈希函數(shù)的輸入,得到預(yù)發(fā)送密鑰SAB,將用戶B的個(gè)人鑰GB、用戶A的身份標(biāo)志碼IA和時(shí)戳T作為接收哈希函數(shù)的輸入,得到預(yù)接收密鑰RAB。然后管理者生成一個(gè)真隨機(jī)數(shù)CAB,將SAB和CAB作為發(fā)送密鑰生成過(guò)程的輸入得到發(fā)送密鑰TSAB,將RAB和CAB作為接收密鑰生成過(guò)程的輸入得到接收密鑰TRAB。密鑰生成過(guò)程的最簡(jiǎn)單的實(shí)現(xiàn)方案就是TSAB=SABXOR CAB,TRAB=RABXOR CAB。
相應(yīng)地,用戶重新生成傳輸密鑰的過(guò)程如下該模塊中也包含兩個(gè)哈希函數(shù),即發(fā)送哈希函數(shù)和接收哈希函數(shù)。用戶A首先將自己的個(gè)人鑰GA、用戶B的身份標(biāo)志碼IB和時(shí)戳T作為發(fā)送哈希函數(shù)的輸入,得到預(yù)發(fā)送密鑰SAB,將自己的個(gè)人鑰GA、用戶A的身份標(biāo)志碼IB和時(shí)戳T作為接收哈希函數(shù)的輸入,得到預(yù)接收密鑰RAB。然后將預(yù)發(fā)送密鑰SAB和發(fā)送密鑰TSAB作為加密密鑰生成過(guò)程的輸入即得到加密密鑰KAB,將預(yù)接收密鑰RBA和接收密鑰TRBA作為解密密鑰生成過(guò)程的輸入即得到解密密鑰KBA。加密密鑰生成過(guò)程和解密密鑰生成過(guò)程的最簡(jiǎn)單的實(shí)現(xiàn)方案為,用戶A由KAB=SABXOR TSAB得到加密密鑰,用戶B由KBA=RBAXOR TRBA得到解密密鑰。
在一個(gè)圖文電視系統(tǒng)中,有線電視公司向合法用戶發(fā)送電視信號(hào),為防止其它用戶獲取電視信息,該信號(hào)須加密后發(fā)送。因此,合法用戶應(yīng)具有解密功能,該解密密鑰由有線電視公司為其分配。另外,有線電視公司同樣要防止合法用戶出于某種目的向非法用戶出售解密密鑰。由于個(gè)人鑰加密方法所具有的廣播加密功能及個(gè)人鑰特性,它能夠很好地解決圖文電視的加密中的這些問(wèn)題。在該系統(tǒng)中,有線電視公司作為管理者為用戶發(fā)送個(gè)人鑰,并將個(gè)人鑰和解密模塊封裝在一個(gè)內(nèi)部具有保護(hù)功能的芯片中。芯片置于數(shù)據(jù)通路上,使得所有有線電視公司與用戶間傳輸?shù)臄?shù)據(jù)都經(jīng)過(guò)該芯片。隨后,有線電視公司為合法用戶分配傳輸密鑰,該傳輸密鑰按時(shí)段被更新(如每月更新一次)。用戶若需要接收某時(shí)段的電視節(jié)目,就向有線電視公司購(gòu)買(mǎi)該時(shí)段的使用權(quán),有線電視公司則為其發(fā)放該時(shí)段的接收密鑰,用戶利用接收密鑰、芯片中的個(gè)人鑰和解密模塊即可得到解密后的電視信號(hào)。這樣,有線電視公司就實(shí)現(xiàn)了收費(fèi)的管理。顯然,用戶也可以一次購(gòu)買(mǎi)幾個(gè)時(shí)段的接收密鑰。由于只有合法用戶才持有有線電視公司為其發(fā)放的個(gè)人鑰,因而非法用戶無(wú)法解密被加密過(guò)的電視信號(hào)f即使他通過(guò)某種手段獲得了接收密鑰。同時(shí),由于個(gè)人鑰和解密模塊被封裝在芯片中,合法用戶也無(wú)法將其出售或通過(guò)其它途徑將其泄露給非法用戶。這樣,個(gè)人鑰加密方法就在不影響圖文電視基本功能的同時(shí),解決了其中的收費(fèi)保護(hù)問(wèn)題。
雖然僅僅為了說(shuō)明的目的公開(kāi)了或披露了本發(fā)明的優(yōu)選實(shí)施例,但是現(xiàn)有技術(shù)中的普通技術(shù)人員都應(yīng)當(dāng)理解本發(fā)明并不限于這些實(shí)施例,只要不背離本發(fā)明及其所屬權(quán)利要求的范圍和精神。
權(quán)利要求
1.一種通信網(wǎng)絡(luò)中的加密方法,由一個(gè)管理設(shè)備和若干用戶設(shè)備組成,其特征在于密鑰管理由管理設(shè)備完成,加解密由用戶設(shè)備的軟硬件來(lái)完成。
2.根據(jù)權(quán)利要求1的加密方法,其特征在于管理者先通過(guò)某一安全途徑向用戶分發(fā)個(gè)人鑰G并在網(wǎng)絡(luò)中公布用戶的身份識(shí)別碼。
3.根據(jù)權(quán)利要求1的加密方法,其特征在于管理者在網(wǎng)絡(luò)中公布一個(gè)時(shí)戳T并發(fā)給用戶。
4.根據(jù)權(quán)利要求1的加密方法,其特征在于管理者利用時(shí)戳、收發(fā)雙方的個(gè)人鑰、收發(fā)雙方的身份識(shí)別碼及臨時(shí)生成的一個(gè)真隨機(jī)數(shù)為每對(duì)需要并被允許通信的用戶生成一對(duì)傳輸密鑰并分別發(fā)送給通信雙方。
5.根據(jù)權(quán)利要求1的加密方法,其特征在于用戶將時(shí)戳、接收方的身份識(shí)別碼、發(fā)送密鑰送入加密模塊完成加密過(guò)程,用戶將時(shí)戳、發(fā)送方的身份識(shí)別碼、接收密鑰送入解密模塊完成解密過(guò)程。
6.根據(jù)權(quán)利要求5的加密方法,其特征在于所說(shuō)加密模塊包含一個(gè)加密密鑰再生模塊和一個(gè)加密過(guò)程,所說(shuō)解密模塊包含一個(gè)解密密鑰再生模塊和一個(gè)解密過(guò)程,
7.根據(jù)權(quán)利要求5或6的加密方法,其特征在于用戶個(gè)人鑰被封裝在加解密模塊中并參與加解密密鑰的再生。
8.根據(jù)權(quán)利要求6或7的加密方法,其特征在于密鑰再生模塊的輸入?yún)?shù)設(shè)置具有靈活性,可以根據(jù)需要增加某些參數(shù),也可根據(jù)需要?jiǎng)h去某些參數(shù)。
9.根據(jù)權(quán)利要求1的加密方法,其特征在于用戶可對(duì)一組用戶廣播加密消息,使得該組所有用戶均可解密該消息,而非該組成員則不能。
10.根據(jù)權(quán)利要求1的加密方法,其特征在于加解密模塊可被封裝以獲取更多的安全性能,在廣播加密時(shí)所有接收者的加解密模塊則必須被封裝。
11.根據(jù)權(quán)利要求1的加密方法,其特征在于用戶只須秘密保存其自身的個(gè)人鑰,傳輸密鑰和身份識(shí)別碼可以公開(kāi)存放。
全文摘要
一種個(gè)人鑰加密方法,由一個(gè)管理設(shè)備和若干個(gè)用戶設(shè)備組成。其中密鑰管理由管理設(shè)備完成,加解密由用戶設(shè)備完成。管理設(shè)備產(chǎn)生時(shí)戳、各用戶的個(gè)人鑰、用戶身份識(shí)別碼及用戶間的傳輸密鑰并發(fā)送給用戶,用戶利用個(gè)人鑰、身份識(shí)別碼和傳輸密鑰再生出加解密密鑰。管理中心可在必要時(shí)重新生成傳輸密鑰。本發(fā)明在密鑰的選擇和加解密方式上都具有很大的靈活性,可實(shí)現(xiàn)安全的加密傳輸和加密廣播。
文檔編號(hào)H04L9/32GK1248837SQ99119590
公開(kāi)日2000年3月29日 申請(qǐng)日期1999年9月8日 優(yōu)先權(quán)日1999年9月8日
發(fā)明者胡俊, 后健慈 申請(qǐng)人:北京龍安計(jì)算機(jī)技術(shù)開(kāi)發(fā)有限公司