專利名稱:強算法的弱對稱密鑰的可核實生成的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及加密,更具體地說,涉及產(chǎn)生占用弱密鑰空間的強密鑰。
背景技術(shù):
例證的保密因特網(wǎng)通信會話通過非信任的或者不可靠的網(wǎng)絡(luò)(例如因特網(wǎng))連接第一和第二通信設(shè)備,比如IP硬電話、軟電話、個人計算機(PC)、膝上型計算機、電話服務(wù)器和個人數(shù)字助理(PDA)。通信設(shè)備設(shè)法建立保密會話,并且必須進行密鑰交換。如將要認(rèn)識到的,通常位于連接兩個端點的PBX服務(wù)器的隨機數(shù)發(fā)生器被用于在保密會話期間,產(chǎn)生將被每個通信設(shè)備采用的密鑰。第一和第二通信都使用所述密鑰加密、解密和驗證明文和密文。在對稱加密中,通過在每個會話節(jié)點將同樣的密鑰輸入相同的加密算法中,進行加密和解密。
許多國家,比如美國出于國家安全的考慮,對加密技術(shù)和產(chǎn)品進行嚴(yán)格的出口管制。在美國,對商業(yè)加密產(chǎn)品的出口管制由出口管理條例或者說EAR授權(quán)的美國商務(wù)部工業(yè)安全局管理,以及由信息技術(shù)管理條例或者說ITAR授權(quán)的國務(wù)院國防貿(mào)易管制辦公室(DTC)管理。歷史上,一直對準(zhǔn)予高于某一級別的加密產(chǎn)品的出口許可證進行嚴(yán)格控制。其它國家具有類似的條例。
對于在國際市場上銷售加密使能產(chǎn)品的公司來說,一個持續(xù)挑戰(zhàn)是有效地控制加密產(chǎn)品的強度。與對在其它國家,尤其是某些嚴(yán)格受出口管制的國家,比如伊朗、古巴和北朝鮮中銷售的這種產(chǎn)品相比,對于在美國銷售的這種產(chǎn)品,對加密強度的控制要寬松得多。
控制加密強度的一種方法是根據(jù)產(chǎn)品目的地改變加密算法。這是利用許可證文件來實現(xiàn)的。舉例來說,許可證文件工具控制該設(shè)備是否支持不同強度的第一或第二加密算法。弱加密算法的例子包括數(shù)據(jù)加密標(biāo)準(zhǔn)056(DES),強加密算法的例子包括Triple或Three DES和高級加密標(biāo)準(zhǔn)(AES)。如將要認(rèn)識到的,DES遠(yuǎn)遠(yuǎn)弱于Triple DES。當(dāng)設(shè)備不支持強加密算法時,在許可證文件中設(shè)置或不設(shè)置一個標(biāo)記。在許可證檢查和/或會話協(xié)商期間,當(dāng)所述標(biāo)記指示設(shè)備不支持強加密算法時,許可證工具將停用強加密算法,并激活弱加密算法,當(dāng)所述標(biāo)記指示設(shè)備支持強加密算法時,許可證工具將激活強加密算法,從而超越弱加密算法。
在已由web瀏覽器和服務(wù)器廠商(例如,NetscapTM、MicrosoftTM等)實現(xiàn)的另一種方法中,不允許應(yīng)用協(xié)商長密鑰長度的強密鑰和相關(guān)的密碼套件(加密算法),除非web服務(wù)器、web瀏覽器和web瀏覽器證書具有允許使用強密碼套件和密鑰大小的版本、類型和強度。否則,使用短密鑰長度的弱密鑰和相關(guān)的密碼套件。
這些方法的問題包括對于老練的觀測者來說,弱加密算法的激活的透明性。根據(jù)這種知識,老練的用戶可試圖改變許可證文件,從而激活強加密算法。當(dāng)用戶能夠自由地查看協(xié)議交換,并確定軟件版本是否是限制加密的軟件版本時,這種透明性尤其是一個問題。
另一問題在于如果產(chǎn)生弱密鑰,并且隨后直接分發(fā)給通信設(shè)備,那么潛在的攻擊者能夠更容易地確定密鑰大小。由于破譯某些加密算法需要大量的計算資源,因此攻擊者通常并不試圖譯解被加密的每條消息。相反,他們會選擇他們知道已用較小的密鑰加密的消息。這使得和指定的較小密鑰一起發(fā)送的消息更易被截取和未授權(quán)的解密。另一方面,攻擊者不會試圖譯解他們認(rèn)為已用較大的128位密鑰加密的消息,因為他們不想將計算資源用在他們認(rèn)為不可能的這種任務(wù)上。目前,攻擊者相對容易確定用于加密特定消息的密鑰的大小。
發(fā)明內(nèi)容
本發(fā)明的各個實施例和結(jié)構(gòu)解決了這些和其它需要。本發(fā)明一般涉及密鑰大小表觀的變化,產(chǎn)生具有強密鑰外形的可核實弱密鑰,尤其用于待出口的產(chǎn)品。本發(fā)明的至少一些實施例一般可用在其中第三方為其它參與者(即委托人)產(chǎn)生密鑰的加密協(xié)議中??刹捎眠@些協(xié)議的設(shè)備的例子包括(但不限于)H.323網(wǎng)守(GateKeeper)或者Kerberos服務(wù)器。在一些情況下(例如SRTP),傳送者可產(chǎn)生密鑰,并將密鑰發(fā)送給接收者。當(dāng)然,這最后一步一般需要保密通信通道。
根據(jù)本發(fā)明的一個實施例,提供一種產(chǎn)生加密密鑰的方法。所述方法包括(a)產(chǎn)生具有第一表觀大小和第一有效大小的第一密鑰;(b)確定固定密鑰;(c)選擇固定的密碼算法;(d)利用固定密鑰和選擇的算法將第一密鑰投影到第二密鑰空間,從而產(chǎn)生第二密鑰,其中第二密鑰具有第二表觀大小和第一有效大小,其中第二表觀大小不同于第一表觀大??;(e)將投影的第二密鑰分發(fā)給至少一個接受者。
在另一實施例中,步驟b和d被組合成一個單向密碼函數(shù),例如密鑰控制的散列函數(shù),所述單向密碼函數(shù)在同一過程中既擴展又加擾第一密鑰,從而形成第二密鑰。
實際上,在有限的密鑰空間內(nèi)產(chǎn)生第一密鑰,隨后通過利用只有發(fā)生器知道的固定密鑰,對第一密鑰應(yīng)用密鑰控制的密碼函數(shù),將第一密鑰“投影”到較大的密鑰空間的某一子空間,從而形成第二密鑰。當(dāng)攻擊者不知道用于投影的固定密鑰時,該攻擊者不能識別所得到的子空間,從而不能將他/她對第二密鑰的搜索限制于小的子空間。但是,通過產(chǎn)生每個可能的第一密鑰和應(yīng)用投影,私下知道固定密鑰的第三方能夠容易地搜索第二密鑰子空間。
第一密鑰的有效大小一般由用于產(chǎn)生該密鑰的位數(shù)限定。例如,如果產(chǎn)生的第一密鑰是64位密鑰,那么第一密鑰的有效大小應(yīng)為64位,第一密鑰的對應(yīng)“密鑰強度”應(yīng)為264。一般來說,第一表觀大小與第一有效大小一致。
擴展和加擾第一密鑰從而產(chǎn)生第二密鑰會形成有效大小與第一密鑰相同,但是表觀大小不同的第二密鑰。換句話說,繼續(xù)上面的例子,第二密鑰仍然具有64位的有效大小和對應(yīng)的264的“密鑰強度”。第二密鑰的密鑰強度基本與初始密鑰強度相同。但是,本領(lǐng)域的技術(shù)人員可認(rèn)識到,第二密鑰的密鑰強度基本與第一密鑰的密鑰強度相同。同樣地,第二密鑰的“有效密鑰大小”基本與第一密鑰的“有效密鑰大小”相同。
由于第一密鑰的擴展,第二密鑰具有較大的表觀大小。第二表觀大小可以介于65位到幾百、幾千甚至幾百萬位之間。通常有利的是擴展第一密鑰,從而產(chǎn)生與在普通的加密算法中使用的較大密鑰類似的第二密鑰。例如,第二密鑰的第二表觀大小可為128位。這看起來是有效密鑰強度為2128的128位密鑰,盡管它只具有64位的有效密鑰大小和264的有效密鑰強度。但是,第二密鑰的表觀可使不知道固定密鑰的第三方認(rèn)為第二密鑰大得以致不能破譯,并且可能阻止?jié)撛诘墓粽吒Z改密鑰或者用該密鑰加密的任何消息。
通過采用利用固定密鑰的對稱加密算法可實現(xiàn)擴展密鑰的“加擾”?;蛘吡硪环矫?,通過將公鑰加密系統(tǒng)、單向密鑰控制的密碼散列或偽隨機函數(shù),例如在一些協(xié)議(比如MIKEY、SRTP)中使用的單向密鑰控制的密碼散列或偽隨機函數(shù)用于從共享的會話主密鑰導(dǎo)出會話密鑰,可實現(xiàn)加擾和擴展。在使用對稱算法的情況下,知道固定密鑰的授權(quán)第三方能夠容易地用固定密鑰倒轉(zhuǎn)投影密鑰的投影,從而核實所生成密鑰的大小,還能夠確定任何所生成的密鑰占據(jù)的密鑰空間。另一方面,在采用非對稱或單向散列函數(shù)的情況下,知道固定密鑰的授權(quán)第三方能夠使用固定密鑰來確定任何所生成的密鑰占據(jù)的密鑰空間。之后,授權(quán)第三方能夠搜索所生成密鑰占據(jù)的實際密鑰空間,而不是不得不搜索第二密鑰看起來占據(jù)的較大密鑰空間。這種加擾/加密過程被用于保持初始密鑰的安全性,并且一般應(yīng)強于它所保護的密鑰。從而,知道擴展/加擾方案并且獲得由此生成的密鑰,但是不知道固定密鑰的攻擊者將不能夠容易地確定固定密鑰。此外,在不知道固定密鑰的情況下,這樣的攻擊者不能容易地確定發(fā)生器產(chǎn)生的第二(投影)密鑰所占據(jù)的實際密鑰空間。
為了遵守美國出口法律,常常需要產(chǎn)生樣本密鑰并將其送給授權(quán)第三方,比如國家安全局(NSA)或者商務(wù)部。在那里,生成的密鑰被分析,以確定密鑰是否是遵守密鑰生成條例生成的。由于第二密鑰具有可能比條例許可的更大的第二表觀大小,因此授權(quán)第三方可能需要反轉(zhuǎn)或者測試投影密鑰的形成(在除去用于保密傳輸?shù)娜魏渭用苤?。如果與授權(quán)第三方共享固定密鑰,那么盡管第二密鑰具有比許可的密鑰生成大小更大的第二表觀大小,授權(quán)第三方也能夠容易地看出第二密鑰的有效大小在允許限度之內(nèi)。于是,授權(quán)第三方(例如,NSA)能夠快速確認(rèn)第一密鑰是在出口條例的允許限度內(nèi)生成的。
根據(jù)包含在這里的本發(fā)明的公開內(nèi)容,這些和其它優(yōu)點將是明顯的。上述實施例和配置既不是完整的也不是窮盡的。如將要認(rèn)識到的,本發(fā)明的其它實施例可以單獨地或者組合地利用上面陳述的或者下面詳細(xì)說明的一個或多個特征。
這里使用的“至少一個”,“一個或多個”與“和/或”在操作中既是聯(lián)合的又是析取的開放式表達(dá)。例如,“A、B和C至少之一”,“A、B或C至少之一”,“A、B和C中的一個或多個”,“A、B或C中的一個或多個”和“A、B和/或C”意味著A獨自,B獨自,C獨自,A和B一起,A和C一起,B和C一起,或者A、B和C一起。
圖1是根據(jù)本發(fā)明的至少一些實施例的通信網(wǎng)絡(luò)的方框圖;圖2是根據(jù)本發(fā)明的至少一些實施例的中央密鑰分配器,比如交換機或服務(wù)器的方框圖;圖3是根據(jù)本發(fā)明的至少一些實施例的利用加密密鑰的通信設(shè)備的方框圖;圖4是根據(jù)本發(fā)明的至少一些實施例,由授權(quán)第三方使用的端點的方框圖;圖5是描述根據(jù)本發(fā)明的至少一些實施例的密鑰產(chǎn)生方法的流程圖;圖6是描述根據(jù)本發(fā)明的至少一些實施例的核實密鑰強度的方法的流程圖。
具體實施例方式
首先參見圖1,將根據(jù)本發(fā)明的至少一些實施例說明例證的通信系統(tǒng)100。通信系統(tǒng)100包括連接第一通信設(shè)備108、第二通信設(shè)備112、交換機/服務(wù)器116、授權(quán)第三方120和非授權(quán)第三方124的網(wǎng)絡(luò)104。通信設(shè)備108和112可以是多種分組交換設(shè)備任意之一,包括(但不限于)個人計算機(PC)、膝上型計算機、個人數(shù)字助理(PDA)、IP硬電話機、IP軟電話機、無線電話機、蜂窩電話機、即時消息接發(fā)軟件和組網(wǎng)設(shè)備。
網(wǎng)絡(luò)104可以是任意類型的適當(dāng)通信網(wǎng)絡(luò),所述通信網(wǎng)絡(luò)可將數(shù)據(jù)從第一端點傳給第二端點,典型的端點包括通信設(shè)備108和112、交換機/服務(wù)器116、授權(quán)第三方120和非授權(quán)第三方124。網(wǎng)絡(luò)104的適當(dāng)類型的例子包括(但不限于)局域網(wǎng)(LAN)、諸如因特網(wǎng)之類的廣域網(wǎng)(WAN)、以及現(xiàn)有技術(shù)中已知的任意其它類型的分組交換網(wǎng)絡(luò)。
服務(wù)器116可以是企業(yè)或服務(wù)提供商網(wǎng)絡(luò)的一部分。這里使用的術(shù)語“服務(wù)器”應(yīng)理解為包括PBX、ACD、企業(yè)服務(wù)器、IVR服務(wù)器、或者其它類型的通信系統(tǒng)服務(wù)器,以及其它類型的基于處理器的通信控制設(shè)備,比如媒體服務(wù)器、計算機、附屬物等。
授權(quán)第三方120一般是有興趣分析服務(wù)器116產(chǎn)生的密鑰,從而核實產(chǎn)生的密鑰的強度的第三方。授權(quán)第三方116用于分析產(chǎn)生的密鑰的設(shè)備可以采取服務(wù)器、超級計算機、處理器網(wǎng)絡(luò)、仿真端點的設(shè)備,或者其它類型的處理機制。授權(quán)第三方120一般被給予允許他們分析產(chǎn)生的密鑰的強度的信息。通常與授權(quán)第三方120共享的信息包括在分發(fā)之前,用于擴展和/或加擾所生成密鑰的密鑰。
另一方面,非授權(quán)第三方124一般被稱為攻擊者、黑客、或者不被指定具有與保密通信會話有關(guān)的信息的任何其它非信任方。多數(shù)類型的非授權(quán)第三方124通常試圖截取加密消息、密鑰和其它敏感數(shù)據(jù),以便出于各種原因利用截取的加密消息、密鑰和其它敏感數(shù)據(jù)。
現(xiàn)在參見圖2,將根據(jù)本發(fā)明的至少一些實施例說明例證的服務(wù)器116。服務(wù)器116一般包括密鑰發(fā)生器204、密鑰擴展部件208、密鑰加密器/擾碼器212和用于相對于網(wǎng)絡(luò)104發(fā)送/接收數(shù)據(jù)的接口216。通常,當(dāng)在通信設(shè)備108和112之間發(fā)起保密通信會話時,這兩個端點需要加密密鑰。依據(jù)對加密密鑰的請求,服務(wù)器116使密鑰發(fā)生器204能夠產(chǎn)生在保密會話期間供在第一和第二通信設(shè)備108和112之間使用的密鑰。密鑰發(fā)生器204可以是隨機數(shù)發(fā)生器,或者是可用于產(chǎn)生各種強度的密鑰的任意其它類型的機制。
如將要認(rèn)識到的,“密鑰強度”或“有效密鑰大小”指的是可能組合或密鑰的數(shù)目。密鑰強度通常是密鑰長度的函數(shù)。例如,一個任意16位密鑰的密鑰強度為216,32位密鑰的密鑰強度為232,64位密鑰的密鑰強度為264,128位密鑰的密鑰強度為2128。與利用有效密鑰強度較高的第二密鑰相比,通過使用密鑰強度較弱的第一密鑰,利用第一密鑰的加密的有效加密強度較低。例如,在非出口限制產(chǎn)品中使用強密鑰,在出口限制產(chǎn)品中使用弱密鑰。
根據(jù)本發(fā)明的至少一個實施例,密鑰發(fā)生器204產(chǎn)生具有與出口條例相一致的有效密鑰強度的第一密鑰(KG)。換句話說,為了遵守美國出口條例,可產(chǎn)生具有64位密鑰長度的KG。從而,KG的有效密鑰大小為64。當(dāng)然,根據(jù)適當(dāng)?shù)臈l例和/或其它所需的操作參數(shù),密鑰發(fā)生器204可產(chǎn)生更大或更小的密鑰。例如,可產(chǎn)生56位密鑰或者72位密鑰,隨后擴展到任意大小,這取決于所需的加密算法。
生成的具有第一有效密鑰強度的密鑰隨后被發(fā)送給密鑰擴展部件208。密鑰擴展部件208改變KG的表觀大小,而不改變有效密鑰強度。密鑰擴展部件208可按照許多不同的方式擴展KG的表觀大小。例如,可以KG與64位的0、1或者一些其它固定的可預(yù)測的二進制模式(例如,0和1的規(guī)定排序)的級聯(lián)的形式,形成作為KG的擴展物的第二密鑰(KE)。KG與64位的0的級聯(lián)實際上產(chǎn)生一個表觀密鑰大小為128位,但是有效密鑰大小為初始64位的一個新密鑰。本領(lǐng)域的技術(shù)人員會認(rèn)識到,0可被附到KG的起點,或者可在不同的點放入KG內(nèi)。但是,為了使KE的有效密鑰大小的核實更容易,有利的是將0一同保持在KG的末端或起點。另外,本領(lǐng)域的技術(shù)人員還會認(rèn)識到,可以單獨地或者與其它0相結(jié)合地使用1,以實現(xiàn)另外的0的功能。表觀密鑰大小可被擴展到任意大小,取決于通信設(shè)備108和112要使用的加密算法的類型。一般來說,由于美國出口限制的緣故,在密鑰發(fā)生器204產(chǎn)生64位密鑰,并擴展到128位的表觀密鑰大小,因為已知的加密算法,比如AES-128和其它128位加密算法被廣泛使用。64位密鑰或者其它128位密鑰可被擴展到具有256位或者甚至更大的表觀密鑰大小,同樣取決于所需的加密算法的類型。
擴展后的密鑰KE隨后被發(fā)送給密鑰加密器212,在密鑰加密器,使用全系統(tǒng)固定密鑰的密碼算法將密鑰KE加密或者以其它方式加擾,從而具有強密鑰的外觀。密鑰加密器212可使用任意種類的利用固定密鑰(F)的適當(dāng)密碼算法。固定密鑰可以是例如AES-128加密算法使用的強密鑰。在一種典型應(yīng)用中,加密算法將使用固定密鑰F對擴展密鑰KE加密,從而形成待分發(fā)給將使用其的各方的投影(projected)密鑰KS。密鑰KS應(yīng)被保密地分發(fā),從而不向任何第三方公開它。
可以使用任何加密算法(不論是使用對稱密鑰還是不對稱密鑰),或者任何密碼散列函數(shù)。適當(dāng)?shù)膶ΨQ加密算法的例子包括(但不限于)AES(聯(lián)邦信息處理標(biāo)準(zhǔn)197),triple DES,RC4,Lucifer,Madryga,NewDES,F(xiàn)EAL,REDOC,LOKI,Khufu and Khafre,RC2,IDEA,MMB,CA-1.1,Skipjack,GOST,CAST,Blowfish,SAFER,3-Way,Crab,SXAL8/MBAL,RC5,漸縮算法,Pohlig-Hellman,Rabin,McEliece,橢圓曲線密碼系統(tǒng),LUC,有限自動化公鑰密碼系統(tǒng),Ong-Schnorr-Shamir,ESIGN,細(xì)胞自動機等。適當(dāng)?shù)姆菍ΨQ加密算法的例子包括(但不限于)Rivest Shamir and Adelman(RSA),Diffie-Hellman,ElGamal,DSS等。密鑰控制的消息驗證函數(shù),比如HMAC-SHA1,或者基于散列函數(shù)(例如MIKEY PRF)或者加密算法(例如SRTP PRF)的密鑰控制的偽隨機函數(shù)可和固定密鑰F一起用于擴展和加擾弱的第一密鑰。注意KS本身可被終端方用作類似PRF的主密鑰,從而產(chǎn)生用于數(shù)據(jù)保密(加密)和完整性(消息驗證)的會話密鑰。
分發(fā)的密鑰KS一般具有表示較強密鑰的表觀密鑰大小(例如128位密鑰),但是它實際上具有較小的生成密鑰KG的有效密鑰大小(例如64位密鑰)。由于投影密鑰KS具有強密鑰的外觀,因此第三方觀測者不易推斷出有效密鑰大小實際上被減小,只要密鑰生成者使固定加密密鑰F保密。
一旦密鑰擴展部件208和密鑰加密器212準(zhǔn)備好第二密鑰KS,第二密鑰KS就被發(fā)送給接口216,以便保密地分發(fā)給端點。如將要認(rèn)識到的,KS的分發(fā)協(xié)議可采用任意上述加密算法或者其它類型的適當(dāng)算法來保證該密鑰安全地通過不安全的網(wǎng)絡(luò)。提供的安全性應(yīng)等同于利用強加密密鑰的加密算法。
在一個實施例中,密鑰發(fā)生器204、密鑰擴展部件208和密鑰加密器/擾碼器212可被具體體現(xiàn)成服務(wù)器116中的處理器或控制器上的軟件,具體體現(xiàn)成硬件(例如,諸如專用集成電路(ASIC)之類的邏輯電路),或者具體體現(xiàn)成它們的組合物。
在一個實施例中,密鑰發(fā)生器204、密鑰擴展部件208和密鑰加密器/擾碼器212被包含在共享預(yù)定的固定保密密鑰F的一個或多個通信設(shè)備108和/或112內(nèi)。通信設(shè)備可產(chǎn)生供保密通信會話之用的第一密鑰,隨后按照已知協(xié)議保密地與另一通信設(shè)備共享該密鑰。從而可利用表觀大小大于其有效大小的投影密鑰KS進行通信設(shè)備之間的保密通信會話。
現(xiàn)在參見圖3,將根據(jù)本發(fā)明的至少一些實施例說明利用投影密鑰的兩個通信設(shè)備108和112之間的例證通信會話。投影密鑰一般被保密地發(fā)送給兩個通信設(shè)備108和112,以在通信會話中用作密鑰304。第一通信設(shè)備108以明文產(chǎn)生某一類型的消息,該明文消息隨后由加密算法312加密。加密算法312利用加密密鑰304,加密密鑰304看起來具有實際大于密鑰304的有效密鑰大小或密鑰強度的密鑰大小。應(yīng)該認(rèn)識到的是,在一些協(xié)議中,密鑰304可被用作“會話主密鑰”,從其可得以加密和驗證用會話密鑰。隨后產(chǎn)生消息的密文316并通過網(wǎng)絡(luò)104傳送,網(wǎng)絡(luò)104通常是諸如因特網(wǎng)之類的非信任網(wǎng)絡(luò)。第二通信設(shè)備112在接收端接收消息的密文324,在接收端,通過利用第一通信設(shè)備108用于對文本加密的相同密鑰304,加密算法328對接收消息的密文324解密。明文消息332隨后可被第二通信設(shè)備112的用戶接收和閱讀。如上所述,即使密鑰304的有效密鑰大小可能不強,不過對第三方120和124來說,密鑰304的外觀使其看起來像一個強加密密鑰。
借助估計可能作為規(guī)定必須使用弱加密的管制的一部分的許可證文件,固定密鑰F可被分發(fā)給客戶(例如,第一和/或第二通信設(shè)備108和112的所有者)。這可被用于保證當(dāng)進行保密通信會話時,不同的客戶不會使用相同的密鑰子空間。從而均知道對方局限于弱密鑰的兩個獨立客戶不能容易地確定另一方的密鑰,因為他們不知道另一方的系統(tǒng)用于產(chǎn)生密鑰的固定密鑰。
現(xiàn)在參見圖4,將根據(jù)本發(fā)明的至少一些實施例說明例證的授權(quán)第三方核實設(shè)備120。授權(quán)第三方設(shè)備120包含與網(wǎng)絡(luò)104通信的接口404、密鑰解密器408、密鑰縮小部件412和核實代理416。一般來說,授權(quán)第三方(比如NSA或商務(wù)部)需要核實由已被售出美國的系統(tǒng)產(chǎn)生的密鑰的實際密鑰大小。授權(quán)第三方一般被給予用于將擴展密鑰KE加密成投影密鑰KS的固定密鑰F。授權(quán)第三方隨后請求分發(fā)的密鑰,并在接口404接收分發(fā)的密鑰KS。分發(fā)的密鑰KS被發(fā)送給密鑰解密器408,在密鑰解密器408,固定密鑰F被用于對分發(fā)的密鑰KS解密,從而得到擴展密鑰KE。在使用的加密算法是對稱加密算法的情況下,授權(quán)第三方120可利用和服務(wù)器用于加密分發(fā)密鑰KS的加密算法相同的加密算法。另一方面,在使用散列加密函數(shù)或者某一不對稱加密函數(shù)的情況下,授權(quán)第三方120可利用固定密鑰F來確定生成的密鑰KG占用的實際密鑰空間,從而使得更易于搜索生成密鑰的密鑰空間。于是,為了適當(dāng)?shù)貙Ψ职l(fā)的密鑰KS解密,授權(quán)第三方120不僅需要固定加密密鑰F,而且還需要知道使用的是哪種加密算法。
此時,授權(quán)第三方通常能夠確定擴展密鑰KE是與許多0、1,或者1和0的固定、可預(yù)測模式級聯(lián)的較小生成密鑰,例如KG。但是,如果0被插入生成密鑰KG中,以致簡單地檢查擴展密鑰KE不能顯示較小的密鑰被生成,那么密鑰縮小部件412縮小KE的表觀密鑰大小,結(jié)果是密鑰生成器204最初生成的初始密鑰KG。隨后,該密鑰被發(fā)送給核實代理416,核實代理416能夠確認(rèn)或否認(rèn)生成密鑰KG的有效密鑰大小小于分發(fā)密鑰KS的表觀密鑰大小,從而確認(rèn)或否認(rèn)生成密鑰KG是按照適用的條例生成的。
固定密鑰F的暴露確實幫助授權(quán)第三方120將分發(fā)的表面上較大的密鑰KS縮小到基礎(chǔ)的生成密鑰KG,但是它不提供找出用于其它會話的密鑰的額外幫助。這有助于在生成的可能較弱的密鑰周圍建立另一層安全措施。
現(xiàn)在參見圖5,將根據(jù)本發(fā)明的至少一些實施例說明生成密鑰和分發(fā)該密鑰的方法。首先,生成具有第一有效密鑰大小和匹配表觀密鑰大小的第一密鑰KG(步驟504)。之后,擴展/投影第一密鑰,從而產(chǎn)生具有第一有效密鑰大小和匹配表觀密鑰大小的第二密鑰KE(步驟508)??砂凑赵S多方法產(chǎn)生擴展密鑰KE。例如,假定生成的密鑰KG為N位長,并且具有下述條目X1、X2、X3...XN,其中N一般大于或等于1。隨后在一個實施例中,通過在KG的末端附加多達(dá)M位的0(和/或1),可得到KE?,F(xiàn)在KE應(yīng)等于KG||0N+1,0N+2,0N+3,...0N+M,其中M一般大于或等于1,KE的表觀密鑰大小為N+M,KE的有效密鑰大小仍然為N。
在一個備選實施例中,通過在KG的前端附加M位的0可得到KE。所得到的KE應(yīng)是01-M,02-M,03-M,...0N-M||KG,KE的表觀大小仍然等于N+M,而KE的有效密鑰大小為N。如上所述,代替M位的0,可以使用M位的1。通過在KG的前端或末端放置M位的0來形成KE,對于想要核實生成密鑰KG的大小的授權(quán)第三方來說,生成密鑰KG的有效密鑰大小的核實相對容易。
在另一備選實施例中,通過將M位的0(或1)散布在KG的位之間,可得到KE。所得到的KE應(yīng)是X1,01,X2,02,X3...XN。這會使授權(quán)第三方更難以確定KG的有效密鑰大小,但是有助于對利用由服務(wù)器116產(chǎn)生和分發(fā)的密鑰的系統(tǒng)增加另一層安全措施。
在步驟512,利用在步驟516中確定的密鑰控制的密碼算法,擴展密鑰KE被加密或以其它方式投影到表觀密鑰空間上。確定的密碼算法包括確定的固定密鑰F的使用。固定密鑰F被用于加擾由密鑰發(fā)生器204產(chǎn)生的所有擴展密鑰KE,而不管產(chǎn)生密鑰時的會話或時間。這樣,知道固定密鑰F的授權(quán)第三方能夠核實被密鑰發(fā)生器204產(chǎn)生的任何密鑰占據(jù)的密鑰空間。加密算法可以是利用較強加密密鑰F的較強加密算法。擴展密鑰KE的投影結(jié)果是可被分發(fā),且同時遵守美國出口法律的投影密鑰KS。
在步驟520,確定投影密鑰KS的接受者。在確定了接受者之后,投影密鑰KS被安全地分發(fā)給確定的接受者(步驟524)。該接受者隨后使用分發(fā)的KS在他們自己和另一通信設(shè)備之間進行信息的保密傳輸。
現(xiàn)在參見圖6,將根據(jù)本發(fā)明的至少一些實施例說明核實分發(fā)的密鑰KS的實際大小的方法。首先,在授權(quán)第三方120接收分發(fā)的密鑰KS(步驟604)。一般來說,如同任何其它密鑰被分發(fā)給任何其它客戶那樣(例如,響應(yīng)于帶有媒體加密的呼叫建立請求),密鑰KS被產(chǎn)生并被保密地發(fā)送給授權(quán)第三方120。這樣,授權(quán)第三方能夠確定在正常操作中發(fā)出的分發(fā)密鑰的密鑰強度,而不是確定專門為授權(quán)第三方生成的密鑰的密鑰強度。
授權(quán)第三方120一般被給予用于產(chǎn)生投影密鑰KS的固定密鑰F。在步驟608,利用投影加密算法和在步驟612中供給授權(quán)第三方120的固定密鑰F,分發(fā)的密鑰KS被解密/解擾。之后,授權(quán)第三方120可確定分發(fā)的密鑰KS的有效密鑰大小(步驟616)。如上所述,在用對稱加密算法對分發(fā)的密鑰KS加擾的情況下,授權(quán)第三方120能夠使用固定密鑰F對該密鑰解擾,并看到包括生成密鑰和用于擴展生成密鑰的附加位的擴展密鑰。在用非對稱加密算法對分發(fā)的密鑰KS加擾的情況下,授權(quán)第三方120能夠使用固定密鑰F來發(fā)現(xiàn)生成密鑰KS占據(jù)的密鑰空間。隨后,授權(quán)第三方120能夠搜索實際的密鑰空間,而不是搜索分發(fā)密鑰KS的較大的表觀密鑰空間。在授權(quán)第三方120不必被給予和在其它通信會話中產(chǎn)生的密鑰相關(guān)的任何進一步信息的時候,他們能夠確定分發(fā)的密鑰KS的有效大小。
在各個實施例中,本發(fā)明包括大體如同這里描述的組件、方法、過程、系統(tǒng)和/或設(shè)備,包括它們的各種具體實現(xiàn)、子組合和子集。在理解本公開內(nèi)容之后,本領(lǐng)域的技術(shù)人員會明白如何實現(xiàn)和使用本發(fā)明。在各個實施例中,本發(fā)明包括當(dāng)缺少這里或者在其各個實施例中未描述和/或說明的項目時,包括當(dāng)缺少可能已在先前的設(shè)備或過程中用于例如提高性能,方便實現(xiàn)和/或降低實現(xiàn)的成本的這種項目時,提供設(shè)備和過程。
出于舉例說明的目的給出了本發(fā)明的上述說明。上述說明并不意圖將本發(fā)明局限于這里公開的形式。例如,在上面的具體實施方式
中,為了使公開簡單化,在一個或多個實施例中,本發(fā)明的各個特征被集中在一起。公開的這種方法不應(yīng)被理解成反映要求保護的發(fā)明需要比在每個權(quán)利要求中清楚敘述的特征更多的特征的意圖。相反,如下面的權(quán)利要求反映的那樣,發(fā)明的各個方面在于少于單一前述公開實施例的所有特征。從而,下面的權(quán)利要求被包含在具體實施方式
中,每個權(quán)利要求獨立作為本發(fā)明的一個獨立優(yōu)選實施例。
此外,盡管本發(fā)明的說明包括一個或多個實施例及一些變化和修改的說明,不過其它變化和修改也在本發(fā)明的范圍內(nèi),例如,在理解本公開內(nèi)容之后,可以在本領(lǐng)域的技術(shù)人員的技能和知識的范圍之內(nèi)。意圖獲得在專利權(quán)的范圍內(nèi)包括備選實施例的權(quán)利,包括要求保護的那些結(jié)構(gòu)、函數(shù)、范圍或步驟的備選、可互換的和/或等同的結(jié)構(gòu)、函數(shù)、范圍或步驟,不論這樣的備選、可互換的和/或等同的結(jié)構(gòu)、函數(shù)、范圍或步驟是否在這里被公開,以及沒有打算公開地用于任何可專利的主題。
權(quán)利要求
1.一種產(chǎn)生加密密鑰的方法,包括產(chǎn)生具有第一表觀大小和第一有效大小的第一密鑰;確定固定密鑰;選擇固定的密碼算法;利用所述固定密鑰和所述選擇的算法,將所述第一密鑰投影到第二密鑰空間,從而產(chǎn)生第二密鑰,其中所述第二密鑰具有第二表觀大小和第一有效大小,其中所述第二表觀大小不同于所述第一表觀大??;將所速第二密鑰分發(fā)給至少一個接受者。
2.按照權(quán)利要求1所述的方法,其中所述第二表觀大小大于所述第一表觀大小,其中所述第一密鑰的投影包括采用利用固定密鑰的非對稱加密算法和密碼散列算法中的至少一個,其中所述至少一個接受者包含授權(quán)第三方,所述方法還包括將所述固定密鑰分發(fā)給所述授權(quán)第三方;和將所述第二密鑰發(fā)送給所述授權(quán)第三方,以致所述授權(quán)第三方能夠核實所述第二密鑰的第一有效大小。
3.按照權(quán)利要求1所述的方法,其中所述第二表觀大小大于所述第一表觀大小,其中所述第一密鑰的投影包括采用利用固定密鑰的對稱加密算法,其中所述至少一個接受者包含授權(quán)第三方,所述方法還包括將所述固定密鑰分發(fā)給授權(quán)第三方;和將所述第二密鑰發(fā)送給所述授權(quán)第三方,以致所述授權(quán)第三方能夠核實所述第二密鑰的第一有效大小。
4.按照權(quán)利要求1所述的方法,其中所述投影步驟包括組合第一密鑰與M位的0和/或1,其中M大于或等于1,其中M位的0和/或1至少被置于第一密鑰的前端、所述第一密鑰的后端或分布在所述第一密鑰內(nèi),所述方法還包括確定生成的密鑰的最大有效大??;接收所述第二密鑰;分析所述第二密鑰,從而確定所述第二密鑰的有效大小和所述第二密鑰的表觀大小;和確定所述第二密鑰的有效大小是否不大于所述確定的生成密鑰的最大有效大小。
5.按照權(quán)利要求1所述的方法,其中所述第一有效大小不大于按照出口條例允許的密鑰生成大小,其中所述第二表觀大小大于按照出口條例允許的密鑰生成大小,其中所述第一有效大小為64位,所述第一表觀大小為64位,其中所述第二表觀大小大于64位。
6.按照權(quán)利要求1所述的方法,其中所述第一密鑰具有所述第一密鑰強度,還包括擴展具有第三密鑰強度和第三表觀大小的第三密鑰,從而產(chǎn)生第一密鑰,其中所述第一密鑰具有第三密鑰強度和第三表觀大小,所述第一密鑰強度至少是所述第三密鑰強度,但是小于基于所述第一表觀大小的密鑰強度;其中在所述使用步驟中,利用所述固定密鑰對所述第一密鑰加擾,從而產(chǎn)生所述第二密鑰。
7.一種包含執(zhí)行權(quán)利要求1的方法的可執(zhí)行指令的計算機可讀介質(zhì)。
8.一種產(chǎn)生加密密鑰的設(shè)備,包括至少產(chǎn)生具有第一表觀大小和第一有效大小的第一密鑰的密鑰生成裝置;擴展所述第一密鑰以便形成第二密鑰的密鑰擴展裝置,其中所述第二密鑰具有第二表觀大小和第一有效大小,其中所述第二表觀大小不同于所述第一表觀大??;和利用固定密鑰和密碼算法加擾所述第二密鑰的密鑰加密裝置。
9.按照權(quán)利要求8所述的設(shè)備,其中所述第二表觀大小大于所述第一表觀大小,其中所述加密算法包括非對稱加密算法和散列加密算法中的至少一個,還包括將所述第二密鑰傳送給至少一個接受者的接口,其中所述至少一個接受者包含授權(quán)第三方,其中所述固定密鑰被提供給所述授權(quán)第三方,其中所述投影的第二密鑰通過所述接口被發(fā)送給所述授權(quán)第三方,以致所述授權(quán)第三方能夠確定所述第二密鑰的第一有效大小。
10.按照權(quán)利要求8所述的設(shè)備,其中所述第二表觀大小大于所述第一表觀大小,其中所述加密算法包括對稱加密算法,還包括將所述第二密鑰傳送給至少一個接受者的接口,其中所述至少一個接受者包含授權(quán)第三方,其中所述固定密鑰被提供給授權(quán)第三方,其中所述投影的第二密鑰通過接口被發(fā)送給所述授權(quán)第三方,以致所述授權(quán)第三方能夠確定所述第二密鑰的第一有效大小。
11.按照權(quán)利要求8所述的設(shè)備,其中所述密鑰擴展裝置級聯(lián)第一密鑰與M位的0和/或1,以便形成第二密鑰,其中M大于或等于1,其中M位的0和/或1至少被置于所述第一密鑰的前端、所述第一密鑰的后端或分布在第一密鑰內(nèi),其中所述第一有效大小為64位,所述第一表觀大小為64位,其中所述第二表觀大小大于64位。
12.按照權(quán)利要求8所述的設(shè)備,其中所述第一密鑰不大于按照出口條例允許的密鑰生成大小,其中所述第二表觀大小大于按照出口條例允許的密鑰生成大小。
全文摘要
一種產(chǎn)生加密密鑰的方法,包括產(chǎn)生具有第一表觀大小和第一有效大小的第一密鑰;確定固定密鑰;選擇固定的密碼算法;利用所述固定密鑰和所述選擇的算法,將所述第一密鑰投影到第二密鑰空間,從而產(chǎn)生第二密鑰,其中所述第二密鑰具有第二表觀大小和第一有效大小,其中所述第二表觀大小不同于所述第一表觀大小;將所述第二密鑰分發(fā)給至少一個接受者。
文檔編號G06F21/00GK101047499SQ200710085869
公開日2007年10月3日 申請日期2007年3月8日 優(yōu)先權(quán)日2006年3月31日
發(fā)明者羅伯特·R.·吉爾曼 申請人:阿瓦雅技術(shù)有限公司