密碼根據隨機碼進行變化的動態密碼電子鎖系統的制作方法
【技術領域】
[0001]本發明涉及一種密碼根據隨機碼進行變化的動態密碼電子鎖系統,特別涉及到該類電子鎖的控制器。
【背景技術】
[0002]目前,現有的電子密碼鎖其密碼的產生有兩大類:第一大類為可以進行設置的固定密碼,密碼存儲在非易失性存儲器中,每次開鎖時輸入密碼,輸入的密碼和存儲在非易失性存儲器中密碼進行核對一致時開鎖,還可以通過密碼設置修改非易失性存儲器中密碼的值,更新密碼以增強安全性。第二大類為使用電子鑰匙的情況,電子鑰匙可以是各種接觸或非接觸的磁卡,IC卡等電子標簽,電子標簽中記錄了密碼鎖的密碼,解決了用戶需要記住密碼的苦惱。電子鑰匙還可以使用動態密碼,隨著電子鑰匙的每次使用,在電子鑰匙和密碼鎖進行數據交換的過程中,通過算法或隨機碼動態更新非易失性存儲器和電子鑰匙中的密碼,使之不易別他人仿制或破解。通過加密技術的不斷革新,以上兩種類型的密碼鎖的安全性越來越強,已經在賓館,寫字樓和家庭中廣泛使用。但是以上兩大類密碼鎖在針對密碼鎖的臨時使用者的使用上稍顯不便,固定密碼鎖在臨時使用者使用后需要密碼鎖管理者到密碼鎖所在地進行密碼的修改;電子鑰匙需要把電子鑰匙實物交給臨時使用者并在使用后收回。
[0003]因此,在需要經常服務于臨時使用者的場合,一種密碼可以動態變化而且又方便管理的電子鎖變的很重要。
【發明內容】
[0004]本發明的目的在于克服以上現有技術的局限而提供的一種密碼根據隨機碼進行變化的動態密碼電子鎖,電子鎖的臨時使用者在開鎖時先讓電子鎖生成一個隨機碼R,然后臨時使用者把該隨機碼R發送給該電子鎖的管理者,電子鎖管理者使用一個臨時密碼生成器使用上述隨機碼R和固定密碼F通過特定算法(例如單向散列函數等)動態地生成臨時密碼P,當臨時使用者把P輸入到電子鎖后,電子鎖先取得之前生成的隨機碼R和該電子鎖中存儲的固定密碼F,然后通過與上述同樣的特定算法生成對照碼X,對比X和P,若一致則開鎖。
[0005]本發明所提供的技術可適用于直接密碼按鍵開鎖和通過有線、無線鏈路連接的數據通信開鎖以及使用電子鑰匙(接觸式或非接觸式)開鎖等各類電子鎖。使用臨時密碼時,可以直接通過數字鍵盤輸入臨時密碼P,也可以使用一維條碼、二維碼、彩色識別碼、打孔卡、磁卡、IC卡、RFID、藍牙(Bluetooth)、NFC、USB存儲器、信息紐扣、閃存數據存儲裝置、通過觸點連接的通信裝置、通過有線連接的通信裝置、無線通信裝置、通過電磁感應耦合方式進行通信的通信裝置、無線射頻通信裝置、通過音頻進行通信的通信裝置、紅外線通信裝置、不可見光通信裝置、可見光通信裝置、電子鑰匙、利用量子效應的通信裝置、模式識別裝置、生物識別裝置、語音識別裝置、文字識別裝置、OCR等作為介質存儲臨時密碼P,并在鎖體上采用對應方式的裝置對存儲有臨時密碼P的介質進行讀取。
[0006]本發明的密碼根據隨機碼進行變化的動態密碼電子鎖系統由鎖體和臨時密碼生成器兩部分組成,這兩部分之間可以不需要任何形式的連接。臨時密碼生成器可以是類似計算器的電子裝置、運行在個人計算機或手機上的軟件,也可以是以互聯網應用程序等遠程服務方式提供的一種服務形式。鎖體中有鎖機構部分和控制部分,其中控制部分由微處理器IC1,非易失性存儲器IC2,輸入單元例如數字鍵盤和一個用于輸出的LED顯示器IC4(適用時)等組成,通過一個輸出驅動器IC5,所述控制器可控制鎖體機構以及報警器IC6。電子裝置形式的臨時密碼生成器中包括微處理器IC7和用于顯示的液晶顯示器IC8等。
[0007]采用本發明的電子鎖是這樣工作的:開始時,在鎖體內的非易失性存儲器IC2中存入一組固定密碼F(管理權限密碼或一般密碼),當臨時使用者希望打開該電子鎖時,臨時使用者先讓電子鎖生成一個隨機碼R,然后臨時使用者把隨機碼R發送給該電子鎖的管理者,該電子鎖的管理者使用臨時密碼生成器輸入固定密碼F(管理權限密碼或一般密碼)和隨機碼R后,臨時密碼生成器通過特定算法(例如單向散列函數等)計算得出固定字長的臨時密碼P(例如6位),發回給臨時使用者,臨時使用者在電子鎖上輸入臨時密碼P,電子鎖通過提取非易失性存儲器IC2中的固定密碼F(管理權限密碼或一般密碼)和之前生成的隨機碼R,進行上述臨時密碼生成器中同樣的特定算法的計算,得出固定字長字符串X (例如6位),把該字符串X和輸入的臨時密碼P進行比對,如果一致則控制驅動機構開鎖,若不一致再次比對固定密碼F (管理權限密碼或一般密碼)和輸入的臨時密碼P,如果一致則控制驅動機構開鎖,若不一致則控制報警器報警。
[0008]因此,本發明的密碼根據隨機碼進行變化的動態密碼電子鎖系統的特征在于:開鎖用的臨時密碼是通過固定密碼和一個隨機碼通過特定算法(例如單向散列函數等)計算出來的,隨著固定密碼的變更或者是每次隨機碼的更替,臨時密碼隨之自動進行可預測的變更。
[0009]本發明的有益效果是:電子鎖管理者在對電子鎖臨時使用者進行使用授權時,只需通過臨時密碼生成器輸入固定密碼(管理權限密碼或一般密碼)和指定的電子鎖臨時使用者在電子鎖上讀取到的隨機碼,就可方便地取得在該對應該隨機碼使用的臨時密碼。電子鎖臨時使用者在有效時間段內輸入臨時密碼打開電子鎖,而不需要知道該電子鎖的固定密碼(管理權限密碼或一般密碼),臨時密碼在使用后或過期后失效,電子鎖臨時使用者就無法打開電子鎖。由此一來,相對于使用固定密碼的電子鎖,在確保安全性的前提下,該動態密碼電子鎖系統省略了電子鎖管理者在每個電子鎖臨時使用者使用后都需要重新設定密碼的工作,方便了電子鎖的管理。
【附圖說明】
[0010]下面結合附圖和實施例對本發明進一步說明。
[0011]圖1示意性說明本發明電子鎖系統的鎖體和電子裝置型臨時密碼生成器的功能原理。
[0012]圖2示意性說明本發明電子鎖系統的鎖體和電子裝置型臨時密碼生成器的功能框圖。
[0013]圖3說明本發明鎖系統控制器部分的工作流程。
[0014]圖4說明本發明鎖系統電子裝置型臨時密碼生成器的工作流程。
[0015]圖5舉例說明本發明鎖系統的結構。
[0016]圖6舉例說明本發明鎖體控制部分的電路原理。
[0017]圖7舉例說明本發明臨時密碼生成器的電路原理。
[0018]圖8舉例說明本發明鎖體的非易失性存儲器中數據的安排。
[0019]圖9舉例說明本發明臨時密碼的計算流程。
[0020]圖10舉例說明本發明帶有指定有效時間的臨時密碼計算流程。
【具體實施方式】
[0021]本發明的密碼根據隨機碼進行變化的動態密碼電子鎖系統由鎖體和臨時密碼生成器兩部分組成,參見圖1和圖2,這兩部分之間不需要任何形式的連接。臨時密碼生成器可以是類似計算器的電子裝置、運行在個人計算機或手機上的軟件,也可以是以互聯網應用程序等遠程服務方式提供的一種服務形式。鎖體中有鎖機構部分和控制部分,其中控制部分由微處理器IC1,非易失性存儲器IC2,輸入單元例如數字鍵盤和一個用于輸出的LED顯示器IC4 (適用時)等組成,通過一個輸出驅動器IC5,所述控制器可控制鎖體機構以及報警器IC6。電子裝置形式的臨時密碼生成器中包括微處理器IC7和用于輸出的液晶顯示器IC8 等。
[0022]開鎖用的臨時密碼是通過固定密碼和每次獲取的隨機碼通過特定算法(例如單向散列函數等)計算出來的,隨著固定密碼的變更或者是隨機碼的更替,臨時密碼隨之自動進行對電子鎖管理者來說可預測的變更。臨時密碼只在獲取了對應的隨機碼之后的特定時間段內有效,在該特定時間段以外的任何時間,該臨時密碼無效。臨時密碼可以使用如圖2右側所示的臨時密碼生成器生成,其處理過程如圖4所示,IC7首先接收電子鎖管理者從鍵盤輸入的固定密碼字符串F和從臨時使用者發送來的隨機碼R,并對這兩項進行特定算法的運算(例如單向散列函數等)得到固定長度的臨時密碼P,回傳給臨時使用者,臨時使用者在一定時間內在電子鎖上輸入臨時密碼,電子鎖通過提取非易失性存儲器IC2中的固定密碼F (管理權限密碼或一般密碼)和之前生成的隨機碼R,進行和臨時密碼生成器中同樣的特定算法,得出固定字長字符串X (例如6位),把該字符串X和輸入的臨時密碼P進行比對,如果一致則控制驅動機構開鎖,若不一致則再次比較固定密碼F (管理權限密碼或一般密碼)和輸入的臨時密碼,如果一致則控制驅動機構開鎖,若不一致控制報警器報警,參見圖3。
[0023]臨時密碼P的生成需要固定密碼F和臨時使用者在電子鎖上獲得的隨機碼R兩個變量,根據需要采用特定的算法,可采用適度復雜的單向散列函數來進行計算而得出,這樣,即使知道該算法的詳細步驟,并掌握臨時密碼和隨機碼R的情況下,也很難甚至無法推算出該電子鎖的固定密碼,確保了電子鎖的安全性。
[0024]電子鎖在生成某一隨機碼R后,可以設定一個固定的有效期來驗證對應該隨機碼的臨時密碼P,當該有效期過去后,該隨機碼失效,需要重新生成新的隨機碼,之后輸入的臨時密碼也需要基于新的隨機碼來生成;隨機碼R和臨時密碼P的有效期也可以動態指定,如圖10所示,在上述臨時密碼的生成過程中,電子鎖使用者在臨時密碼生成器上輸入固定密碼F和隨機碼R之外,還可以輸入一個有效時間段H,例如以小時為單位的一個整數,F和R在經過特定算法后先生成一個中間密碼M,然后再以特定方式組合M和H,組合之后的數據串使用F作為密鑰再經過一個可逆的算法(例如對稱加密算法AES等)生成臨時密碼P,當臨時使用者輸入臨時密碼P后,可以使用F作為密鑰反向計算出M和H,M使用前述驗證方法進行驗證,H可以檢查該隨機碼和臨時密碼的使用是否超出了有效時間。
[0025]臨時密碼的輸入方式可以多種多樣,對于位數比較少的臨時密碼來說,最簡單的是使用數字鍵盤直接輸入。但是加上有效時間段等信息再加密后,或者為了更安全,我們常常使用位數更多、位數可變的臨時密碼,這時再使用數字鍵盤輸入就會比較困難,現在新的流行技術包括藍牙、NFC等都可以