使用隨機數的通信安全認證方法
2023-09-14 13:00:50 4
專利名稱:使用隨機數的通信安全認證方法
技術領域:
本發明涉及一種通信安全認證方法,尤其涉及一種利用隨機數進行通信安全認證的方法。
(2)背景技術現代科技的發展使安全認證滲透到了各個領域。例如,電子商務和自動存取款等商業活動,安全門禁和管理權限等企業管理,它們都需要安全認證。目前,最常用的認證方法是加密認證。在此認證過程中,加密和解密雙方都擁有一個秘密,即所謂的加密算法。信息發送方根據加密算法用加密密鑰對信息加密,然後將加密信息發送給接收方。接收方用解密密鑰對接收到的加密信息解密,獲得原始信息。由於加密和解密過程中使用的密鑰通常在一段時間內不會改變,當不法分子利用竊聽手段截獲傳送信息時,加密算法可能被破解,從而導致信息發送失去安全保障。竊聽手段的不斷升級迫使研發人員設計越來越複雜的加密算法,由此引起的大運算量對設備也提出了越來越高的要求。
(3)發明內容為此,本發明的一個目的是提供一種安全性高、運算量小且方案簡單的通信安全認證方法。
根據本發明,提供了一種在第一和第二設備之間進行通信安全認證的方法,其中第一和第二設備具有相同的隨機數表,且所述隨機數表由N個隨機數組組成,每個隨機數組包括第一、第二和第三隨機數。該方法包括以下步驟(a)使第一設備隨機數表的當前指針與第二設備隨機數表的當前指針同步,其中所述當前指針號大於等於第一與第二設備隨機數表各自下次認證指針號中的較大者;(b)將第一設備隨機數表當前指針指向的第m個隨機數組的第一個隨機數發送給第二設備;
(c)當第一和第二設備隨機數表第m個隨機數組的第一個隨機數相等時,將第二設備隨機數表的下次認證指針號更新為m+1;(d)將第二設備隨機數表當前指針指向的第m個隨機數組的第二個隨機數發送給第一設備;(e)當第一和第二設備隨機數表第m個隨機數組的第二個隨機數相等時,將第一設備隨機數表的下次認證指針號更新為m+1;(f)將第一設備隨機數表當前指針指向的第m個隨機數組的第三個隨機數發送給第二設備;(g)當第一和第二設備隨機數表第m個隨機數組的第三個隨機數相等時,發送確認信息;以及(h)當第一和第二設備隨機數表第m個隨機數組的任何一個隨機數比對不相等時,認證失敗。
在上述安全認證方法中,第一和第二隨機數表的當前指針號最好等於第一與第二隨機數表各自下次認證指針號中的較大者。
在上述安全認證方法中,在步驟(a)之前還可以包括下述步驟將第一設備的標識符發送給第二設備;當第二設備中存在第一設備標識符時,第二設備調用與第一設備標識符相應的隨機數表;將第二設備的標識符發送給第一設備;當第一設備中存在第二設備標識符時,第一設備調用與第二設備標識符相應的隨機數表;以及當第一或第二設備中不存在第二或第一設備標識符時,認證失敗。
在上述安全認證方法中,步驟(h)還可以包括下述步驟當第一和第二設備隨機數表第m個隨機數組的第二個隨機數不相等時,認證失敗並將第一設備錯誤標誌增1;對於第二設備標識符,當第一設備錯誤標誌連續累加達到一預定值時,第一設備在一段時間內拒絕響應第二設備;當第一和第二設備隨機數表第m個隨機數組的第一個或第三隨機數不相等時,認證失敗並將第二設備錯誤標誌增1;以及對於第一設備標識符,當第二錯誤標誌連續累加達到一預定值時,第二設備在一段時間內拒絕響應第一設備。
在上述安全認證方法中,還包括下述步驟當第一設備在發送其標識符後未在一預定時間內收到來自第二設備的標識符時,認證失敗;
當第二設備在發送其標識符後未在預定時間內收到來自第一設備的當前指針同步信息或第一隨機數時,認證失敗;當第一設備在發送當前指針同步信息或第一隨機數後未在一預定時間內收到來自第二設備的第二隨機數時,認證失敗並將第一設備錯誤標誌增1;以及當第二設備在發送第二隨機數後未在預定時間內收到來自第一設備的第三隨機數時,認證失敗並將第二設備錯誤標誌增1。
在上述安全認證方法中,第一設備和第二設備之間可以通過有線或無線通信線路連接。
(4)
結合附圖閱讀本發明的具體實施方式
,將清楚和明白本發明的特徵和優點,其中附圖有圖1是一認證系統的結構示意圖;圖2是依照本發明一實施例的隨機數表的數據結構圖;圖3示出了依照本發明一實施例在安全認證過程中前端和後端設備隨機數表指針的移動過程;圖4(a)是依照本發明一實施例的安全認證過程的流程圖;和圖4(b)是圖4(a)流程圖中子程序A的工作過程。
(5)具體實施方式
以下參照附圖,詳細描述本發明的具體實施方式
。
圖1是一認證系統10,它包括前端設備12和後端設備14,兩者之間可以通過有線或無線連接方式交流信息。在實踐中,前端和後端設備可以是任何能夠交流信息的成對設備。例如,自動取款機和銀行帳戶系統,兩個網絡終端,電子鑰匙和門禁。
在本發明的安全認證方法中,由管理機構生成一隨機數表。這裡,對於上述例舉的成對設備,管理機構分別可以是銀行、網絡提供者或企業管理部門等。在某些情況下,管理機構也可以是兩個成對設備的任何一個。管理機構將生成的隨機數表與後端設備的標識符分配給前端設備,同時將同一隨機數表與前端設備的標識符分配給後端設備。這樣,前端和後端設備具有相同的隨機數表。
圖2例示了依照本發明一實施例的隨機數表20的結構。如圖所示,該表是一個N×3二維表,由n組隨機數組成。每一組隨機數包含三個隨機數。每個隨機數可以是16位、32位或其它位數的二進位數,也可以是具有一定長度的其它進位的數字串。在本發明的安全認證方案中,每次認證使用一組隨機數。隨機數表的大小可以根據使用場合而定。
由於一個前端設備可能對應多個後端設備,反之亦然,所以為前端和後端設備分配標識符是必要的。如前所述,管理機構在為一對前端和後端設備分配隨機數表時,還必須將一個設備的標識符通知另一個設備。這樣,在認證過程中,前端設備和後端設備可以通過識別標識符來調用對應的隨機數表。
圖3示出了依照本發明一實施例在安全認證過程中前端和後端設備隨機數表指針的移動過程。
當前端設備被非法使用或者後端設備受到侵犯時,兩個設備的隨機數表指針可能指向不同的數組。因此,每次認證開始時應先使指針同步。具體地說,在一實施例中,當前端設備對後端設備作一次新的訪問時,它將其標識符ID1發送給後端設備。後端設備識別標識符ID1,找出與標識符ID1對應的隨機數表。然後,後端設備對前端設備的訪問作出響應,將自己的標識符ID2和下次認證指針P2next=m′發送給前端設備。前端設備根據後端設備標識符ID2查找相應的隨機數表,並將自已的下次認證指針P1next=m與後端設備的下次認證指針P2next=m′作比較。如果m≥m′,則將m作為當前指針的指針號P1,即令P1=m。如果m<m′,則將m′作為當前指針的指針號,即令P1=m′。前端設備會將當前指針號P1通知後端設備。為了防止第三者通過竊聽而重發攻擊,後端設備判斷P1是否大於或等於後端的下次認證指針P2next。如果是,則後端設備使P2=P1,完成當前指針的同步。如果不是,表示認證失敗。在圖3所示的實施例中,假設m>m′,因此同步後P1=P2=m。
在認證方面,前端設備根據當前指針P1=m從隨機數表第m組數據中取出第一個隨機數Rm1,並將Rm1與P1一起發送給後端設備。後端設備也根據其當前指針P2=m從隨機數表第m組數據中取出第一個隨機數rm1。後端設備將rm1與接收到的Rm1比較。如果相同,表示後端設備實現了對前端設備的認證。為了保證後端隨機數表的當前數據組不會在下一次認證時再次使用,後端設備將下次認證指針P2next的值更新為當前指針P2的值加1,即P2next=P2+1=m+1。接著,後端設備根據當前指針P2從隨機數表第m組中取出第二個隨機數rm2,並將其發送給前端設備。前端設備也取出第m組數據中的第二隨機數Rm2,並將Rm2與rm2比較。如果相同,表示前端設備實現了對後端設備的認證。同樣,為了保證前端隨機數表當前數據組不會在下一次認證時再次使用,前端設備將下次認證指針P1next的值更新為當前指針P1的值加1,即P1next=P1+1=m+1。接著,前端設備根據當前指針號P1取出隨機數表第m組數據的第三個隨機數Rm3,並將其發送給後端設備。後端設備取出隨機數rm3,並將其與接收到的Rm3比較。如果相同,表示完成確認。後端設備發出確認信息。整個認證過程結束。在電子鑰匙(前端設備)和門禁(後端設備)的實施例中,當完成確認時,門禁發出的確認信息可以是表示開啟門鎖的信號。
另外,在本發明的認證方法中,可以為前端設備設立一個錯誤標誌和一預定值,用於記錄後端設備的錯誤次數。同樣,為後端設備設立一個錯誤標誌和一預定值,用於記錄前端設備的錯誤次數。當前端設備比對後端設備發送的隨機數不成功時,前端設備的錯誤標誌加1。如果對於同一後端設備ID,前端錯誤標誌連續累計值小於預定值,那麼允許前端設備重新請求認證。如果前端錯誤標誌連續累計值大於或等於預定值,雖然前端設備仍可重新請求認證,但前端設備在一段時間內拒絕響應同一ID的後端設備ID。另一方面,當後端設備比對前端設備發送的隨機數不成功時,後端設備的錯誤標誌加1。如果對於同一前端設備ID,後端錯誤標誌連續累計值小於預定值,那麼允許前端設備重新請求認證。如果後端錯誤標誌連續累計值大於或等於預定值,那麼後端設備在一段時間內拒絕響應同一ID的前端設備。如果有一次完成的認證過程成功了,則將前端和後端錯誤標誌清零。
另外,為了防止外來攻擊,在本發明的認證方法中,還可以為前端和後端設備分別設置一計時器,並設定一預定時間。當前端或後端設備在發出各自設備ID後未能在預定時間內收到對方設備的響應,則不再接收信息並返回起始狀態,允許前端設備重新請求認證。當前端或後端設備在發出隨機數後未能在預定時間內收到對方設備的響應,則不再接收信息,並將相應的錯誤標誌加1。
圖4(a)是依照本發明一實施例的安全認證過程的流程圖。
首先,在步驟42,前端設備向後端設備發出認證請求,提供其ID。在步驟62,後端設備核對前端ID。如果在後端設備存儲的所有前端設備ID中搜索到相匹配的ID,則核對成功,過程進至步驟64。否則,返回起始處。在步驟64,後端設備調用與接收到的前端ID相對應的隨機數表,並作出認證響應,向前端設備發送後端ID及後端隨機數表的下次認證指針號P2next。在步驟44,前端設備核對後端ID。如果在前端設備存儲的所有後端設備ID中搜索到相匹配的ID,則核對成功,過程進至步驟46。否則返回起始處。在步驟46,前端設備調用與接收到的後端ID相對應的隨機數表,並將該表的下次認證指針號P1next與接收到的後端P2next中的較大者設定為前端隨機數表的當前指針號P1。然後,前端設備將前端當前指針號P1以及該指針所指隨機數組的第一個隨機數Rm1發送給後端設備。在步驟65,後端設備判斷P1是否大於等於後端P2next。如果是,則過程進入步驟66。如果否,則返回起始處。在步驟66,後端設備使後端指針與前端指針同步P2=P1。在步驟68,將P2所指隨機數組中的第一個隨機數rm1與接收到的Rm1比對。如果兩個第一隨機數相等,則過程進到步驟70。如果不相等,過程進到子程序A。在步驟70,使下次認證指針號P2next等於P2+1。然後,後端設備將P2所指隨機數組的第二個隨機數rm2發送給前端。在步驟48,前端設備將P1所指隨機數組中的第二個隨機數Rm2與接收到的rm2比對。如果兩個第二隨機數相等,則過程進到步驟50。如果不相等,過程進到子程序A。在步驟50,使下次認證指針號P1next等於P1+1。然後,前端設備將P1所指隨機數組的第三個隨機數Rm3發送給後端。在步驟72,後端設備將P2所指隨機數組中的第三個隨機數rm3與接收到的Rm3比對。如果兩個第三隨機數相等,則過程進到步驟74。如果不相等,過程進到子程序A。在步驟74,後端設備發出認證成功信號,整個認證過程結束。
圖4(b)是圖4(a)中子程序A的流程。當前端和後端設備中的任一設備比對隨機數不成功時,該設備的錯誤標誌增1。然後,判斷該錯誤標誌是否大於或等於一預定值。如果是,則關閉該設備。這裡「關閉」是指所述設備在一段時間內拒絕響應同一對方設備。如果否,則返回圖4(a)流程中的起始處,允許前端設備重新發出認證請求。圖4(b)所示的子程序也適用於前端或後端設備在發送隨機數後未能在預定時間內收到對方響應的情況。
具體地說,對於同一後端設備ID2,當前端設備未能在預定時間內收到來自後端設備的隨機數rm2或者比對Rm2與rm2不成功時,前端錯誤標誌增1。然後,判斷此前端錯誤標誌是否大於或等於預定值,如果是,返回起始處,前端設備重新請求,但拒絕響應同一ID的後端設備2。類似地,對於同一前端設備ID1,當後端設備未能在預定時間內收到來自前端設備的隨機數rm3或者比對rm1與Rm1或rm3與Rm3不成功時,後端錯誤標誌增1。然後,判斷此後端錯誤標誌是否大於或等於預定值,如果是,後端設備拒絕響應同一ID的前端設備。
圖4的流程圖未包括用計時器限制對方設備響應時間的過程。但根據前述,本領域的熟練技術人員應該可以理解。
由上述技術方案可知,本發明的技術方案有很高的安全性。具體表現在第一,本發明的安全認證過程採用一次口令的方式。每次認證過程都採用三個一組的隨機數進行確認。一組隨機數用過後,便被廢棄(參見圖4(a)中的步驟50和70),可以防止中間人通過竊聽進行重發攻擊。第二,前端和後端設備的隨機數指針號採用同步方式(參見圖4(a)中的步驟46和66),取雙方指針號的大者為當前指針號。這樣,即使前端設備被非法使用或後端設備受到攻擊,也可以保證每次合法的認證過程能夠順利進行。第三,本發明的安全認證過程採用三個一組隨機數進行認證。其中,第一和第二隨機數是認證隨機數,用於成對設備相互間的認證。第三隨機數是確認隨機數,當第一和第二隨機數比對成功後,還要比對第三隨機數。只有第三隨機數比對成功,才認為認證成功。與僅比對二個隨機數的方案相比,本發明的三個隨機數比對方案可以防止中間人的攻擊。第四,前端和後端設備都裝備了一計時器,用於限制通信時間,防止中間人攻擊。第五,設置錯誤標誌,在錯誤次數超過預定值時,將設備關閉一段時間,由此防止中間人用窮舉掃描方式進行攻擊。例如,如果隨機數長度為16位,則一個完整的窮舉掃描需54小時。如果隨機數長度增加到32位,則一個完整的窮舉掃描需408年。可見,本發明方案具有很高的安全性。
本發明的安全認證方案非常簡單,而且運算量小。除了生成隨機數表和隨機數比對之外,沒有其他運算。因此,特別適用於嵌入式系統。
儘管通過實施例詳細描述了本發明,但實施例僅是說明性的。本領域的熟練技術人員在不脫離本發明精神和範圍的情況下,可以作各種變化和修改。本發明由後附權利要求書及其等效技術方案來限定。
權利要求
1.一種在第一和第二設備之間進行通信安全認證的方法,其中第一和第二設備具有相同的隨機數表,且所述隨機數表由N個隨機數組組成,每個隨機數組包括第一、第二和第三隨機數,其特徵在於,所述方法包括以下步驟(a)使第一設備隨機數表的當前指針與第二設備隨機數表的當前指針同步,其中所述當前指針號大於等於第一與第二設備隨機數表各自下次認證指針號中的較大者;(b)將第一設備隨機數表當前指針指向的第m個隨機數組的第一個隨機數發送給第二設備;(c)當第一和第二設備隨機數表第m個隨機數組的第一個隨機數相等時,將第二設備隨機數表的下次認證指針號更新為m+1;(d)將第二設備隨機數表當前指針指向的第m個隨機數組的第二個隨機數發送給第一設備;(e)當第一和第二設備隨機數表第m個隨機數組的第二個隨機數相等時,將第一設備隨機數表的下次認證指針號更新為m+1;(f)將第一設備隨機數表當前指針指向的第m個隨機數組的第三個隨機數發送給第二設備;(g)當第一和第二設備隨機數表第m個隨機數組的第三個隨機數相等時,發送確認信息;以及(h)當第一和第二設備隨機數表第m個隨機數組的任何一個隨機數比對不相等時,認證失敗。
2.如權利要求1所述的通信安全認證方法,其特徵在於,第一和第二設備隨機數表的當前指針號等於第一與第二設備隨機數表各自下次認證指針號中的較大者。
3.如權利要求1或2所述的通信安全認證方法,其特徵在於,在步驟(a)之前還包括下述步驟將第一設備的標識符發送給第二設備;當第二設備中存在第一設備標識符時,第二設備調用與第一設備標識符相應的隨機數表;將第二設備的標識符發送給第一設備;當第一設備中存在第二設備標識符時,第一設備調用與第二設備標識符相應的隨機數表;以及當第一或第二設備中不存在第二或第一設備標識符時,認證失敗。
4.如權利要求3所述的通信安全認證方法,其特徵在於,所述步驟(h)還包括下述步驟當第一和第二設備隨機數表第m個隨機數組的第二個隨機數不相等時,認證失敗並將第一設備錯誤標誌增1;對於第二設備標識符,當第一設備錯誤標誌連續累加達到一預定值時,第一設備在一段時間內拒絕響應第二設備;當第一和第二設備隨機數表第m個隨機數組的第一個或第三隨機數不相等時,認證失敗並將第二設備錯誤標誌增1;以及對於第一設備標識符,當第二錯誤標誌連續累加達到一預定值時,第二設備在一段時間內拒絕響應第一設備。
5.如權利要求4所述的通信安全認證方法,其特徵在於,還包括下述步驟當第一設備在發送其標識符後未在一預定時間內收到來自第二設備的標識符時,認證失敗;當第二設備在發送其標識符後未在預定時間內收到來自第一設備的當前指針同步信息或第一隨機數時,認證失敗;當第一設備在發送當前指針同步信息或第一隨機數後未在一預定時間內收到來自第二設備的第二隨機數時,認證失敗並將第一設備錯誤標誌增1;以及當第二設備在發送第二隨機數後未在預定時間內收到來自第一設備的第三隨機數時,認證失敗並將第二設備錯誤標誌增1。
6.如權利要求1所述的通信安全認證方法,其特徵在於,第一設備和第二設備之間通過有線通信線路連接。
7.如權利要求1所述的通信安全認證方法,其特徵在於,第一設備和第二設備之間通過無線通信線路連接。
全文摘要
一種在具有相同隨機數表的前後設備之間進行通信安全認證的方法,其中隨機數表由N個隨機數組組成,每組包括三個隨機數。具體步驟使前後端隨機數表的當前指針同步,當前指針最好等於前後端下次認證指針中的較大者;前端將當前第m個隨機數組的第一隨機數發送給後端;後端將其相應數組的第一個隨機數與前端第一隨機數比對,若相等,將後端下次認證指針號更新為m+1;後端將第二個隨機數發送給前端;前端將其第二個隨機數與後端第二隨機數比對,若相等,將前端下次認證指針號更新為m+1;前端將第三個隨機數發送給後端;後端將其第三個隨機數與前端第三隨機數比對,若相等,認證成功。若任何一個隨機數比對不相等,認證失敗。
文檔編號H04L9/00GK1419356SQ0113744
公開日2003年5月21日 申請日期2001年11月13日 優先權日2001年11月13日
發明者黃旭濤, 沈王磊 申請人:杭州中正生物認證技術有限公司