專利名稱:加密與鑒別的方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種至少在兩個裝置之間通過不安全的通信信道安全加密傳送或鑒別的方法和系統(tǒng)。
背景技術(shù):
通常它很難通過不安全的通信信道例如公共電話線、數(shù)據(jù)網(wǎng)絡(luò)、無線電傳送操作等實現(xiàn)安全加密傳送。傳統(tǒng)的加密算法要求將以專用密鑰或公用密鑰形式的密鑰在裝置之間發(fā)送。然而這種密鑰傳送帶來幾個實際問題。可以將該種密鑰在獨立的安全信道上發(fā)送,但是這種解決方法是麻煩的、昂貴的和費時的?;蛘撸梢詫⒃摲N密鑰通過不安全的信道發(fā)送,隨后加密消息在不安全的信道上發(fā)送。但是,這個過程涉及安全風險,并且當帶有通常所說的公共密鑰的加密系統(tǒng)例如RSA系統(tǒng)被使用時,為了確保加密傳送是充分安全的,需要更大的和更復雜密鑰的密鑰裝置的傳送以及加密的算法,其必然牽涉到增加的麻煩和費用。
為了通過不安全的通信信道提供裝置的安全驗證(通常所說的鑒別),會碰到同樣的問題。這種鑒別是以基于特有密鑰的裝置間的數(shù)據(jù)傳送為基礎(chǔ)。例如,該密鑰可以根據(jù)發(fā)送或接收的信息用來加密檢查和,并且在這種情況下就裝置間密鑰的傳送而論其面臨著與在其他加密的傳送中那些發(fā)現(xiàn)的相同的問題。
發(fā)明目的因此,本發(fā)明的一個目的是提供一種通過一個不安全的通信信道加密傳送和鑒別的方法和系統(tǒng),完全或至少部分地解決在現(xiàn)有技術(shù)中發(fā)現(xiàn)的上述問題。
這個目的通過所附權(quán)利要求中所限定的一種方法和系統(tǒng)實現(xiàn)。
下面將通過一個實施例并參照所附權(quán)利要求更具體描述本發(fā)明,其中圖1是根據(jù)本發(fā)明的一個實施例顯示密鑰生成裝置的示意圖;圖2是根據(jù)本發(fā)明的一個實施例執(zhí)行加密傳送或鑒別的流程圖。
具體實施例方式
本發(fā)明涉及一種至少在兩個裝置之間通過一個不安全通信信道安全加密傳送/鑒別的系統(tǒng)。該通信信道可以是通過其能夠發(fā)送數(shù)據(jù)的任何信道,并且更具體地說,該信道可以是固定的(stationary)及無線的。如圖1中所示每一個這種裝置包含密鑰生成裝置1。這種密鑰生成裝置包含存儲器10,其中最好已經(jīng)按動態(tài)以及/相互/可交換的方式存儲相同的原始數(shù)值U(通常所說的種子值(seed))。原始數(shù)值的存儲最好與裝置的初始啟動相關(guān)來實現(xiàn),并且它能夠通過安全信道實現(xiàn)。但是,不必實際地發(fā)送原始數(shù)值,而有關(guān)裝置的用戶可以自己輸入商定數(shù)值。此外,可以將原始數(shù)值交換,或者當需要時,將相同的原始數(shù)值用于密鑰生成裝置的整個壽命的周期。在這種情況下,不必將原始數(shù)值存儲在動態(tài)存儲器,而可以使用永久性存儲器。
此外,密鑰生成裝置包含周期地改變計算數(shù)值R的計數(shù)器和在各自和每一個裝置而不依賴其他裝置適于根據(jù)原始數(shù)值和通過計數(shù)器得出的計算數(shù)值生成密鑰的計算裝置。但是,計數(shù)器和計算裝置可以被有利地結(jié)合到可以是微處理器例如能大批供應(yīng)的中央處理單元(CPU)的相同裝置11中??梢酝ㄟ^振蕩器或時鐘有利地控制計數(shù)器,同樣可以將其結(jié)合到裝置11中。最好使用和CPU11結(jié)合的基于實時的時鐘。此外,按整數(shù)將計數(shù)器逐步增大,從而較易于使裝置相互同相(同步的)。
假設(shè)相同的原始數(shù)值存儲在存儲器10并且計數(shù)器被同步提供相同的計算數(shù)值,相同的密鑰可以相互無關(guān)地在幾個密鑰生成裝置中生成。因此這些密鑰能夠在裝置間用于加密或鑒別目的。
此外,密鑰生成裝置最好適于檢測它們是否是同步的,并且在它們不同步的情況下實現(xiàn)這個同步。檢測可以通過特定的在密鑰生成以前進行的同步測定來完成。但是當使用不同的密鑰時,或者可以識別對同步的需要,并且僅據(jù)此可以實現(xiàn)同步重新設(shè)置。例如通過裝置之間計算數(shù)值的交換可以實現(xiàn)同步。
計算裝置包含計算算法F,其利用原始數(shù)值和計算數(shù)值做為輸入?yún)?shù)即F=f(R,U)。最好將這個計算算法在計算裝置的硬件中實現(xiàn),或者將它存儲在非動態(tài)和不可變的存儲器中。該計算算法最好生成128位的密鑰,當然其他長度的密鑰也是可能的。每次對密鑰產(chǎn)生器發(fā)出指令以產(chǎn)生一個新的密鑰,因此新的偽隨機的128位字產(chǎn)生,其是在種子值”和計算數(shù)值的基礎(chǔ)上計算的。
密鑰生成裝置1還包含能夠在通信裝置和密鑰生成裝置間用來通信的接口部件12。這個通信最好包含向密鑰生成裝置發(fā)生指令生成密鑰和將這種生成的密鑰返回到通信裝置。
密鑰生成裝置以硬件實現(xiàn),并且以集成電路的形式實現(xiàn),從而使其更加難以干預。因此可以將該電路加到并可以和實質(zhì)上任何類型的通信裝置一起使用。例如可以將根據(jù)本發(fā)明的該密鑰生成裝置連同充值卡(通常所說的智能卡)在便攜式計算機或固定計算機、移動電話、電子日程表和類似的通信電子設(shè)備中使用。
然而,同樣可以例如在傳統(tǒng)的計算機中以軟件實現(xiàn)密鑰生成裝置并利用現(xiàn)有的存儲器等。這個選擇對在固定裝置特別是被用作中央裝置的裝置中的實現(xiàn)是特別有利的。
根據(jù)本發(fā)明的密鑰生成裝置可以用于點對點通信或用于鑒別,即在兩個裝置之間,或中央裝置、服務(wù)器或幾個用戶、客戶之間。這種中央裝置最好包含多個不同的密鑰生成裝置,其每個用于與中央裝置通信的每一個客戶機?;蛘呙荑€裝置可以包含幾個不同的原始數(shù)值,在這種情況下,對密鑰生成裝置生成密鑰的指令還包含有關(guān)應(yīng)當使用哪個原始數(shù)值的信息。幾個裝置可以與具有相同的密鑰生成裝置的中央裝置通信,使它們能夠與中央裝置中相同的密鑰生成裝置通信。
就適于與幾個其他裝置通信的中央裝置來說,鑒于客戶機具有硬件實現(xiàn)的裝置,中央裝置最好包含用于密鑰生成裝置的軟件實現(xiàn)的裝置。例如,客戶機可以是智能卡或移動電話、計算機等。所以根據(jù)本發(fā)明的系統(tǒng)可以在銀行和它的客戶、企業(yè)和他們的雇員、公司和它的子公司等之間使用。另外,該系統(tǒng)可以用來控制通過互聯(lián)網(wǎng)等對主頁的訪問,例如通過將它的智能卡連接到為那個目的而提供的讀取器,并且以此方式也可以控制對例如通過藍牙無線通信的電子設(shè)備的訪問。
此外,為了通過幾個獨立的信道通信,在相同的密鑰生成裝置或在獨立的裝置中,不是中央裝置的裝置也可以包含幾個原始數(shù)值。這樣該裝置可以用于與幾個不同的中央裝置通信。例如,智能卡可以用于與幾個不同的銀行或其他機構(gòu)通信。
下面將參照圖2描述借助于本發(fā)明的系統(tǒng)的加密傳送或鑒別。在第一步驟S1中,將準備用作未來相互通信的裝置啟動,其中給它們提供相同的原始數(shù)值并且其操作過程最好也是同步的。該系統(tǒng)現(xiàn)在隨時可以使用,并且在以后的時刻,即在啟動后經(jīng)過任意期間后。將裝置通過不安全的通信信道相互連接(步驟S2),并且至少裝置的一個對另一個裝置標識其自身(步驟S3)。在步驟S4中,另一個裝置確定是否已知給定的身份并確定它是否具有相應(yīng)的密鑰生成電路即上述所限定的密鑰生成電路和是否具有相應(yīng)的原始數(shù)值。如果是這種情況,該操作過程轉(zhuǎn)到步驟S5,否則該過程被中斷。
然后,裝置同意執(zhí)行加密的傳送或鑒別,從而每一個在各自的密鑰生成裝置中獨立地計算密鑰(步驟S8)。同步檢測(S6)可能在這個步驟發(fā)生之前已被進行,以探查計數(shù)器在各自的密鑰生成裝置中是否是同步的。如果是同步的情況,該操作過程直接繼續(xù)到步驟S8,否則同步步驟(S7)首先被執(zhí)行以重新設(shè)定裝置間同步?;蛘呖梢允∪ゲ襟ES7并且識別裝置不再同步的過程可以通過推斷相同密鑰沒有使用來實現(xiàn)。在這種情況下,為了在各自的裝置中再計算密鑰,該過程執(zhí)行同步步驟S7,然后返回到步驟S8。
然后,所計算的密鑰用來實現(xiàn)加密傳送或鑒別。但應(yīng)當理解加密傳送和鑒別當然可以同時和在相同過程中實現(xiàn)。實質(zhì)上可以借助于任何使用密鑰的加密算法實現(xiàn)加密和鑒別,如眾所周知的RFSM和RSA算法。
本發(fā)明可以用于鑒別即驗證與該裝置通信的裝置是要求的那個裝置以及用于為加密傳送目的的密鑰生成。然而本發(fā)明使用的裝置例如智能卡、電話等可以裝有用以確保裝置用戶是正確的即用戶和通信裝置之間的鑒別是正確的設(shè)備。這種鑒別可以借助于代碼、指紋標識等的輸入來完成。
根據(jù)本發(fā)明的該系統(tǒng)和方法提供一種簡單而花費不多的實現(xiàn)在加密傳送和鑒別中高安全度的方法,由于本發(fā)明能夠在兩個不同的位置上同步地產(chǎn)生相同的密鑰并且沒有信息的交換,或者可能有關(guān)于排序中的哪個密鑰將被產(chǎn)生的信息即計算值的交換。因此不必交換密鑰來實現(xiàn)兩個裝置間的鑒別或加密傳送,例如服務(wù)器和客戶機間,反之亦然。這使得也可以使用較短的密鑰,其提供較少的花費和更高效的傳送,而同時與傳統(tǒng)的系統(tǒng)相比保持其安全性或者甚至提高其安全性。由于本發(fā)明大部分安全裝置在很大程度上可以是硬件集成,其更提高了安全性。因為在這種情況下,最好僅種子值是可交換的并且通常僅生成的密鑰從外部是可以訪問的。
上述的各種系統(tǒng)和方法的變化是可能的。例如該方法和該系統(tǒng)不依靠所用的加密或鑒別方法而是能夠以簡單和安全方式用來生產(chǎn)密鑰,因此可以將它和最熟知的這種方法一起使用。另外,密鑰生成裝置最好以硬件實現(xiàn),它使該密鑰生成過程對用戶完全地隱蔽。但是以普通計算機的軟件實現(xiàn)密鑰生成裝置也是可能的。此外,系統(tǒng)中的裝置實質(zhì)上可以是任何通信電子裝置。用于生成密鑰生成裝置的計算數(shù)值的計數(shù)器也可以是任何類型,只要他們生成隨時間而變的計算數(shù)值。在一個或幾個裝置中省略計數(shù)器也是可能的,并且在這種情況下,計數(shù)器同步步驟被涉及在每一個密鑰生成操作之前裝置間計算數(shù)值的交換即使計算數(shù)值同步的步驟替代。應(yīng)該認為這種和其它顯而易見的變化是在如后面所附的權(quán)利要求中所限定的本發(fā)明的保護范圍內(nèi)。
權(quán)利要求
1.一種用于至少在兩個裝置之間通過不安全的通信信道加密傳送或鑒別的方法,其包含以下步驟;在初始過程中獲取一個用于各自的裝置的公共原始數(shù)值;同步每一個裝置中的計算數(shù)值;根據(jù)原始數(shù)值和計算數(shù)值在每一個裝置中而與其它裝置無關(guān)地生成密鑰;以及在后續(xù)加密傳送或鑒別操作中使用這樣生成的密鑰。
2.一種如權(quán)利要求1中所述的方法,其中至少在裝置的其中之一中并且最好在所有的裝置中以動態(tài)和可交換的方式將原始數(shù)值保存。
3.一種如權(quán)利要求1或2中所述的方法,其中計算數(shù)值在每一個裝置的計數(shù)器中生成,該計算數(shù)值的同步涉及計數(shù)器的同步。
4.一種如權(quán)利要求3中所述的方法,其中在計數(shù)器初始同步后,僅當需要時,裝置執(zhí)行補充的同步步驟。
5.一種如上述權(quán)利要求其中的任何一個中所述的方法,其中根據(jù)原始數(shù)值和計算數(shù)值的所述的密鑰生成操作至少在裝置的其中之一中通過以非動態(tài)和不可變方式存儲的計算算法實現(xiàn)。
6.一種如上述權(quán)利要求其中的任何一個中所述的方法,其中至少裝置的其中一個是可移動裝置,例如智能卡或移動電話。
7.一種如上述權(quán)利要求其中的任何一個中所述的方法,其中裝置的其中一個是中央裝置,該中央裝置包含多個用于與每一個具有一個原始數(shù)值的幾個不同裝置相關(guān)的安全加密傳送或鑒別的原始數(shù)值。
8.一種用于至少在兩個裝置之間通過不安全的通信信道加密傳送/鑒別的系統(tǒng),其中每一個裝置包含密鑰生成裝置,所述的密鑰生成裝置包含一個存儲器,其中相同的原始數(shù)值被存儲,周期地改變計算數(shù)值的計數(shù)器,以及適于根據(jù)由計數(shù)器給出的原始數(shù)值和計算數(shù)值在每一個裝置中而與其他裝置無關(guān)地生成密鑰的計算裝置,所述的密鑰用于在裝置之間加密傳送或鑒別。
9.一種如權(quán)利要求8中所述的系統(tǒng),其中用于至少在裝置的其中一個中存儲原始數(shù)值的存儲器是以動態(tài)和可交換的方式存儲原始數(shù)值的動態(tài)存儲器。
10.一種如權(quán)利要求8或9中所述的系統(tǒng),其中當裝置不同步時,將對裝置進行檢測,然后重新設(shè)置同步。
11.一種如權(quán)利要求8-10其中的任何一個中所述的系統(tǒng),其中至少裝置的其中一個的計算裝置包含計算算法,所述計算算法以非動態(tài)和不可變方式存儲,并且其最好是由硬件實現(xiàn)。
12.一種如權(quán)利要求8-11其中的任何一個中所述的系統(tǒng),其中至少裝置的其中一個是可移動裝置,例如智能卡或移動電話。
13.一種如權(quán)利要求8-12其中的任何一個中所述的系統(tǒng),其中裝置的其中一個是中央裝置,該中央裝置包含多個用于涉及每一個具有一個原始數(shù)值的幾個不同裝置的安全加密傳送或鑒別的原始數(shù)值。
全文摘要
一種用于至少在兩個裝置之間通過不安全通信信道加密傳送或鑒別的方法和系統(tǒng),其包含下述步驟(a)在初始過程中產(chǎn)生一個用于各自的裝置的公共原始數(shù)值;(b)在每一個裝置中同步計算數(shù)值;(c)根據(jù)原始數(shù)值和計算數(shù)值在每一個裝置中與其他裝置無關(guān)地生成密鑰;以及(d)在后續(xù)加密傳送或鑒別操作中使用這樣生成的密鑰。
文檔編號H04L9/32GK1426646SQ01808550
公開日2003年6月25日 申請日期2001年3月26日 優(yōu)先權(quán)日2000年3月24日
發(fā)明者馬蒂爾斯·韋德曼 申請人:英普塞斯股份公司