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