專利名稱:加密方法和具有可變加密強(qiáng)度的裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及加密方法和裝置,特別是可安排用來防止加密設(shè)備的越權(quán)用戶能利用該裝置獲得強(qiáng)加密的這樣一種方法和裝置。
目前對通信網(wǎng)絡(luò)中高度保密的端對端加密的需求正在增加。這是無線和電話通信中的軍事和公共安全用戶特別需要的,但可供一般公眾使用的高級端對端加密設(shè)備也在增加。
這種加密設(shè)備通常使用由該設(shè)備的用戶以例如二進(jìn)制數(shù)的形式輸入的密鑰,以便對用戶利用通信裝置發(fā)送的消息加密,在該通信裝置中裝有如本領(lǐng)域中熟知的加密設(shè)備。這些加密方法的例子包括保密密鑰加密和公開密鑰加密。
隨著強(qiáng)加密更普遍地使用,提供加密的設(shè)備落入如罪犯之類的越權(quán)用戶手中的可能性在增加,然后,越權(quán)用戶可使用這些設(shè)備利用其自己的密鑰對其自己的通信加密。這會給合法截取越權(quán)用戶的通信的法律執(zhí)行機(jī)構(gòu)造成困難,因為他們不知道所采用的加密密鑰,另外還由于加密強(qiáng)度使他們不能對該通信解密。
為對付這一問題,國家政府增加了對密鑰特許(escrow)使用的要求,除了需要由授權(quán)的法律執(zhí)行或其它機(jī)構(gòu)解除這些密鑰時之外,期望想要使用強(qiáng)端對端的任何人把他們的密鑰交給將保持該密鑰秘密的受委托的第三方(TTP)。這樣,確保合法的加密用戶的通信機(jī)密性,但由于可從受委托的第三方得到相關(guān)的密鑰,希望如果需要的話,可對使用特許的密鑰的越權(quán)用戶的通信解密。
然而,實際上,越權(quán)用戶可利用他們獲取的強(qiáng)加密設(shè)備秘密地形成供他們自己使用的密鑰,該密鑰在密鑰特許裝置下不會被受委托的第三方知道。這種情況下,法律執(zhí)行機(jī)構(gòu)可能仍不能對越權(quán)用戶的通信解密。
根據(jù)本發(fā)明的第一方面,提供一種可提供兩個或更多加密強(qiáng)度等級的加密設(shè)備,包括從由裝置的用戶輸入的密鑰得到供對通信加密或解密使用的密碼加密密鑰的裝置;
確定輸入的密鑰是否有特定特性的裝置;根據(jù)確定結(jié)果選擇所述的兩個或更多加密強(qiáng)度等級之一的裝置;和利用得到的加密密鑰在所選擇的加密強(qiáng)度等級對通信加密或解密的裝置。
根據(jù)本發(fā)明的第二方面,提供一種對通信加密或解密的方法,包括從第一密鑰得到供對通信加密或解密使用的密碼加密密鑰;確定第一密鑰是否有特定特性;根據(jù)確定結(jié)果選擇一個加密強(qiáng)度等級;和使用得到的加密密鑰在所選擇的加密強(qiáng)度等級對通信加密或解密。
在本發(fā)明中,不是使用由用戶輸入的密鑰(或第一密鑰)直接對通信加密或解密,而是使用從輸入的(或第一)密鑰得到的加密密鑰對通信加密或解密,然后根據(jù)輸入的(或第一)密鑰是否具有特定特性選擇使用得到的加密密鑰實現(xiàn)的加密強(qiáng)度。因此,本發(fā)明根據(jù)輸入的(或第一)密鑰的特定特性在兩個或更多等級的加密強(qiáng)度(例如高和低強(qiáng)度加密模式)之間切換。
因此,可配置本發(fā)明為使用授權(quán)密鑰(正常特許的)的授權(quán)用戶提供強(qiáng)加密,但僅對可能由越權(quán)用戶輸入的越權(quán)密鑰提供較弱的加密或不加密。授權(quán)的輸入密鑰具有選擇高強(qiáng)度加密的特定預(yù)定特性。然而,希望使用其自己的越權(quán)密鑰的越權(quán)用戶不知道相關(guān)特性,因此不能獲得強(qiáng)加密。
正如本領(lǐng)域中的技術(shù)人員理解的,能夠以多種方式從輸入密鑰得到加密密鑰。例如,它可包括以其被輸入的形式的完整輸入密鑰。然而,該加密密鑰最好不同于輸入密鑰。例如,它可以是通過以某種預(yù)定方式提取輸入密鑰中的某些或全部比特得到的。例如,可以使用來自該輸入密鑰的預(yù)定部分(例如密鑰的一端)的預(yù)定數(shù)量的比特,或來自該輸入密鑰的多于一個部分(例如該密鑰的每隔一個比特)的比特形成加密密鑰。如果希望的話,也可以在從輸入密鑰提取這些比特之前或之后以預(yù)定方式重排這些比特。
輸入密鑰的特定特性最好應(yīng)該是這樣的,即很容易安排授權(quán)的輸入密鑰擁有它,但任何越權(quán)密鑰不太可能有機(jī)會擁有它;另外,可根據(jù)需要對其進(jìn)行選擇。例如,該特性可以是輸入密鑰是否包括正好可由特定數(shù)除盡的特定比特序列,或該輸入密鑰是否屬于一個特定的數(shù)學(xué)串(例如Fibonacci串)。
輸入密鑰的該特定特性最好是不容易從授權(quán)輸入密鑰(例如不同長度的密鑰)顯露出來的隱藏密鑰特性。
該特性最好是通過以預(yù)定方式提取或使用輸入密鑰的比特得到的。這樣使得該特性顯露的可能性很小并且很難僅從輸入的密鑰推測。
可以以多種方式并依據(jù)所涉及的特定確定輸入的密鑰是否具有特定特性。對于上面的例子,可將該輸入密鑰與存儲的比特序列比較,可分別用特定數(shù)除該輸入密鑰,或?qū)⒃撦斎朊荑€與已知的數(shù)學(xué)串單元比較(例如,存儲在加密設(shè)備的存儲器中的)。
最好是根據(jù)該輸入密鑰是否具有特定特性來選擇加密強(qiáng)度的等級。例如,如果輸入密鑰具有特定特性,可選擇較強(qiáng)(或最大)的加密強(qiáng)度等級,如果輸入密鑰沒有特定特性,可選擇第二加密強(qiáng)度等級(例如較弱或不加密)。
在本發(fā)明的特定優(yōu)選實施例中,可從密碼輸入密鑰得到根據(jù)其選擇加密強(qiáng)度的特定特性是否是適當(dāng)?shù)拿艽a檢驗值。在該實施例中,本發(fā)明因此包括從輸入密鑰得到密碼檢驗值,和根據(jù)得到的檢驗值選擇加密強(qiáng)度等級的裝置或步驟。本發(fā)明的該實施例被認(rèn)為特別有利的方面在于,越權(quán)用戶很難確定輸入的密鑰,再從輸入的密鑰得到選擇更高強(qiáng)度加密的檢驗值。
因此,根據(jù)本發(fā)明的第三方面,提供一種可提供兩個或更多加密強(qiáng)度等級的加密裝置,包括用于從由裝置的用戶輸入的密鑰得到供對通信加密或解密使用的密碼加密密鑰,和密碼檢驗值的裝置;用于根據(jù)得到的檢驗值選擇所述的兩個或更多加密強(qiáng)度等級之一的裝置;和用于利用得到的加密密鑰在所選擇的加密強(qiáng)度等級對通信加密或解密的裝置。
根據(jù)本發(fā)明的第四方面,提供一種對通信加密或解密的方法,包括從密鑰得到供對通信加密或解密使用的密碼加密密鑰,和密碼檢驗值;根據(jù)得到的檢驗值選擇一種加密強(qiáng)度等級;和利用得到的加密密鑰在所選擇的加密強(qiáng)度等級對通信加密或解密。
在本發(fā)明的這些方面中,從輸入的密鑰得到加密密鑰和密碼檢驗值(如本領(lǐng)域中已知的,也可將其稱為"確認(rèn)"或"簽名"),然后根據(jù)得到的檢驗值選擇利用得到的加密密鑰實現(xiàn)的加密強(qiáng)度。因此,本發(fā)明的這些方面是根據(jù)由輸入的密鑰攜帶的信息(檢驗值)在兩個或更多加密強(qiáng)度等級之間切換。
正如本領(lǐng)域技術(shù)人員將會理解的,能夠以多種方式從輸入的密鑰得到檢驗值。例如,它可以是通過以某種預(yù)定方式提取輸入密鑰中的幾個或全部比特得到的。例如,可以使用來自該輸入密鑰的預(yù)定部分(例如密鑰的一端)的預(yù)定數(shù)量的比特,或來自該輸入密鑰的一個或多個部分(例如該密鑰的每隔一個比特)的比特形成檢驗值。如果希望的話,也可以在從輸入密鑰提取這些比特之前或之后以預(yù)定方式重排這些比特。
可使用得到的檢驗值以許多方式選擇加密的強(qiáng)度。例如用所得到的檢驗值計算此后用于選擇加密強(qiáng)度等級的數(shù)字或其它信息。然而,最好將所得到的檢驗值與一個或多個其它檢驗值比較,并根據(jù)比較結(jié)果選擇加密強(qiáng)度。例如,如果得到的檢驗值與其它比較檢驗值之一匹配,則選擇第一(例如較強(qiáng)的或最大的)加密等級,如果得到的檢驗值與其它比較檢驗值中的任何一個不匹配,則選擇第二加密等級(例如較弱的或不加密)。
可在加密設(shè)備中預(yù)定和存儲用于與所得到的檢驗值比較的其它檢驗值。然而,在該裝置中,某些人能夠讀取加密設(shè)備中的比較檢驗值。
因此,用于與得到的檢驗值比較的其它檢驗值最好是以預(yù)定方式從輸入的密鑰中得到的。在一個具體的優(yōu)選裝置中,把從輸入密鑰得到的檢驗值與從得到的加密密鑰得到的進(jìn)一步的檢驗值比較,并根據(jù)該比較結(jié)果(例如是否發(fā)現(xiàn)匹配)選擇加密強(qiáng)度。由于不僅必須使輸入密鑰提供正確的檢驗值,而且還必須包括將從其得到正確的進(jìn)一步檢驗值的加密密鑰,該裝置使越權(quán)用戶很難偶然輸入,或推測出提供強(qiáng)加密的密鑰。
通過以特定順序提取得到的加密密鑰的預(yù)定比特可得到進(jìn)一步的檢驗值。然而,最好是通過對得到的加密密鑰運(yùn)行預(yù)定的密碼函數(shù)從得到的加密密鑰得到檢驗值,這樣使越權(quán)用戶更難生成其自己的提供強(qiáng)加密的密鑰。最好是通過對得到的加密密鑰運(yùn)行不可逆轉(zhuǎn)的密碼散列函數(shù)得到檢驗值。
相信根據(jù)從輸入的密鑰得到的密碼檢驗值與從輸入的密鑰得到的加密密鑰得到的進(jìn)一步的密碼檢驗值之間的比較結(jié)果來改變加密強(qiáng)度是特別有利的。
因此,根據(jù)本發(fā)明的第五方面,提供一種可提供兩個或更多加密強(qiáng)度等級的加密裝置,包括用于從由裝置的用戶輸入的密鑰得到供對通信加密或解密使用的密碼加密密鑰,和密碼檢驗值的裝置;用于從得到的加密密鑰得到進(jìn)一步的密碼檢驗值的裝置;用于把得到的檢驗值與進(jìn)一步的檢驗值比較的裝置用于根據(jù)比較結(jié)果選擇所述的兩個或更多加密強(qiáng)度等級之一的裝置;和用于利用得到的加密密鑰在所選擇的加密強(qiáng)度等級對通信加密或解密的裝置。
根據(jù)本發(fā)明的第六方面,提供一種對通信加密或解密的方法,包括從密鑰得到供對通信加密或解密使用的密碼加密密鑰,和密碼檢驗值;從得到的加密密鑰得到進(jìn)一步的密碼檢驗值;把得到的檢驗值與進(jìn)一步的檢驗值比較;根據(jù)比較結(jié)果選擇一種加密強(qiáng)度等級;和利用得到的加密密鑰在所選擇的加密強(qiáng)度等級對通信加密或解密。
不同的加密強(qiáng)度等級可以例如包括完全(或最大)可使用的強(qiáng)度加密或完全不加密(或防止該設(shè)備工作)。例如,如果輸入的密鑰具有特定特性((例如,如果得到的檢驗值與授權(quán)的檢驗值匹配或與得到的進(jìn)一步的檢驗值匹配)),則提供完全(最大)強(qiáng)度加密,但如果輸入密鑰沒有特定特性((例如,如果得到的檢驗值與授權(quán)的檢驗值不匹配或得到的檢驗值與進(jìn)一步的檢驗值不匹配)),則不提供加密或該設(shè)備完全拒絕工作(即不產(chǎn)生密文或產(chǎn)生明文輸出)。
然而,在特別優(yōu)選的實施例中,加密強(qiáng)度可根據(jù)輸入密鑰是否具有特定特性的確定結(jié)果(例如根據(jù)得到的檢驗值)在完全(最大),或更高強(qiáng)度的加密與較弱的加密(仍為某一加密等級而不是完全不加密)之間改變。由于它使使用沒有完全強(qiáng)度加密所需的特定特性(例如提供檢驗值)的密鑰的越權(quán)用戶更難于實現(xiàn)對其通信的不完全加密,這樣可能更有利。
在另一個優(yōu)選實施例中,提供三個或更多的不同加密強(qiáng)度等級。這樣能使相同的加密設(shè)備為例如政府機(jī)構(gòu)提供完全強(qiáng)度的加密,為使用授權(quán)特許密鑰的私人或企業(yè)提供較弱的加密,甚至對越權(quán)用戶提供更弱的加密或不加密。
在該實施例中,每個授權(quán)的加密強(qiáng)度等級有其自己的特定特性,例如一個必須將輸入密鑰完全除盡的數(shù),或該輸入密鑰必須歸屬的一個數(shù)學(xué)串。另外,每個授權(quán)的加密強(qiáng)度等級可有其自己個人授權(quán)的檢驗值。
然后可根據(jù)輸入密鑰具有哪一種特性來選擇加密強(qiáng)度的等級。例如,可通過把得到的檢驗值與相關(guān)數(shù)量的比較檢驗值比較并選擇無論哪個比較檢驗值允許的加密強(qiáng)度來選擇加密強(qiáng)度等級,從輸入密鑰得到的檢驗值匹配。作為替換,可從得到的加密密鑰(例如通過對得到的加密密鑰運(yùn)行許多散列函數(shù)和/或利用許多不同散列密鑰)和與這些進(jìn)一步的比較檢驗值中的每一個比較得到的檢驗值和根據(jù)這些比較結(jié)果選擇的加密強(qiáng)度得到多個進(jìn)一步的檢驗值。
可以按本領(lǐng)域中熟知的各種方式改變加密強(qiáng)度。一種方式是通過改變得到的加密密鑰,例如把其有效長度減小成使密鑰搜索合理的值(例如通過把比特數(shù)量設(shè)定成固定值,或通過重復(fù)比特序列)來做此工作。另外,或作為替換,可改變加密算法以便于密碼分析。在DES或IDEA算法的情況下,可嚴(yán)格地減少"圓"的數(shù)量,或改進(jìn)DES"S Box"和置換。每當(dāng)輸入密鑰沒有相關(guān)的特定特性時(例如得到的檢驗值未表示授權(quán)完全強(qiáng)度加密),可實施這些改變中的一個或多個。
雖然上面已根據(jù)加密裝置和方法描述了本發(fā)明,本發(fā)明還擴(kuò)展到包括供本發(fā)明的加密裝置和方法使用的檢驗值的授權(quán)輸入密鑰的產(chǎn)生。
授權(quán)的輸入密鑰應(yīng)包括加密密鑰和以由該輸入密鑰預(yù)定的加密設(shè)備將正確得到授權(quán)輸入密鑰的方式組合的密碼檢驗值。因此,該輸入密鑰基本是通過對以從輸入密鑰得到加密密鑰和檢驗值的方式補(bǔ)充的方式組合密碼加密密鑰和密碼檢驗值產(chǎn)生的。因此,一般來說,該組合方法與用于從輸入密鑰得到加密密鑰和檢驗值的預(yù)定處理相反(雖然相反,可通過從給定的加密密鑰和授權(quán)檢驗值產(chǎn)生授權(quán)輸入密鑰的方法預(yù)定從輸入密鑰得到加密密鑰和檢驗值的方法)。
因此,例如,以與在加密裝置和方法中從輸入密鑰得到加密密鑰和檢驗值的方式相反的方式,通過把檢驗值的比特添加到加密密鑰的比特,或與它們交錯來組合加密密鑰和檢驗值。
加密密鑰本身可以是本領(lǐng)域中已知的任何形式的加密密鑰,例如適合于供對稱的,秘密密鑰密碼或公開密鑰密碼中使用的密鑰。例如,它可以包括隨機(jī)產(chǎn)生的希望長度的密鑰,或用戶的秘密的,公開或私人密鑰。
應(yīng)該很容易使檢驗值識別授權(quán)的輸入密鑰。它可以例如包括一個預(yù)定的二進(jìn)制字。然而,由于如果越權(quán)用戶設(shè)法確定該二進(jìn)制字,那么他可以將其與他自己的越權(quán)加密密鑰組合以允許他通過該加密設(shè)備使用強(qiáng)加密,因此該裝置不是優(yōu)選的。
因此,在特定的優(yōu)選實施例中,以預(yù)定方式從加密密鑰得到檢驗值。這有助于確保對一個密鑰的檢驗值的識別不會自動提供將針對所有密鑰工作的檢驗值。這種產(chǎn)生檢驗值的方法特別適合于供本發(fā)明上面的方面使用,其中從得到的加密密鑰得到進(jìn)一步的比較檢驗值。這種情況下,產(chǎn)生檢驗值與得到進(jìn)一步的比較檢驗值的方式最好相同。
通過例如按特定順序提取加密密鑰的預(yù)定比特可從加密密鑰產(chǎn)生檢驗值。然而,該檢驗值最好是從加密密鑰加密地產(chǎn)生的,這樣使其更難于例如通過對加密密鑰運(yùn)行密碼確認(rèn)函數(shù)來確定如何產(chǎn)生任何加密密鑰的正確的檢驗值。
在該特定的優(yōu)選實施例中,通過對加密密鑰運(yùn)行不可逆轉(zhuǎn)的密碼散列函數(shù)來產(chǎn)生檢驗值,這樣使其更難于確定如何產(chǎn)生用于任何加密密鑰的正確檢驗值。
在需要許多檢驗值(例如如果提供三個或更多加密等級)的情況下,能夠以不同的預(yù)定方式從加密密鑰產(chǎn)生每個檢驗值。例如,可對加密密鑰運(yùn)行不同的散列函數(shù),以便提供可用于每個等級的不同檢驗值和/或不同散列密鑰。
檢驗值最好是足夠長,以使無意中可能形成正確檢驗值的情況不可能發(fā)生。因此,一般來說,應(yīng)該象與加密密鑰組合一樣安全。因此,檢驗值最好與加密密鑰具有相同長度或相似長度。
相信提供包括加密密鑰和從加密密鑰加密地得到的檢驗值的密鑰特別有利,其中提供確認(rèn)的密鑰,從該密鑰很難推測其它加密密鑰的正確檢驗值。
因此,根據(jù)本發(fā)明的第七方面,提供一種產(chǎn)生具有用于核定其有效性的檢驗值的密碼密鑰的方法,包括產(chǎn)生供對通信加密或解密使用的加密密鑰;
通過對加密密鑰運(yùn)行一個或多個密碼函數(shù)從該加密密鑰產(chǎn)生檢驗值;和組合該加密密鑰和檢驗值以形成確認(rèn)的密鑰。
根據(jù)本發(fā)明的第八方面,提供一種用于產(chǎn)生具有用于核定其有效性的檢驗值的密鑰的裝置,包括用于產(chǎn)生供對通信加密或解密使用的加密密鑰的裝置;用于通過對加密密鑰運(yùn)行一個或多個密碼函數(shù)從該加密密鑰產(chǎn)生檢驗值的裝置;和用于組合該加密密鑰和檢驗值以形成確認(rèn)的密鑰的裝置。
根據(jù)本發(fā)明的第九方面,提供一種密鑰,該密鑰包括加密密鑰與通過對加密密鑰運(yùn)行一個或多個密碼函數(shù)從該加密密鑰產(chǎn)生的檢驗值的組合。
在本發(fā)明這些方面的一個特定優(yōu)選的裝置中,在把輸入密鑰分配給授權(quán)用戶之前對產(chǎn)生的輸入密鑰進(jìn)一步加密。對應(yīng)地,本發(fā)明第一至第六方面的加密裝置和方法因此最好進(jìn)一步包括在從其確定(或得到)加密密鑰和特定特性(例如檢驗值)之前對輸入密鑰解密的裝置或步驟。
在該裝置中,由于輸入密鑰必須提供在解密時提供加密密鑰和正確特性(例如檢驗值)的密鑰,該附加加密使越權(quán)用戶更難產(chǎn)生其自己的提供強(qiáng)加密的密鑰,可能是例如裝有本發(fā)明的加密設(shè)備的越權(quán)用戶從該設(shè)備提取足夠的信息,以便能夠以某些方式得到其自己的提供強(qiáng)加密的檢驗值或可以獲得確認(rèn)算法的知識。然而,即使在這種情況下,他們?nèi)圆恢廊绾握_地對他們的偽造密鑰加密,以致當(dāng)用該加密設(shè)備解密時,該設(shè)備則從其得到加密密鑰和用于強(qiáng)加密的正確的檢驗值。
根據(jù)本發(fā)明的第十方面,提供一種產(chǎn)生分配給加密設(shè)備用戶的密鑰的方法,包括將密碼加密密鑰與密碼檢驗值組合;和對組合的密鑰加密以提供密鑰。
根據(jù)本發(fā)明的第十一方面,提供一種產(chǎn)生分配給加密設(shè)備用戶的密鑰的裝置,包括用于將密碼加密密鑰與密碼檢驗值組合的裝置;和用于對組合的密鑰加密以提供密鑰的裝置。
根據(jù)本發(fā)明的第十二方面,提供一種包括密碼加密密鑰與密碼檢驗值組合的加密版本的密鑰。
根據(jù)本發(fā)明的第十三方面,提供一種可提供兩個或更多加密強(qiáng)度等級的加密裝置,包括用于使用預(yù)定的解密密鑰對由該裝置的用戶輸入的密鑰解密的裝置;用于從解密的輸入密鑰得到供對通信加密或解密使用的密碼加密密鑰,和密碼檢驗值的裝置;用于根據(jù)得到的檢驗值選擇所述兩個或更多加密強(qiáng)度等級之一的裝置;和用于使用得到的加密密鑰在所選擇的加密強(qiáng)度等級對通信加密或解密的裝置。
根據(jù)本發(fā)明的第十四方面,提供一種對通信加密或解密的方法,包括使用預(yù)定解密密鑰對密鑰解密;從解密密鑰得到供對通信加密或解密使用的密碼加密密鑰,和密碼檢驗值;根據(jù)得到的檢驗值選擇一個加密強(qiáng)度等級;和使用得到的加密密鑰在所選擇的加密強(qiáng)度等級對通信加密或解密。
用于輸入密鑰的加密可以是本領(lǐng)域中已知的任何加密形式。
例如,可以通過對應(yīng)的加密設(shè)備由對稱的秘密密鑰密碼加密,然后在從其得到加密密鑰和檢驗值之前使用相關(guān)的秘密密鑰對輸入密鑰解密。在該裝置中,秘密密鑰最好以不可讀取的形式存儲在加密設(shè)備中,如本領(lǐng)域中已知的,這樣阻止了越權(quán)用戶從加密設(shè)備讀取秘密密鑰并或許由此產(chǎn)生其自己的越權(quán)密鑰。秘密密鑰可以例如存儲在存儲器內(nèi)部,當(dāng)其檢測到試圖讀取該存儲器時,可由竄改檢測電路將該存儲器擦除。
在特定的優(yōu)選實施例中,使用與公開密鑰密碼相反的形式對輸入密鑰加密。密鑰發(fā)生器使用其專用密鑰對輸入密鑰加密,然后加密設(shè)備使用密鑰發(fā)生器的公開密鑰對其解密。這是一種更安全的裝置,因為即使越權(quán)用戶設(shè)法讀取加密設(shè)備中的公開密鑰,他仍不知道需要正確地形成輸入密鑰的專用密鑰。
在該裝置中,最好把加密設(shè)備中的公開密鑰以不能改變的方式存儲在加密設(shè)備中,正如本領(lǐng)域中已知的,這樣防止了越權(quán)用戶將其自己的密鑰放入加密設(shè)備??砂压_密鑰例如以不可改變的方式硬編碼到加密設(shè)備中,或存儲在存儲器中,如果檢測到竄改則停用該存儲器(以致不能向其重寫)。作為替換,可將其存儲在兩個分開的存儲單元中并定期進(jìn)行檢驗以查看它們是否匹配,如果它們不匹配則擦除該存儲器。雖然如上面指出的,公開密鑰最好在加密設(shè)備中也是不可讀取的,這不是必須的。
如果希望的話,可向輸入密鑰進(jìn)一步增加加密等級。例如,也可利用密鑰發(fā)生器的密鑰對其加密,可利用個人的用戶密鑰(由秘密密鑰加密或公開密鑰加密)對該加密的密鑰進(jìn)一步加密,以致僅可由其預(yù)定的個人使用該密鑰。
現(xiàn)在僅作為實例并參考附圖描述本發(fā)明的多個優(yōu)選實施例,其中
圖1示出根據(jù)本發(fā)明產(chǎn)生授權(quán)輸入密鑰的第一實施例;圖2示出根據(jù)本發(fā)明的加密設(shè)備的第一實施例;圖3示出根據(jù)本發(fā)明產(chǎn)生授權(quán)輸入密鑰的第二實施例;和圖4示出根據(jù)本發(fā)明的加密設(shè)備的第二實施例。
圖1說明了根據(jù)本發(fā)明產(chǎn)生授權(quán)輸入密鑰的一種方法。密鑰發(fā)生器或提供者首先使用隨機(jī)密鑰發(fā)射器1產(chǎn)生加密算法所需的長度為na的隨機(jī)加密密鑰K。
然后,由檢驗值發(fā)生器2產(chǎn)生長度為nb的密碼檢驗值(或密鑰確認(rèn)或密鑰簽名)S。檢驗值發(fā)生器2在散列密鑰Kc的控制下對加密密鑰K進(jìn)行密碼確認(rèn)不可逆轉(zhuǎn)的散列函數(shù)h,以提供檢驗值S。希望使檢驗值具有足夠的長度,以使其極不可能無意中形成正確的檢驗值。因此,使檢驗值S的長度與加密密鑰K的長度相似是明智的。
然后根據(jù)混合函數(shù)m由組合裝置3把檢驗值S添加到加密密鑰K(或者可在具體的比特位置插入或交錯到K中),以形成長度為na+nb的確認(rèn)密鑰Ks。
然后由加密裝置4通過密鑰發(fā)生器的專用加密密鑰Ks,使用相反的公開密鑰加密算法f對確認(rèn)的密鑰Ks加密,以產(chǎn)生分配密鑰Kd。該密鑰Kd是由密鑰發(fā)生器提供給授權(quán)用戶,并且還在密鑰特許下提供給委托的第三方的密鑰。
如果需要限制個人加密設(shè)備對分配密鑰的使用,可利用對該個人加密單元(未示出)唯一的密鑰對密鑰Kd進(jìn)一步加密。這樣有助于在密鑰Kd落入錯誤人的手中時使密鑰Kd免于被具有持有密鑰發(fā)生器的公開密鑰的加密設(shè)備的某些其他人使用。
圖2示出根據(jù)本發(fā)明的加密設(shè)備的實施例,特別是如何在用戶的加密設(shè)備內(nèi)部授權(quán)輸入密鑰。
用戶首先把分配密鑰Kd輸入到加密設(shè)備。如果已應(yīng)用了個人加密(未示出),則使用個人加密設(shè)備的解密密鑰對密鑰Kd解密。
然后,由解密裝置5使用公開密鑰解密算法f-1(與f相反)和密鑰發(fā)生器的公開密鑰Kgp對輸入密鑰Kd解密,以便得到確認(rèn)的密鑰Ks。
此后,把得到的密鑰Ks送到對確認(rèn)的密鑰Ks運(yùn)行除法函數(shù)m-1(與m相反)的除法單元6,以便得到加密密鑰K和檢驗值S。
然后,加密設(shè)備的檢驗值發(fā)生器7使用確認(rèn)函數(shù)h和密鑰Kc從得到的加密密鑰K形成進(jìn)一步的比較檢驗值S′,該確認(rèn)函數(shù)h與密鑰Kc與用來由檢驗值發(fā)生器2從加密密鑰K產(chǎn)生檢驗值S的相同。
此后,比較器8把得到的檢驗值S與進(jìn)一步的比較檢驗值S′比較,并輸出其值取決于兩個檢驗值是否相等的信號b。信號b控制加密設(shè)備9提供的加密強(qiáng)度的等級。如果兩個檢驗值相同,信號b選擇強(qiáng)加密模式;如果不相同,則選擇弱加密模式。
加密設(shè)備9根據(jù)可變強(qiáng)度加密算法a,在由信號b確定的強(qiáng)度等級使用得到的加密密鑰K對輸入到加密設(shè)備9的明文通信加密。
加密算法a可以是本領(lǐng)域中已知的任何加密算法,例如DES或IDEA算法。可以以不同方式改變加密強(qiáng)度。例如,可改變加密密鑰K,以使其有效長度減小到使密鑰搜索合理的值(例如通過把比特數(shù)量設(shè)定為固定值,或重復(fù)比特序列)。作為替換,可改變加密算法以便于密碼分析。在DES或IDEA算法的情況下,可嚴(yán)格減少"圓"的數(shù)量,或改進(jìn)DES"S Box"和置換。每當(dāng)信號b表示該密鑰不攜帶來自密鑰提供者的有效檢驗值時,可實施這些改變中的一個或兩個。
現(xiàn)在考慮越權(quán)用戶的狀況。如果不能竄改加密設(shè)備,越權(quán)用戶需要向其提供其中包含將使加密設(shè)備使用強(qiáng)加密的檢驗值的密鑰Kd。然而,越權(quán)用戶不應(yīng)具有確認(rèn)函數(shù)h和散列密鑰Kc的知識,因而不能產(chǎn)生有效的檢驗值。然而,從加密密鑰K計算檢驗值的方法存儲在由特別授權(quán)的密鑰發(fā)生器服務(wù)的每個加密設(shè)備中,因此,越權(quán)用戶找到提取該信息的裝置(例如通過分解(并從而損壞)加密設(shè)備)并使用其產(chǎn)生與其自己發(fā)明的密鑰K對應(yīng)的偽造檢驗值S是可能的。然而,即使在這種情況下,加密設(shè)備不保持授權(quán)密鑰發(fā)生器的秘密密鑰kgs,所以越權(quán)用戶不能產(chǎn)生在用kgp解密時生成有效檢驗值的分配密鑰Kd。
應(yīng)指出,希望使越權(quán)人很難改變加密設(shè)備內(nèi)部的kgp的值,否則可將其改變成越權(quán)用戶的公開密鑰,然后越權(quán)用戶使用其自己的秘密密鑰使他們繞過密鑰特許機(jī)構(gòu)。可利用本領(lǐng)域中已知的任何方式使密鑰Kgp不能改變。例如,可以以不可改變的方式將密鑰Kgp硬編碼到加密設(shè)備中。
還應(yīng)指出,算法f不一定是公開密鑰算法,而可以是專用密鑰,對稱算法。然而,在這種情況下,希望不僅不能改變密鑰,而且也不能在加密設(shè)備內(nèi)部讀取,否則越權(quán)用戶可使用該密鑰和檢驗值產(chǎn)生沒有特許的有效分配密鑰Kd。
還希望確保任何人不能繞過該密鑰解密裝置5。此外,應(yīng)安排加密設(shè)備,以使未來的用戶實際上不能改變、回避或越過該可變加密強(qiáng)度控制機(jī)構(gòu)。因此,該加密設(shè)備通常最好是防竄改的??赏ㄟ^密封圖2所示的所有函數(shù),和其在集成電路中的互連來實現(xiàn)防竄改,以致打開設(shè)備僅可獲得對信號Kd、Ks、K和a的接入。應(yīng)該用附加的竄改檢測層(例如導(dǎo)電格柵,或已知電感和電容的導(dǎo)電螺旋線)覆蓋現(xiàn)用密封設(shè)備的表層,以使該設(shè)備可檢測通過下層探測的嘗試并拒絕工作。可通過包含該設(shè)備的外殼中的防竄改開關(guān)進(jìn)一步保護(hù)用戶的密鑰和散列密鑰;如果打開外殼,則將密鑰擦除。
圖3和4示出根據(jù)本發(fā)明的授權(quán)輸入密鑰產(chǎn)生和加密設(shè)備的替換實施例。這些實施例與圖1和2中所示的那些相同,因此,可以理解,上面相對于圖1和2所做的描述同樣應(yīng)用于圖3和4所示的實施例。在圖3和4中使用相同的標(biāo)號和符號表示與圖1和2中出現(xiàn)的相同特征。
除了加密裝置10在把密鑰分配給用戶前使用加密函數(shù)u和加密密鑰Ku對分配密鑰Kd進(jìn)一步加密外,圖3所示的授權(quán)輸入密鑰的產(chǎn)生與圖1所示的相同以產(chǎn)生用戶加密的分配密鑰Ke。加密密鑰Ku通常是指定給個人或特定用戶群的密鑰,以有助于確保只有該個人或用戶群可以使用分配的密鑰。因此,密鑰Ku總是用戶的(用戶群的)秘密密鑰或公開密鑰,函數(shù)u分別使用秘密或公開密鑰加密。
圖4所示的加密設(shè)備與2所示的加密設(shè)備密切對應(yīng),但適合于使用由圖3的產(chǎn)生方法生成的密鑰Ke。因此,該加密設(shè)備首先包括使用解密函數(shù)u-1(與u相反)和對應(yīng)的用戶解密密鑰Ku的附加解密裝置11,以便對用戶加密的分配密鑰Ke解密以重新得到分配加密密鑰Kd。
圖4所示的設(shè)備根據(jù)所得到的密碼檢驗值還包括提供多于兩個加密或解密等級的可能性。在該裝置中,檢驗值發(fā)生器7使用多個確認(rèn)函數(shù)h從得到的加密密鑰K生成許多進(jìn)一步的比較檢驗值S′。比較器8把得到的檢驗值S與進(jìn)一步的比較檢驗值S′比較,并響應(yīng)每個檢驗值的比較結(jié)果向選擇裝置12輸出表示真或假的信號作為信號b。檢驗值發(fā)生器7與信號b同時向選擇裝置12發(fā)送信號j,表示與特定信號b對應(yīng)的散列函數(shù)h。
選擇裝置12使用函數(shù)d從信號b和信號j得出測試的散列函數(shù)已在匹配的檢驗值中形成,并輸出表示與匹配檢驗值對應(yīng)的加密強(qiáng)度等級的信號i。加密設(shè)備9根據(jù)可變強(qiáng)度加密算法a,以信號i表示的強(qiáng)度等級使用得到的加密密鑰K對明文通信加密。
一種針對多個等級的編碼和測試的替換方式是使用多個散列密鑰,而不是使用多個散列算法h。這種情況下,從函數(shù)h向散列密鑰存儲器傳送密鑰或等級號n,以請求散列密鑰適合于測試的加密強(qiáng)度等級。檢驗值發(fā)生器7借助信號j把等級信息也傳送到選擇裝置12。然后,選擇裝置12可以使用函數(shù)d記錄信號b為真的信號j的值,并借助信號i把該值表示給加密設(shè)備9。然后,加密設(shè)備9把加密算法a的強(qiáng)度改成信號i指示的等級。
雖然已相對于提供帶有檢驗值的輸入密鑰和根據(jù)該輸入密鑰是否得到正確的檢驗值選擇加密強(qiáng)度描述了本發(fā)明的上述實施例,如上面指出的,可使用除輸入密鑰是否得到特定檢驗值之外的特性選擇加密強(qiáng)度。例如,代替用特定的數(shù)除以得到的密鑰Ks,如果相除的結(jié)果是一個整數(shù)(即輸入密鑰可被該特定數(shù)完全除盡),則控制該加密設(shè)備提供強(qiáng)加密,否則不加密。作為替換,可以把得到的密鑰Ks與存儲或計算的特定數(shù)學(xué)串的部分比較,如果發(fā)現(xiàn)匹配,則選擇強(qiáng)加密,否則不加密。
雖然特別參考加密描述了本發(fā)明,正如本領(lǐng)域技術(shù)人員可以理解的,它同樣可以應(yīng)用于解密。該解密設(shè)備以與上述加密設(shè)備對應(yīng)的方式工作。因此,解密設(shè)備將從輸入密鑰得到解密密鑰和檢驗值,然后使用得到的解密密鑰根據(jù)得到檢驗值在所選擇的強(qiáng)度等級對通信解密。在加密設(shè)備提供三個或更多加密強(qiáng)度等級的情況下可特別應(yīng)用該裝置。通過輸入與加密設(shè)備使用的加密等級對應(yīng)的輸入解密密鑰,可控制解密設(shè)備在正確的解密強(qiáng)度等級對加密的消息解密。
在已產(chǎn)生供本發(fā)明的加密設(shè)備使用的密鑰或根據(jù)本發(fā)明產(chǎn)生密鑰的情況下,加密密鑰和對應(yīng)的解密密鑰二者都是希望的,然后可將加密密鑰和解密密鑰的特定特性(例如密碼檢驗值)設(shè)定為相同,或可設(shè)定為不同(例如,使加密密鑰有一個檢驗值和使解密密鑰具有不同的檢驗值)。換句話說,可以以相同方式處理加密和解密密鑰,或按要求可完全分開考慮。這同樣應(yīng)用于加密和解密密鑰相同(例如可能是秘密密鑰密碼的情況)或加密和解密密鑰不同(例如公開密鑰密碼)的情況。在后一種情況下,例如,可使用相同的密碼散列函數(shù)得到公開和專用密鑰的檢驗值(該檢驗值不同)。在檢驗值或特定特性針對分配的加密和解密密鑰不同的情況下,正如可以理解的,該檢驗值或特性應(yīng)該得到相同等級的加密/解密強(qiáng)度。
本發(fā)明的加密設(shè)備尤其可裝在可提供諸如無線,電話等加密通信的任何通信設(shè)備中。
權(quán)利要求
1.一種對通信加密或解密的方法,包括從第一密鑰得到供對通信加密或解密使用的密碼加密密鑰;確定第一密鑰是否有特定特性;根據(jù)確定結(jié)果選擇一個加密強(qiáng)度等級;和使用得到的加密密鑰在所選擇的加密強(qiáng)度等級對通信加密或解密。
2.根據(jù)權(quán)利要求1所述的方法,其中得到的加密密鑰與第一密鑰不同。
3.根據(jù)權(quán)利要求1或2所述的方法,其中根據(jù)其選擇加密強(qiáng)度的特定特性是下列特性之一第一密鑰是否包括特定的比特序列;第一密鑰是否可被一個特定數(shù)完全除盡;或第一密鑰是否屬于一個特定數(shù)學(xué)串。
4.根據(jù)權(quán)利要求1或2所述的方法,其中根據(jù)其選擇加密強(qiáng)度的特定特性是是否可從第一密鑰得到適當(dāng)?shù)拿艽a檢驗值。
5.根據(jù)權(quán)利要求4所述的方法,進(jìn)一步包括從第一密鑰得到密碼檢驗值的步驟,其中根據(jù)得到的檢驗值選擇加密強(qiáng)度的等級。
6.根據(jù)權(quán)利要求5所述的方法,其中把得到的檢驗值與一個或多個其它檢驗值比較,并根據(jù)該比較結(jié)果選擇加密強(qiáng)度。
7.根據(jù)權(quán)利要求6所述的方法,進(jìn)一步包括從第一密鑰得到用于與得到的檢驗值比較的另一個或多個檢驗值。
8.根據(jù)權(quán)利要求7所述的方法,其中通過對得到的加密密鑰運(yùn)行預(yù)定的密碼函數(shù)從第一密鑰得到另一個或多個檢驗值。
9.根據(jù)權(quán)利要求8所述的方法,其中預(yù)定的密碼函數(shù)是不可逆轉(zhuǎn)的密碼散列函數(shù)。
10.根據(jù)前面任何一個權(quán)利要求所述的方法,其中如果第一密鑰具有特定特性,則選擇較高的加密強(qiáng)度等級,如果密鑰沒有特定特性,則選擇較低強(qiáng)度的加密。
11.根據(jù)前面任何一個權(quán)利要求所述的方法,其中所使用的加密強(qiáng)度是根據(jù)確定結(jié)果從三個或更多不同的加密強(qiáng)度等級選擇的。
12.根據(jù)前面任何一個權(quán)利要求所述的方法,進(jìn)一步包括通過對另一個加密的密鑰解密得到該第一加密密鑰的步驟。
13.一種可提供兩個或更多加密強(qiáng)度等級的加密裝置,包括用于從由裝置的用戶輸入的密鑰得到供對通信加密或解密使用的密碼加密密鑰的裝置;用于確定輸入的密鑰是否有特定特性的裝置;用于根據(jù)確定結(jié)果選擇所述的兩個或更多加密強(qiáng)度等級之一的裝置;和用于利用得到的加密密鑰在所選擇的加密強(qiáng)度等級對通信加密或解密的裝置。
14.根據(jù)權(quán)利要求13所述的裝置,其中根據(jù)其選擇加密強(qiáng)度的特定特性是是否可從輸入密鑰得到適當(dāng)?shù)拿艽a檢驗值。
15.根據(jù)權(quán)利要求14所述的裝置,進(jìn)一步包括用于從輸入密鑰得到密碼檢驗值的裝置,其中根據(jù)得到的檢驗值選擇加密強(qiáng)度的等級。
16.根據(jù)權(quán)利要求15所述的裝置,進(jìn)一步包括用于把得到的檢驗值與一個或多個其它檢驗值比較,并根據(jù)該比較結(jié)果選擇加密強(qiáng)度的裝置。
17.根據(jù)權(quán)利要求16所述的裝置,進(jìn)一步包括用于從第一密鑰得到用于與得到的檢驗值比較的另一個或多個檢驗值的裝置。
18.根據(jù)權(quán)利要求13至17中的任何一項所述的裝置,進(jìn)一步包括用于對輸入密鑰解密的裝置,其中用于得到密碼加密密鑰的裝置包括用于從解密的輸入密鑰得到密碼加密密鑰的裝置,和用于確定輸入的密鑰是否具有特定特性的裝置包括用于確定解密的輸入密鑰是否具有特定特性的裝置。
19.一種對通信加密或解密的方法,包括從密鑰得到供對通信加密或解密使用的密碼加密密鑰,和密碼檢驗值;根據(jù)得到的檢驗值選擇一種加密強(qiáng)度等級;和利用得到的加密密鑰在所選擇的加密強(qiáng)度等級對通信加密或解密。
20.一種可提供兩個或更多加密強(qiáng)度等級的加密裝置,包括用于從由裝置的用戶輸入的密鑰得到供對通信加密或解密使用的密碼加密密鑰,和密碼檢驗值的裝置;用于根據(jù)得到的檢驗值選擇所述的兩個或更多加密強(qiáng)度等級之一的裝置;和用于利用得到的加密密鑰在所選擇的加密強(qiáng)度等級對通信加密或解密的裝置。
21.一種對通信加密或解密的方法,包括從密鑰得到供對通信加密或解密使用的密碼加密密鑰,和密碼檢驗值;從得到的加密密鑰得到進(jìn)一步的密碼檢驗值;把得到的檢驗值與進(jìn)一步的檢驗值比較;根據(jù)比較結(jié)果選擇一種加密強(qiáng)度等級;和利用得到的加密密鑰在所選擇的加密強(qiáng)度等級對通信加密或解密。
22.一種可提供兩個或更多加密強(qiáng)度等級的加密裝置,包括用于從由裝置的用戶輸入的密鑰得到供對通信加密或解密使用的密碼加密密鑰,和密碼檢驗值的裝置;用于從得到的加密密鑰得到進(jìn)一步的密碼檢驗值的裝置;用于把得到的檢驗值與進(jìn)一步的檢驗值比較的裝置用于根據(jù)比較結(jié)果選擇所述的兩個或更多加密強(qiáng)度等級之一的裝置;和用于利用得到的加密密鑰在所選擇的加密強(qiáng)度等級對通信加密或解密的裝置。
23.一種產(chǎn)生具有用于核定其有效性的檢驗值的密碼密鑰的方法,包括產(chǎn)生供對通信加密或解密使用的加密密鑰;通過對加密密鑰運(yùn)行一個或多個密碼函數(shù)從該加密密鑰產(chǎn)生檢驗值;和組合該加密密鑰和檢驗值以形成確認(rèn)的密鑰。
24.根據(jù)權(quán)利要求23所述的方法,進(jìn)一步包括對確認(rèn)的密鑰加密的步驟。
25.一種用于產(chǎn)生具有用于核定其有效性的檢驗值的密鑰的裝置,包括用于產(chǎn)生供對通信加密或解密使用的加密密鑰的裝置;用于通過對加密密鑰運(yùn)行一個或多個密碼函數(shù)從該加密密鑰產(chǎn)生檢驗值的裝置;和用于組合該加密密鑰和檢驗值以形成確認(rèn)的密鑰的裝置。
26.根據(jù)權(quán)利要求25所述的裝置,進(jìn)一步包括對確認(rèn)的密鑰加密的裝置。
27.一種基本上如前面參考任何一幅附圖描述的對通信加密和解密的方法。
28.一種基本上如前面參考任何一幅附圖描述的對通信加密和解密的裝置。
全文摘要
一種加密方法和裝置,其中首先從用戶提供的密鑰(K
文檔編號H04L9/08GK1277769SQ9881054
公開日2000年12月20日 申請日期1998年9月14日 優(yōu)先權(quán)日1997年9月16日
發(fā)明者馬克·W·雷恩 申請人:西莫克國際有限公司