專利名稱:電子鎖和鑰匙及工作流程控制的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及電子鎖、鑰匙及工作程序,用計算機程序?qū)崿F(xiàn)一種工業(yè)過程控制。
(二)
背景技術(shù):
傳統(tǒng)的密碼鎖采用的是密碼表形式的明文和密文的簡單替代和置換,而且鎖具一 經(jīng)生產(chǎn)其加密解密算法就是固定的,不具有靈活性,只要同類產(chǎn)品中的一個被破解后,其它 產(chǎn)品便同時被攻破。 就申請?zhí)枮?00410087146. 0的專利而言其權(quán)利要求1第7行加密的對象只是隨 機序列,而且只是將隨機序列被生成的密文發(fā)給鑰匙,只是解決密碼容易被竊取的問題,發(fā) 明的重心采用隨機數(shù)充當密碼,密碼可變了 ,外人難以得到開鎖密碼,但并沒有想到對算法 的保護。第一、其說明書中說將隨機序列這唯一的對象加密后發(fā)給鑰匙,然后鑰匙解密后又 加密發(fā)送給鎖。仔細理解該程序你會發(fā)現(xiàn)雖然在從鑰匙發(fā)回鎖的過程中采用了另一個加密 算法,但該發(fā)明由于其采用了兩個加密算法,而且只是將密文發(fā)給對方?jīng)]有將算法信息或 變化信息一并發(fā)給對方,可知其采用的是相對固定的加密、解密算法,實際上隨機序列在無 線傳輸過程中只進行了一重加密而已。這個過程雖然可以保證隨機序列不被外人獲取,但 只要對兩次的數(shù)據(jù)進行比較就會發(fā)現(xiàn)一種固有的關(guān)系,例如假設(shè)鎖上的加密算法是對隨機 序列中的每個數(shù)加3,而鑰匙上的加密算法是對隨機數(shù)序列中的每個數(shù)減2,可見并不需要 隨機序列的具體值,只要將每次鎖發(fā)出來的序列中的每個數(shù)減5就可以發(fā)至鎖中開鎖。雖 然其發(fā)明人用的算法不可能是這樣簡單,但二者的相對關(guān)系用不到幾次就會被高速的計算 機比較發(fā)現(xiàn)出來,所以為別人開鎖提供了破解方向。第二、其說明書第5頁第5行"生成一 定長度的隨機序列",然后對序列加密,沒有添加起干擾作用的密碼,也沒有對別人的測試 增設(shè)門檻。第三、該專利鎖與鑰匙之間雖有握手信號,甚至有電子鑰匙標識,但鎖與鑰匙在 這個過程中沒有加密,將這些信號捕捉后,就可以源源不斷地對鎖和鑰匙進行測試了 。
(三)
發(fā)明內(nèi)容
有鑒于此,本發(fā)明的目的提供可變加密算法、可變的位反通信、可變密碼長度和多 重加密技術(shù)、多重身份驗證技術(shù)的電子鑰匙和電子鎖裝置,用可變的加密算法對隨機序列 加密,解決上述加密算法容易被測試、被破解、連帶鎖也易破解的問題。并提供電子鑰匙和 電子鎖的工作流程控制,本發(fā)明中的解密算法均為加密算法的逆運算或相同運算。
可以采用每次成功開、閉鎖后,鎖向鑰匙發(fā)送成功信號,鎖與鑰匙采用可變加密算 法,約定將加密算法同步變動的辦法來使外人破解不了??梢园茨J規(guī)律(循環(huán)或往復(fù)移 動等)抽取全體加密算法中的算法,如用計數(shù)器加1后定位下一次使用的算法。也可采用 發(fā)送算法位置信息的方法。 加密算法的生成及調(diào)用利用隨機選取的運算符號和隨機選取的操作數(shù)配合在一 起生成算法,如某次選取的運算符號是"+ ",操作數(shù)是"115",則算法是"+115",多個算法在 一起就形成了鎖和鑰匙中的"全體加密算法";或者直接生成多個隨機的操作數(shù)作為"全體
13時動態(tài)選取生成的操作數(shù),再配合固定的運算符號變成算法,此種方法
典型的應(yīng)用是生成的隨機數(shù)分為兩組,一組用于鎖對原始隨機數(shù)明碼序列加密,鑰匙解密,
另一組用于鑰匙對原始隨機數(shù)明碼序列加密,鎖解密,工作完成后將其中一組用本次中鎖
密碼生成模塊產(chǎn)生或鑰匙上解密模塊解密還原得到的的原始隨機數(shù)明碼序列代替。
位反算法的生成及調(diào)用和加密算法一樣的生成方式生成了"全體位反算法",不
過位反算法的調(diào)用是在全體位反算法中固定調(diào)用1個或多個算法,或者是根據(jù)所要發(fā)送的
需要保護的數(shù)據(jù)總長,從全體位反算法中某一固定位置起按比例調(diào)用多個算法。
位反算法定義實際也是一種加密算法,不過它的調(diào)用方法與本發(fā)明之可變的加
密算法有區(qū)別,故重新定義這一名詞;它對數(shù)據(jù)的加密與解密定義為位取反和位取反還原;
位反算法和可變的加密算法可以使用同一套算法中的算法,但區(qū)別就在調(diào)用上有"固定"二字。
位反文件定義包含位反算法的文件。
加密、解密算法定義本發(fā)明中的加密算法均是指可變的加密算法,因為每次工作
時是利用隨機數(shù)生成器產(chǎn)生隨機數(shù)做為算法位置信息,根據(jù)位置信息在全體加密算法中抽
取加密算法,對原始隨機數(shù)明碼序列中的隨機數(shù)一對一或一對多或多對一進行加密;或者
用以前保存的原始隨機數(shù)明碼序列做為加密算法,對本次產(chǎn)生的原始隨機數(shù)明碼序列進行
加密,操作完成后將本次產(chǎn)生的原始隨機數(shù)明碼序列做為以后開、閉鎖操作時的加密算法
保存起來,所以本發(fā)明中的加密算法相對于傳統(tǒng)的固定算法就是可變的加密算法了。在解
密時根據(jù)使用的加密算法的運算符號進行逆運算或相同運算;或者在生成加密算法的同時
生成對應(yīng)的解法,在解密時根據(jù)算法的位置信息直接調(diào)用對應(yīng)的解法。本發(fā)明的加密、解密
是指用可變的加密算法及對應(yīng)的解密算法進行的操作,本說明書從此以下除特殊注明外所
述的算法也是指本條定義的加密、解密算法。
算法文件定義包含加密算法或解密算法的文件。 根據(jù)抽取的算法的數(shù)量,生成與算法數(shù)量成比例關(guān)系數(shù)量的隨機數(shù)序列;或由與 算法數(shù)量成比列關(guān)系數(shù)量減去身份標識長度后確定隨機數(shù)序列長度?;蛘呦壬呻S機長度 的隨機數(shù)序列,必要時將序列長度也放到序列中成為序列中的一個項,(后再選算法。)。以 上動態(tài)產(chǎn)生長度^ 1的原始隨機數(shù)明碼序列,將其與前述加密算法進行計算產(chǎn)生密碼,最 終呈現(xiàn)給我們的密碼也是動態(tài)的。以上得到的密碼是有效密碼,為了增加破解難度,在生成 的有效密碼中再自動添加》0個干擾密碼,只是些對開閉鎖沒有用的隨機數(shù)據(jù),但對傳輸 中的數(shù)據(jù)長度產(chǎn)生了影響,產(chǎn)生可以混肴測試的效果,在對方根據(jù)所傳來的算法信息或是 隨機序列長度去除干擾碼,或者始終都保留,該參與計算還參與計算,在鎖的驗證模塊那里 根據(jù)密碼生成模塊中序列長度,只比較有效長度即可。 算法的位置信息即采用什么算法的信息。可以是單個算法相對于全體加密(解 密)算法第一個算法的距離,也可以是幾個算法組合的起始位置相對于全體加密(解密) 算法第一個算法的距離;畢竟從1開始統(tǒng)計算法距離只能在小范圍內(nèi)取值,所以為了能讓 算法的位置信息可以在大范圍內(nèi)取值,可以以類或結(jié)構(gòu)的型式組織算法,如類結(jié)構(gòu)中包含 大范圍內(nèi)取值生成的隨機數(shù)、本段前述兩個距離中的第一個、具體算法,或是類結(jié)構(gòu)中包含 大范圍內(nèi)取值生成的隨機數(shù)、本段前述兩個距離中的第二個、具體算法、其它算法個數(shù)或位 置信息,這樣類中的隨機數(shù)便可以作為加了密的算法位置信息,那么不論后面對此隨機數(shù)
14再如何處理,只要將隨機數(shù)發(fā)送給對方,對方便會根據(jù)隨機數(shù)找到對應(yīng)的距離,再定位到具
體的加密或解密算法。算法位置信息和加了密的算法位置信息都屬于算法的位置信息。
由于數(shù)據(jù)在計算機中長度可以是一字長、半字等,因此在將算法類的結(jié)構(gòu)定義成
大范圍內(nèi)取值生成的隨機數(shù)、前段所述兩個距離中的第一個、數(shù)據(jù)長度、具體算法時,是這
樣生成加密解密算法的首先是產(chǎn)生距離,然后計算出大范圍內(nèi)取值的隨機數(shù),隨機選擇確
定數(shù)據(jù)長度,隨機選擇確定運算符號,根據(jù)數(shù)據(jù)長度和運算符號在一定范圍內(nèi)隨機確定具
體操作數(shù)。在此條件下,在生成原始隨機數(shù)明碼序列時,都要先讀取抽取的算法中的數(shù)據(jù)長
度和算法,在一定范圍內(nèi)生成隨機數(shù)作為序列中的項,這樣是為了保證序列中的項和算法
計算后不超過數(shù)據(jù)長度。當采用異或運算時就不必考慮計算后超不超過數(shù)據(jù)長度范圍了。
由此所生成的密碼就是由不同長度的數(shù)據(jù)組成的,讓破解者想破解都無從下手。 當算法類結(jié)構(gòu)定義成大范圍取值的隨機數(shù)、算法在全體算法中的序號、具體算法
時,其生成方法是首先自然排序得到序號,再用隨機方法生成大范圍內(nèi)取值的隨機數(shù),具
體算法采取線性同余等隨機函數(shù),其函數(shù)中的種子、和因子、乘因子、模等也用隨機方法生
成。調(diào)用算法時,只需用隨機方法在全體算法的序號中抽取算法,得到一個可以再產(chǎn)生隨機 數(shù)的函數(shù),根據(jù)需要加密的數(shù)據(jù)的個數(shù),用此函數(shù)生成相應(yīng)數(shù)量的隨機數(shù),用得到的隨機數(shù) 異或需要保護的數(shù)據(jù)得到密碼,將對應(yīng)的大范圍內(nèi)取值的隨機數(shù)和密碼發(fā)送給對方,對方 便會根據(jù)大范圍內(nèi)取值的隨機數(shù),找到具體算法,用相同的隨機數(shù)函數(shù)生成的隨機數(shù)異或 密碼解密。 鎖在給每一把鑰匙分配身份標識時,為身份標識關(guān)聯(lián)FIFO管道型變量,變量的值 在分配時初始化。鑰匙上必要數(shù)據(jù)初始化時,在鎖將開、閉鎖標識、身份標識、算法文件等 發(fā)給鑰匙的同時,也將這些變量也一并發(fā)送給鑰匙。工作時,上述變量用于存儲所述原始 隨機數(shù)明碼序列中的某些固定項中的變化的數(shù)值,如第一項中的數(shù)或第一項與第三項等 等;每次工作時,讀取變量已經(jīng)保存的數(shù)值對加密模塊產(chǎn)生的算法位置信息或者身份標識 或者二者一起進行加密,解密模塊解密時先讀取變量已經(jīng)保存的數(shù)值將算法位置信息或者 身份標識或者二者一起解密,然后判斷身份合法后用算法位置信息讀取算法對密碼進行解 密。解密后將當次工作中產(chǎn)生的原始隨機數(shù)明碼序列的某些固定項中的數(shù),存儲到變量尾 部,當執(zhí)行開、閉鎖動作后或收到成功信號后將管道首部已經(jīng)用于加密解密過的值刪除。如 果鑰匙沒有收到成功信號,那么鑰匙既保留已經(jīng)用于加密解密的管道中的值,又將當次工 作中的隨機數(shù)明碼序列某些固定項中的值保存到管道尾部,下次工作時,從這些值中挨個 試著取值進行解密。(如果管道的第一個值解不了,其后面的值可解密,將本次解密產(chǎn)生的 隨機數(shù)明碼序列某些固定項中的值保存到管道尾部,本次收到成功信號后一次性將管道中 可解密加密的值及其前面的值刪除;如果第一個值就可解密,那么將管道尾部的上次保存 的值刪除,并將本次解密產(chǎn)生的隨機數(shù)明碼序列某些固定項中的值保存到管道尾部,在收 到成功信號后將管道首部已用于加密解密的值刪除。前提是所保留的每次工作中的某些固 定項中的數(shù)都互不相同。)這種加密可以保證傳遞中的算法信息、身份信息的安全。當只 對算法位置信息加密時管道可以沒有初值,因為經(jīng)過幾次開、閉鎖后,每次都保存新值存進 去,很快就會有值填滿了。 通過多次動態(tài)選取加密算法對隨機序列、算法位置信息單獨或者二者一起進行加 密,可以達到進一步增加抗破解的效果。本發(fā)明實施例三中公開了兩重動態(tài)加密,根據(jù)需要可以多重加密。由于采用可變加密技術(shù),所以多一重加密便多一重難以破解的效果。
可變加密算法技術(shù)除了在每次開閉鎖時表現(xiàn)出可變外,用戶可以隨時變更算法文 件;可變位反通信技術(shù)是用戶可以隨時變更位反文件,位反的運算方法可以采用循環(huán)移位 或者異或等邏輯運算、算術(shù)運算;一對一或一對多或多對一地將加密后的隨機序列、算法的 位置信息單獨或者二者一起進行位取反,被位取反后的數(shù)據(jù)在發(fā)給對方后按相反或相同的 運算方法再位取反還原,這樣可保證數(shù)據(jù)更加安全地傳遞給對方。 本發(fā)明實施例中采取以鎖為重心,為鑰匙分配標識技術(shù),使鑰匙的修配也更加方 便。
以上是本發(fā)明提供的技術(shù)方法要點,以下是第一種裝置一 電子鎖包括密碼生成模塊、位反模塊、通信模塊、驗證模塊、標識模塊; 其中 密碼生成模塊在全體加密算法中抽取> 0個算法,并記錄所選算法的位置信息, 動態(tài)產(chǎn)生長度^ 1的原始隨機數(shù)明碼序列,此明碼序列與所選的算法進行計算生成密碼; 或者動態(tài)產(chǎn)生長度^ 1的原始隨機數(shù)明碼序列,在全體加密算法中抽取>0個算法,并記錄 所選算法的位置信息,隨機數(shù)明碼序列與所選的算法進行計算生成密碼;在生成的密碼中 添加^0個干擾密碼; 位反模塊對密碼生成模塊傳來的數(shù)據(jù)進行位取反操作,或是對通信模塊接收的 被位取反處理過的數(shù)據(jù)進行位取反還原操作;
通信模塊完成與鑰匙的數(shù)據(jù)交換; 驗證模塊將經(jīng)位反模塊位取反還原得到的明文與密碼生成模塊中的原始隨機數(shù)
明碼序列進行對比,如果不符合規(guī)定要求鎖不進行開鎖或閉鎖操作,如果符合規(guī)定要求則
根據(jù)鑰匙已經(jīng)發(fā)過來的標識是開鎖標識還是閉鎖標識采取相應(yīng)操作; 標識模塊做鑰匙與鎖通信雙方身份驗證; 電子鑰匙包括標識模塊、通信模塊、位反模塊、解密模塊; 其中 標識模塊做鑰匙與鎖通信雙方身份驗證,驗證鎖合法后再繼續(xù)后續(xù)的操作;
通信模塊完成與鎖的數(shù)據(jù)交換; 位反模塊對解密模塊傳來的數(shù)據(jù)進行位取反操作或是對通信模塊接收的位取反 處理過的數(shù)據(jù)進行位取反還原操作; 解密模塊將接收的來自鎖的后經(jīng)位取反還原的數(shù)據(jù)解密。 鎖中進一步還包括自動算法生成模塊用于在接收到生成算法指令后清空所有已 存全體加密算法、全體位反算法、開鎖標識和閉鎖標識、身份標識及關(guān)聯(lián)變量,生成新的全 體加密算法并寫入鎖的非易失性存儲器中; 鎖的位反模塊還進一步用于生成全體位反算法,并寫入鎖的非易失性存儲器中;
鎖的標識模塊還進一步用于為鑰匙分配標識,并寫入鎖的非易失性存儲器中;查 看當前鎖的開閉狀態(tài)并查看鑰匙發(fā)過來的是開鎖標識還是閉鎖標識,啟動密碼生成模塊。
以下是第一種裝置二 電子鎖包括密碼生成模塊、位反模塊、通信模塊、解密模塊、驗證模塊、標識模 塊;
其中 密碼生成模塊在全體加密算法中抽取> 0個算法,并記錄所選算法的位置信息, 動態(tài)產(chǎn)生長度^ 1的原始隨機數(shù)明碼序列,此明碼序列與所選的算法進行計算生成密碼; 或者動態(tài)產(chǎn)生長度^ 1的原始隨機數(shù)明碼序列,在全體加密算法中抽取>0個算法,并記錄 所選算法的位置信息,隨機數(shù)明碼序列與所選的算法進行計算生成密碼;在生成的密碼中 添加> 0個干擾密碼; 位反模塊對密碼生成模塊傳來的數(shù)據(jù)進行位取反操作,或是對通信模塊接收的 被位取反處理過的數(shù)據(jù)進行位取反還原操作;
通信模塊完成與鑰匙的數(shù)據(jù)交換; 解密模塊將接收的來自鑰匙的后經(jīng)位取反還原的數(shù)據(jù)解密; 驗證模塊將解密模塊解密后的明文與密碼生成模塊中的原始隨機數(shù)明碼序列進 行對比,如果不符合規(guī)定要求鎖不進行開鎖或閉鎖操作,如果符合規(guī)定要求則根據(jù)鑰匙已 經(jīng)發(fā)過來的標識是開鎖標識還是閉鎖標識采取相應(yīng)操作;
標識模塊做鑰匙與鎖通信雙方身份驗證; 電子鑰匙包括標識模塊、通信模塊、位反模塊、解密模塊、密碼生成模塊;
其中 標識模塊做鑰匙與鎖通信雙方身份驗證,驗證鎖合法后再繼續(xù)后續(xù)的操作;
通信模塊完成與鎖的數(shù)據(jù)交換; 位反模塊對密碼生成模塊傳來的數(shù)據(jù)的進行位取反操作或是對通信模塊接收的 被位取反處理過的數(shù)據(jù)進行位取反還原操作; 解密模塊將接收的來自鎖的后經(jīng)位取反還原的數(shù)據(jù)解密; 密碼生成模塊根據(jù)解密得到的原始隨機數(shù)明碼序列中隨機數(shù),在鑰匙上全體加 密算法中抽欺>0個算法,并記錄算法的位置信息,將解密得到的原始隨機數(shù)明碼序列與 所選算法進行計算生成密碼;在生成的密碼中添加^ 0個干擾密碼。 鎖中還進一步包括自動算法生成模塊用于在接收到生成算法指令后清空所有已 存全體加密算法、全體位反算法、開鎖標識和閉鎖標識、身份標識及關(guān)聯(lián)變量,生成新的全 體加密算法并寫入鎖的非易失性存儲器中; 鎖的位反模塊還進一步用于生成全體位反算法,并寫入鎖的非易失性存儲器中;
鎖的標識模塊還進一步用于為鑰匙分配標識,并寫入鎖的非易失性存儲器中;查 看當前鎖的開閉狀態(tài)并查看鑰匙發(fā)過來的是開鎖標識還是閉鎖標識,啟動密碼生成模塊。
以下是第二種裝置 電子鎖包括密碼生成模塊、通信模塊、解密模塊、驗證模塊、標識模塊;
其中 密碼生成模塊①在全體加密算法中抽取〉0個算法,并記錄所選算法的位置信 息,動態(tài)產(chǎn)生長度^ 1的原始隨機數(shù)明碼序列,此明碼序列與所選的算法進行計算生成密 碼;或者動態(tài)產(chǎn)生長度^ 1的原始隨機數(shù)明碼序列,在全體加密算法中抽取> 0個算法,并 記錄所選算法的位置信息,隨機數(shù)明碼序列與所選的算法進行計算生成密碼;在生成的密 碼中添加^0個干擾密碼;②依據(jù)現(xiàn)有的密碼和算法位置信息再次在全體加密算法中抽取 > 0個算法,并記錄所選算法的位置信息,將現(xiàn)有數(shù)據(jù)與抽取的算法進行計算得到復(fù)雜密
17碼,在生成的復(fù)雜密碼中添加^ 0個干擾密碼; 通信模塊完成與鑰匙的數(shù)據(jù)交換; 解密模塊將接收的來自鑰匙的加密數(shù)據(jù)解密; 驗證模塊將解密模塊解密后的明文與密碼生成模塊中的原始隨機數(shù)明碼序列進 行對比,如果不符合規(guī)定要求鎖不進行開鎖或閉鎖操作,如果符合規(guī)定要求則根據(jù)鑰匙已 經(jīng)發(fā)過來的標識是開鎖標識還是閉鎖標識采取相應(yīng)操作;
標識模塊做鑰匙與鎖通信雙方身份驗證; 電子鑰匙包括標識模塊、通信模塊、解密模塊、密碼生成模塊;
其中 標識模塊做鑰匙與鎖通信雙方身份驗證,驗證鎖合法后再繼續(xù)后續(xù)的操作; 通信模塊完成與鎖的數(shù)據(jù)交換; 解密模塊將接收的來自鎖的加密數(shù)據(jù)解密; 密碼生成模塊①根據(jù)解密得到的原始隨機數(shù)明碼序列中隨機數(shù),在鑰匙上全體 加密算法中抽取> 0個算法,并記錄算法的位置信息,將解密得到的原始隨機數(shù)明碼序列 與所選算法進行計算生成密碼;在生成的密碼中添加^0個干擾密碼;②依據(jù)現(xiàn)有的密碼 和算法位置信息再次在全體加密算法中抽取> 0個算法,并記錄算法的位置信息,將現(xiàn)有 數(shù)據(jù)與抽取的算法進行計算得到復(fù)雜密碼,在生成的復(fù)雜密碼中添加^ 0個干擾密碼。
鎖中還進一步包括自動算法生成模塊用于在接收到生成算法指令后清空所有已 存全體加密算法、開鎖標識和閉鎖標識、身份標識及關(guān)聯(lián)變量,生成新的全體加密算法并寫 入鎖的非易失性存儲器中; 鎖的標識模塊還進一步用于為鑰匙分配標識,并寫入鎖的非易失性存儲器中;查 看當前鎖的開閉狀態(tài)并查看鑰匙發(fā)過來的是開鎖標識還是閉鎖標識,啟動密碼生成模塊;
電子鎖的密碼生成模塊中的"②依據(jù)現(xiàn)有的密碼和算法位置信息再次在全體加密 算法中抽取算法,并記錄所選算法的位置信息,將現(xiàn)有數(shù)據(jù)與抽取的算法進行計算得到復(fù) 雜密碼,在生成的復(fù)雜密碼中添加^ 0個干擾密碼"選用次數(shù)大于等于0次;
電子鑰匙的密碼生成模塊中的"②依據(jù)現(xiàn)有的密碼和算法位置信息再次在全體加 密算法中抽取算法,并記錄算法的位置信息,將現(xiàn)有數(shù)據(jù)與抽取的算法進行計算得到復(fù)雜 密碼,在生成的復(fù)雜密碼中添加^ 0個干擾密碼"選用次數(shù)大于等于0次。
以下是第三種裝置 電子鎖包括自動算法生成模塊、密碼生成模塊、通信模塊、解密模塊、驗證模塊、 標識模塊;
其中 自動算法生成模塊根據(jù)標識模塊生成的新的身份標識,生成對應(yīng)的新的加密算 法; 密碼生成模塊用與開鎖標識或閉鎖標識對應(yīng)的全體加密算法中第固定序號項 或多個固定序號項中的可變算法,對對應(yīng)的身份標識進行加密;用鑰匙身份標識對應(yīng)的全 體加密算法中的的一組可變加密算法,對原始隨機數(shù)明碼序列進行加密;用鑰匙身份標識 對應(yīng)的全體加密算法中第固定序號項或多個固定序號項中的可變算法,對成功信號進行加 密;將密碼通過通信模塊發(fā)給鑰匙;刪除鑰匙對應(yīng)的全體加密算法中的一部分;
通信模塊完成與鑰匙的數(shù)據(jù)交換; 解密模塊將通信模塊接收的來自鑰匙的密碼解密; 驗證模塊檢查鑰匙身份標識合法后,啟動密碼生成模塊;比對原始隨機數(shù)明碼 序列,符合規(guī)定要求時向鑰匙對應(yīng)的全體加密算法中填加算法,并再次啟動密碼生成模 塊; 標識模塊驗證接收的開鎖或閉鎖標識合法后,啟動密碼生成模塊;提供標識;
電子鑰匙包括標識模塊、通信模塊、解密模塊、密碼生成模塊、驗證模塊;
其中 標識模塊提供標識; 通信模塊完成與鎖的數(shù)據(jù)交換; 解密模塊將通信模塊接收的來自鎖的密碼解密;在解出原始隨機數(shù)明碼序列后 向全體加密算法中填加算法; 密碼生成模塊用全體加密算法中第固定序號項或多個固定序號項中的可變算法 對身份標識進行加密;用全體加密算法中的的一組可變加密算法,對解密模塊還原得到的 原始隨機數(shù)明碼序列進行加密;將密碼通過通信模塊發(fā)給鎖; 驗證模塊驗證由解密模塊解密的由鎖發(fā)過來身份標識合法后,啟動密碼生成模 塊;驗證成功信號后刪除全體加密算法中的一部分;
第三種裝置必要數(shù)據(jù)初始化 將鑰匙與鎖建立通信連接,本發(fā)明前面已經(jīng)提過既可以采取有線連接也可以采取 無線連接,但在設(shè)置算法時如果采取有線連接會更安全。 用戶通過輸入設(shè)備向鎖處理器發(fā)出生成算法指令,鎖向鑰匙發(fā)出所有有限長度的 身份標識。 鑰匙驗證鎖身份標識合法后,將鑰匙身份標識發(fā)送給鎖,并將鑰匙保存之算法文 件、開鎖標識和閉鎖標識、身份標識、成功信號清空。(若是新出廠的鑰匙,則直接發(fā)送一個 固定的值給鎖。) 鎖接收到鑰匙的身份標識后,將與此身份標識相關(guān)的算法文件、開鎖標識和閉鎖 標識、身份標識、成功信號清空。(若收到一個固定的值,則認為是新出廠的鑰匙,直接為其 分配新值。) 鎖為連接的鑰匙重新分配開鎖標識和閉鎖標識、身份標識、成功信號,鎖的自動算 法生成模塊根據(jù)已分配的身份標識生成算法文件,將新的標識、信號、算法文件寫入鎖的非 易失性存儲器中; 鎖上通信模塊讀取算法文件、分配的開鎖標識和閉鎖標識、身份標識、成功信號, 并發(fā)送給鑰匙。 鑰匙上通信模塊接收算法文件、分配的開鎖標識和閉鎖標識、身份標識、成功信 號,由鑰匙的處理器將數(shù)據(jù)寫到鑰匙的非易失性存儲器上。
第三種裝置工作時 1)用戶觸發(fā)鑰匙,鑰匙將開鎖標識或閉鎖標識發(fā)送給鎖。 2)鎖上標識模塊驗證接收的開鎖或閉鎖標識合法后,啟動密碼生成模塊。 3)鎖上密碼生成模塊用與此開鎖或閉鎖標識對應(yīng)的全體加密算法中第固定序號
19項或多個固定序號項中的算法suanA對身份標識(由開鎖或閉鎖標識對應(yīng)的)進行加密。
4)鎖上通信模塊讀取密碼生成模塊生成的密碼,通過通信技術(shù)傳遞給鑰匙。
5)鑰匙上通信模塊將接收到密碼傳給解密模塊。 6)鑰匙上的解密模塊采用與鎖中加密算法suanA對應(yīng)的解密算法(當采用異或運 算符號時,加密解密算法相同,當采用其它算法時,使用suanA中的操作數(shù)和相反的運算方 法作為解密算法)對密碼解密,還原身份標識。 7)鑰匙上驗證模塊在驗證由鎖發(fā)過來身份標識合法后,啟動密碼生成模塊。如果 不合法,停止此次用戶請求操作,恢復(fù)至請求前狀態(tài),并使請求失敗計數(shù)器+1,如果在單位 時間內(nèi)失敗的請求次數(shù)超過出廠設(shè)定值,則單位時間內(nèi)不再對用戶請求作響應(yīng)。單位時間 過后計數(shù)器清零。 8)鑰匙上的密碼生成模塊用全體加密算法中第固定序號項或多個固定序號項中 的算法suanB對身份標識進行加密。 9)鑰匙上通信模塊讀取密碼生成模塊生成的密碼,通過通信技術(shù)傳遞給鎖。
10)鎖上通信模塊將接收到的密碼傳給解密模塊。 11)鎖上的解密模塊采用與鑰匙中加密算法suanB對應(yīng)的解密算法(當采用異或 運算符號時,加密解密算法相同,當采用其它算法時,使用suanB中的操作數(shù)和相反的運算 方法作為解密算法)對密碼解密,還原身份標識。 12)鎖上驗證模塊檢查鑰匙身份合法后,啟動密碼生成模塊。如果不合法,停止此 次用戶請求操作,恢復(fù)至請求前狀態(tài),并使請求失敗計數(shù)器+1,如果在單位時間內(nèi)失敗的請 求次數(shù)超過出廠設(shè)定值,則單位時間內(nèi)不再對用戶請求作響應(yīng)。單位時間過后計數(shù)器清零。
13)鎖上密碼生成模塊選擇與鑰匙身份標識對應(yīng)的全體加密算法中的的一組 suanC,同時生成一組原始隨機數(shù)明碼序列,用所選加密算法suanC對原始隨機數(shù)明碼序列 進行加密。 14)鎖上通信模塊讀取密碼生成模塊生成的密碼,通過通信技術(shù)傳遞給鑰匙。
15)鑰匙上通信模塊將接收到的密碼傳給解密模塊。 16)鑰匙上的解密模塊采用與鎖中加密算法suanC對應(yīng)的解密算法(當采用異或 運算符號時,加密解密算法相同,當采用其它算法時,使用suanC中操作數(shù)和相反的運算方 法作為解密算法)對密碼解密,還原原始隨機數(shù)明碼序列。在還原的原始隨機數(shù)明碼序列 中,取一定數(shù)量隨機數(shù)填充到全體算法的最后面。 17)鑰匙上的密碼生成模塊讀取已存全體加密算法中的一組suanD,對解密模塊 得到的原始隨機數(shù)明碼序列進行加密。 18)鑰匙上通信模塊讀取密碼生成模塊生成的密碼,通過通信技術(shù)傳遞給鎖。
19)鎖上通信模塊將接收到的密碼傳給解密模塊。 20)鎖上的解密模塊采用與鑰匙中加密算法suanD對應(yīng)的解密算法(當采用異或 運算符號時,加密解密算法相同,當采用其它算法時,使用suanD中操作數(shù)和相反的運算方 法作為解密算法)對密碼解密,還原原始隨機數(shù)明碼序列。 21)鎖上驗證模塊將還原得到的原始隨機數(shù)明碼序列與鎖的密碼生成模塊生成的 原始隨機數(shù)明碼序列進行對比。如果符合規(guī)定要求在本次通信過程的原始隨機數(shù)明碼序列 中,取一定數(shù)量隨機數(shù)填充到鑰匙對應(yīng)的全體算法的最后面,并再次啟動密碼生成模塊。如果不符合規(guī)定要求,停止此次用戶請求操作,恢復(fù)至請求前狀態(tài),并使請求失敗計數(shù)器+1,如果在單位時間內(nèi)失敗的請求次數(shù)超過出廠設(shè)定值,則單位時間內(nèi)不再對用戶請求作響應(yīng)。單位時間過后計數(shù)器清零。 22)鎖上的密碼生成模塊用與鑰匙身份標識對應(yīng)的全體加密算法中第固定序號項或多個固定序號項中的算法suanE,對成功信號進行加密。之后,將與鑰匙身份標識對應(yīng)的全體加密算法中的一部分進行刪除,(具體刪除多少,生產(chǎn)時再定,可以是小于等于本次通信過程中的原始隨機數(shù)明碼序列的長度,可以是固定長度,也可是在序列長度范圍內(nèi)在全體加密算法的固定位置取種子的經(jīng)計算確定,只要保證鑰匙與鎖刪除的是相同數(shù)量,并且與填充到鑰匙對應(yīng)的全體加密算法后面的隨機數(shù)數(shù)量相同即可。)被刪除的算法其后面的算法位置依次前移。 23)鎖上通信模塊讀取密碼生成模塊生成的密碼,通過通信技術(shù)傳遞給鑰匙。
24)鎖執(zhí)行開、閉鎖操作。 25)鑰匙上通信模塊將接收到的密碼傳給解密模塊。 26)鑰匙上的解密模塊采用與鎖中加密算法suanE對應(yīng)的解密算法(當采用異或運算符號時,加密解密算法相同,當采用其它算法時,使用suanE中的操作數(shù)和相反的運算方法作為解密算法)對密碼解密,還原成功信號。 27)鑰匙上驗證模塊驗證是正確的成功信號后,將全體加密算法中的一部分進行刪除,(要保證鑰匙與鎖刪除的是相同數(shù)量,并且與填充到鑰匙的全體加密算法后面的隨機數(shù)數(shù)量相同即可。)被刪除的算法其后面的算法位置依次前移。如果一定時間內(nèi)沒有收到成功信號,就不刪除,退出程序。(下次鑰匙發(fā)出開、閉鎖請求時,鎖根據(jù)發(fā)過來的開鎖或閉鎖標識,向鑰匙發(fā)送加了密的身份標識,鑰匙首先假設(shè)上次請求沒成功,采取與上次suanA相對應(yīng)的解密方法解密,還原身份標識正確則將上次填加到全體加密算法后面的隨機數(shù)刪除,后繼續(xù)從第7步起執(zhí)行;如果不正確則假設(shè)刪除與填加的隨機數(shù)相同數(shù)量的算法,被刪除的算法后的所有算法位置依次前移,再在與suanA相同位置取出算法對身份標識解密,如果正確則將假設(shè)刪除的算法真正刪除,如果不正確則執(zhí)行第7步退出程序,計數(shù)器+1。)
注每次鎖發(fā)給鑰匙和鑰匙發(fā)給鎖的數(shù)據(jù)一定要保證不相同,所以在確定原始隨機數(shù)序列時,要先和已有的全體加密算法做比較,生成的數(shù)如果在全體算法中已有就將其扣除;至于suanA與suanB—定要在不同位置取算法。所有請求失敗時,根據(jù)情況宜發(fā)出警告為好。至于鑰匙丟失,用戶可以通過輸入設(shè)備發(fā)出刪除指令,然后依次將沒有丟失的鑰匙與鎖連通,鎖與鑰匙建立通信后,分別獲取現(xiàn)有的身份標識;當用戶發(fā)出確認指令,鎖就根據(jù)現(xiàn)有的身份標識與鎖內(nèi)存儲的所有的身份標識作比較,發(fā)現(xiàn)有沒對應(yīng)上的,就將其相關(guān)的全部信息刪除。這種裝置的好處是一旦身邊的某個人想趁你休息時破譯算法,在他成功將加密的身份標識破解后,也就意味著將后面的所有算法打亂,因為他只有一次機會去測試。以后會將他的測試保存到鑰匙里了。所以對用戶這也是有一利必有一弊。使用者還是需要保管好鑰匙。
以下是第四種裝置一 當把本發(fā)明中鎖做到互相通信的嵌入式產(chǎn)品上;如果需要發(fā)送給對方的數(shù)據(jù)量很大,可先分割成一段一段,通信時將一段一段的數(shù)據(jù)和身份標識用抽取的算法進行加密,如果量不是很大,可以直接和身份標識用抽取的算法進行加密。
電子鎖包括自動算法生成模塊、密碼生成模塊、通信模塊、解密模塊、驗證模塊、
標識模塊;
其中自動算法生成模塊用于生成新的全體加密算法并寫入鎖的非易失性存儲器中;
密碼生成模塊根據(jù)接收方身份標識加上需要保護的數(shù)據(jù),在全體加密算法中抽取算法,并記錄所選算法的位置信息,用所選的算法對身份標識和需要保護的數(shù)據(jù)進行計算生成密碼;將算法位置信息用以前被保護過的數(shù)據(jù)中的某些數(shù)據(jù)進行加密,并將本次被保護的數(shù)據(jù)中的某些數(shù)據(jù)保存到身份標識關(guān)聯(lián)的管道型變量尾,以備以后為算法位置信息加密、解密使用;用身份標識關(guān)聯(lián)的管道型變量首部起沒有用過的數(shù)據(jù)對成功信號加密;
通信模塊完成與另一臺設(shè)備數(shù)據(jù)交換; 解密模塊將通信模塊接收的數(shù)據(jù),用以前被保護過的數(shù)據(jù)中的某些數(shù)據(jù)對算法位置信息解密,判斷算法位置信息確定是否需要重發(fā)成功信號;根據(jù)位置信息找到解密方法對密碼解密,在驗證模塊確認身份標識后,將身份標識關(guān)聯(lián)的管道型變量首部用于上次解密與加密的數(shù)據(jù)刪除;將本次被保護的數(shù)據(jù)中的某些數(shù)據(jù)保存到管道型變量尾,以備以后為算法位置信息加密、解密使用; 驗證模塊根據(jù)解密模塊解密的身份標識,確認此次所傳的保護數(shù)據(jù)為對方要發(fā)給自己的;驗證成功信號后,將身份標識關(guān)聯(lián)的管道型變量首部用于解密和加密的數(shù)據(jù)刪除; 標識模塊向?qū)Ψ桨l(fā)送請求標識,核實對方發(fā)來的應(yīng)答標識后啟動密碼生成模塊;或?qū)Ψ降恼埱髽俗R發(fā)送應(yīng)答標識,并準備接收對方數(shù)據(jù);為連接的設(shè)備分配請求標識、應(yīng)答標識、身份標識及關(guān)聯(lián)變量、成功信號;或接受分配。
通信雙方必要數(shù)據(jù)初始化 將需要通信的兩臺設(shè)備建立通信連接,采取有線連接會更安全。 用戶通過輸入設(shè)備向其中一臺設(shè)備發(fā)出生成算法指令,這臺設(shè)備檢查自身的存儲
容量如果不足,請求用戶刪除其已存的連接中的一個,滿足以后這臺設(shè)備向第二臺設(shè)備發(fā)
出請求。 第二臺設(shè)備先判斷第一臺設(shè)備是不是已連設(shè)備,若為已連接設(shè)備給第一臺設(shè)備發(fā)送回應(yīng),并將先前保存的第一臺設(shè)備連接信息刪除。 第一臺設(shè)備根據(jù)對方回應(yīng)判斷是已連接設(shè)備,將與其相關(guān)的第二臺設(shè)備連接信息刪除。 若不是已連設(shè)備,第二臺設(shè)備根據(jù)自身的存儲容量是否滿足做出響應(yīng),如果不滿足,請求用戶刪除其已存的連接中的一個,再做出響應(yīng)。 第一臺設(shè)備的鎖上的標識模塊為連接的設(shè)備分配請求標識、應(yīng)答標識、身份標識及關(guān)聯(lián)變量、成功信號,并為關(guān)聯(lián)的變量初使化,自動算法生成模塊生成算法文件,寫入第一臺設(shè)備的非易失性存儲器中。 第一臺設(shè)備鎖上通信模塊讀取算法文件、分配的請求標識、應(yīng)答標識、身份標識及關(guān)聯(lián)變量、成功信號,并發(fā)送給第二臺設(shè)備。 第二臺設(shè)備鎖上通信模塊接收算法文件、分配的請求標識、應(yīng)答標識、身份標識及關(guān)聯(lián)變量、成功信號,并寫到第二臺設(shè)備的非易失性存儲器上。
22
第四種裝置一工作時 a)需要發(fā)送數(shù)據(jù)的一臺設(shè)備向需要接收方發(fā)送請求標識; b)第二臺設(shè)備收到請求標識后,向第一臺設(shè)備發(fā)送應(yīng)答標識,并準備接收數(shù)據(jù);
c)第一臺設(shè)備收到應(yīng)答標識后,啟動密碼生成模塊對身份標識和需要保護的數(shù)據(jù)加密并記錄算法位置信息,讀取身份標識關(guān)聯(lián)的管道型變量首部的數(shù)據(jù)對算法位置信息加密,由通信模塊將密碼和算法位置信息發(fā)送給第二臺設(shè)備;將本次保護的數(shù)據(jù)中的部分數(shù)據(jù)保存到身份標識關(guān)聯(lián)的管道型變量尾部; d)第二臺設(shè)備的通信模塊接收密碼和算法位置信息,先讀取身份標識關(guān)聯(lián)的管道型變量首部的數(shù)據(jù),解密算法位置信息,再根據(jù)位置信息找到解密方法對密碼解密;如果得不到正確的身份標識,就假設(shè)身份標識關(guān)聯(lián)的管道型變量首部的數(shù)據(jù)是用于上次解密與加密的數(shù)據(jù),將其假定去除,其后面的數(shù)據(jù)位置依次前移,用前移后的新的首部數(shù)據(jù)為算法位置信息解密,再根據(jù)位置信息找到解密方法對密碼解密,驗證模塊驗證身份標識正確,即確認解密后數(shù)據(jù)為對方要發(fā)給自己的,將假設(shè)刪除的數(shù)據(jù)真正刪除,再將本次保護的數(shù)據(jù)中的部分數(shù)據(jù)保存到身份標識關(guān)聯(lián)的管道型變量尾部,用身份標識關(guān)聯(lián)的管道型變量首部沒用過的數(shù)據(jù)對成功信號加密,并發(fā)送給第一臺設(shè)備;如果得到正確的身份標識,將本次保護的數(shù)據(jù)中的部分數(shù)據(jù)保存到身份標識關(guān)聯(lián)的管道型變量尾部,用身份標識關(guān)聯(lián)的管道型變量首部沒用過的數(shù)據(jù)對成功信號加密,并發(fā)送給第一臺設(shè)備; e)第一臺設(shè)備用身份標識關(guān)聯(lián)的管道型變量首部沒用過的數(shù)據(jù)對成功信號解密,
驗證模塊驗證成功信號后,將身份標識關(guān)聯(lián)的管道型變量首部已用于解密和加密的數(shù)據(jù)刪
除;如果一定時間后沒有收到成功信號,則刪除填加到身份標識關(guān)聯(lián)的管道型變量尾部的
數(shù)據(jù),重復(fù)從a)開始執(zhí)行,并且用先前相同位置的加密算法進行加密,到d)時第二臺設(shè)備
的通信模塊接收密碼和算法位置信息,先讀取身份標識關(guān)聯(lián)的管道型變量首部的數(shù)據(jù),解
密算法位置信息,如果此次所得算法位置信息與前次相同,則不再將本次保護的數(shù)據(jù)中的
部分數(shù)據(jù)保存到身份標識關(guān)聯(lián)的管道型變量尾部,而直接用身份標識關(guān)聯(lián)的管道型變量首
部上次用于加密的數(shù)據(jù)對成功信號加密,并發(fā)送給第一臺設(shè)備;執(zhí)行第e)步。 注第四種裝置一如要正常工作,就必須保證每次使用與前一次不同位置的加密
算法,因為有時幾次都可能發(fā)送相同的數(shù)據(jù),這時只能靠解密后的算法位置信息進行區(qū)別,
是不是幾次發(fā)送的數(shù)據(jù)本身就是相同的。這在選擇算法時保證本次所選位置與前次不同即
可。而且要保證每次使用的算法中對身份標識進行加密的算法要互不相同,這個可在生成
算法時,用比較法過濾。所生成的全體算法可以是全體設(shè)備公用的,也可以是通信兩設(shè)備間
私有的,根據(jù)應(yīng)用確定。如果要實現(xiàn)雙向傳送需要保護的數(shù)據(jù),管道型變量需是兩套。 以下是第四種裝置二 電子鎖包括自動算法生成模塊、密碼生成模塊、通信模塊、解密模塊、驗證模塊、標識模塊;
其中自動算法生成模塊用于生成新的全體加密算法并寫入鎖的非易失性存儲器中;
密碼生成模塊①、根據(jù)需要保護的數(shù)據(jù)和身份標識,在全體加密算法中抽取算法,并記錄所選算法的位置信息,用所選的算法對保護的數(shù)據(jù)和身份標識進行計算生成密碼;②、根據(jù)現(xiàn)有的密碼和算法位置信息再次在全體加密算法中抽取算法,并記錄所選算法的位置信息,將現(xiàn)有密碼和算法位置信息用抽取的算法進行計算得到復(fù)雜密碼;③、將第 "②"重復(fù)N次;④、用以上三部分對保護的數(shù)據(jù)的全部或部分數(shù)據(jù)進行加密;
通信模塊完成與另一臺設(shè)備數(shù)據(jù)交換; 解密模塊將通信模塊接收的數(shù)據(jù),根據(jù)算法位置信息將密碼解密;經(jīng)過N+2次解 密,還原需要保護的數(shù)據(jù)和身份標識,或還原保護數(shù)據(jù)中的全部或部分數(shù)據(jù);
驗證模塊根據(jù)解密模塊解密的身份標識,確認此次所傳的保護數(shù)據(jù)為對方要發(fā) 給自己的; 標識模塊向?qū)Ψ桨l(fā)送請求標識,核實對方發(fā)來的應(yīng)答標識后啟動密碼生成模塊; 或?qū)Ψ降恼埱髽俗R發(fā)送應(yīng)答標識,并準備接收對方數(shù)據(jù);為連接的設(shè)備分配請求標識、應(yīng) 答標識、身份標識;或接受分配。 必要的數(shù)據(jù)初始化與第四種裝置一類同,不再贅述。
第四種裝置二工作時 a)需要發(fā)送數(shù)據(jù)的一臺設(shè)備向需要接收方發(fā)送請求標識。 b)第二臺設(shè)備收到請求標識后,向第一臺設(shè)備發(fā)送應(yīng)答標識,并準備接收數(shù)據(jù)。
c)第一臺設(shè)備收到應(yīng)答標識后,啟動密碼生成模塊對數(shù)據(jù)和身份標識使用密碼生 成模塊中①②③加密并記錄算法位置信息,由通信模塊將密碼和算法位置信息發(fā)送給第二 臺設(shè)備; d)第二臺設(shè)備的通信模塊接收密碼和算法位置信息,根據(jù)算法位置信息找到解密
方法對密碼解密。驗證身份標識,確認解密后數(shù)據(jù)為對方要發(fā)給自己的,對發(fā)給自己的全部
或部分數(shù)據(jù)用密碼生成模塊中④加密,并由通信模塊發(fā)送給第一臺設(shè)備。 e)第一臺設(shè)備根據(jù)算法位置信息,對密碼解密,對解密后數(shù)據(jù)和發(fā)送的保護數(shù)據(jù)
進行比較,符合規(guī)定要求則完成此次發(fā)送任務(wù);如果超過規(guī)定時間沒有數(shù)據(jù)返回則從a)重
新發(fā)送。 注重新發(fā)送數(shù)據(jù)時,仍用先前發(fā)送時相同的算法。在第二臺設(shè)備邊解密,邊比 較所用算法是否和上次相同,如果相同,確認為第一臺設(shè)備沒收到回饋的數(shù)據(jù),則對發(fā)給自 己的全部或部分數(shù)據(jù)加密,并由通信模塊發(fā)送給第一臺設(shè)備。 數(shù)據(jù)的每次加密可以采用一對一、一對多、多對一的方式,用隨機方法在全體算法
中選用算法??梢允侨侩S機確定算法,或是只隨機確定部分,再根據(jù)確定的部分按規(guī)律以
它們?yōu)榛鶞蔬x用其它算法。所生成的全體算法可以是全體設(shè)備公用的,也可以是通信兩設(shè)
備間私有的,根據(jù)應(yīng)用確定。d)步中加密宜選用與第一臺不同的算法。 總之本發(fā)明用用可變的加密算法對變化的數(shù)據(jù)進行加密,使破解工作難上加難。 由于生成新算法文件及復(fù)制數(shù)據(jù)需要是鎖的主人的權(quán)限才行,所以需要用戶身份
驗證,對鑰匙的操作如果也想保護,也需要用戶身份驗證,這是密碼鎖的常用技術(shù)手斷,本
發(fā)明不再贅述。
圖1為第一種電子鑰匙和電子鎖的結(jié)構(gòu)圖一
圖2為第一種電子鑰匙和電子鎖的結(jié)構(gòu)圖二
圖3為鎖的算法文件、位反文件的生成流程圖
圖4為鑰匙的算法、位反文件和開、閉鎖標識的生成流程圖 圖5為實施例一的方法流程圖 圖6為實施例二的方法流程圖 圖7為第二種電子鑰匙和電子鎖的結(jié)構(gòu)圖 圖8為實施例三的方法流程圖
具體實施例方式
作為計算機嵌入式應(yīng)用所應(yīng)具有的處理器、看門狗、時鐘模塊、電源管理模塊、指 示模塊(小燈、蜂鳴器或顯示屏)本發(fā)明均應(yīng)具有不再贅述。隨機方法可以采用物理的真 隨機數(shù)生成器,也可采用有加密種子的隨機數(shù)函數(shù)。以下著重對第一種、第二種裝置進行敘 述。 第一種裝置二的實施 電子鎖包括自動算法生成模塊、密碼生成模塊、位反模塊、通信模塊、解密模塊、
驗證模塊、標識模塊。
其中自動算法生成模塊用于在接收到生成算法指令后清空所有已存算法文件、位反 文件、開鎖標識和閉鎖標識、身份標識及關(guān)聯(lián)變量;生成新的算法文件并寫入鎖的非易失性 存儲器中,供密碼生成模塊及解密模塊調(diào)用。 密碼生成模塊在算法文件中隨機抽取> 0個算法,并記錄所選算法的位置信息, 動態(tài)產(chǎn)生長度^ 1的原始隨機數(shù)明碼序列,此明碼序列與所選的算法進行計算生成密碼; 或者動態(tài)產(chǎn)生長度^ 1的原始隨機數(shù)明碼序列,在算法文件中抽取>0個算法,并記錄所選 算法的位置信息,隨機數(shù)明碼序列與所選的算法進行計算生成密碼;在生成的密碼中添加 > 0個干擾密碼。 位反模塊生成位反文件,并寫入鎖的非易失性存儲器中;根據(jù)位反文件對密碼 生成模塊傳來的密碼和算法的位置信息進行位取反操作,或是對來自鑰匙的被位取反處理 過的密碼和算法的位置信息進行位取反還原操作。
通信模塊完成與鑰匙的數(shù)據(jù)交換。既可以采取有線連接也可以采取無線連接。
解密模塊將接收的來自鑰匙的后經(jīng)位取反還原的數(shù)據(jù)解密。 驗證模塊將解密模塊解密后的明文與密碼生成模塊中的原始隨機數(shù)明碼序列進 行對比,如果不符合規(guī)定要求鎖不進行開鎖或閉鎖操作,如果符合規(guī)定要求則根據(jù)鑰匙已 經(jīng)發(fā)過來的標識是開鎖標識還是閉鎖標識采取相應(yīng)操作。 標識模塊為鑰匙分配開鎖標識、閉鎖標識、身份標識及關(guān)聯(lián)變量,并寫入鎖的非 易失性存儲器中。做鑰匙與鎖通信雙方身份驗證,查看當前鎖的開閉狀態(tài)并查看鑰匙發(fā)過 來的是開鎖標識還是閉鎖標識,如果兩個查看結(jié)果不是同為開或不是同為閉則啟動密碼生 成模塊,身份標識能防止外人測試開鎖。 電子鑰匙包括標識模塊、通信模塊、位反模塊、解密模塊、密碼生成模塊。
其中 標識模塊開、閉鎖標識作為鑰匙與鎖通信雙方身份驗證,確定程序是否繼續(xù)執(zhí) 行,身份標識能防止外人測試開鎖。
通信模塊完成與鎖的數(shù)據(jù)交換。 位反模塊對密碼生成模塊傳來的密碼和算法的位置信息根據(jù)位反文件進行位取
反操作或是對來自鎖的被位取反處理過的數(shù)據(jù)進行位取反還原操作。
解密模塊將接收的來自鎖的后經(jīng)位取反還原的數(shù)據(jù)解密。
密碼生成模塊根據(jù)解密得到的原始隨機數(shù)明碼序列中隨機數(shù),隨機抽取鑰匙上 的算法文件中的算法,并記錄算法在文件中的位置信息,將解密得到的原始隨機數(shù)明碼序 列與所選算法進行計算生成密碼;在生成的密碼中添加^ 0個干擾密碼。
第一種裝置一的實施與第一種裝置二的實施類似,故不再贅述。
以下是第二種裝置的實施 電子鎖還包括自動算法生成模塊、密碼生成模塊、通信模塊、解密模塊、驗證模
塊、標識模塊。
其中 自動算法生成模塊用于在接收到生成算法指令后清空所有已存算法文件、開鎖 標識、閉鎖標識,身份標識及關(guān)聯(lián)變量;生成新的算法文件并寫入鎖的非易失性存儲器中, 供密碼生成模塊及解密模塊調(diào)用。 密碼生成模塊在算法文件中隨機抽取> 0個算法,并記錄所選算法的位置信息, 動態(tài)產(chǎn)生長度^ 1的原始隨機數(shù)明碼序列,此明碼序列與所選的算法進行計算生成密碼; 或者動態(tài)產(chǎn)生長度^ 1的原始隨機數(shù)明碼序列,在算法文件中抽取>0個算法,并記錄所選 算法的位置信息,隨機數(shù)明碼序列與所選的算法進行計算生成密碼;在生成的密碼中添加 》0個干擾密碼。依據(jù)現(xiàn)有的數(shù)據(jù)(密碼和算法位置信息)再次在算法文件中隨機抽取算 法,并記錄所選算法在文件中的位置信息,將現(xiàn)有數(shù)據(jù)與抽取的算法進行計算得到復(fù)雜密 碼,在生成的復(fù)雜密碼中添加^ 0個干擾密碼。
通信模塊完成與鑰匙的數(shù)據(jù)交換。既可以采取有線連接也可以采取無線連接。
解密模塊將接收的來自鑰匙的加密數(shù)據(jù)解密。 驗證模塊將解密模塊解密后的明文與密碼生成模塊中的原始隨機數(shù)明碼序列進 行對比,如果不符合規(guī)定要求鎖不進行開鎖或閉鎖操作,如果符合規(guī)定要求則根據(jù)鑰匙已 經(jīng)發(fā)過來的標識是開鎖標識還是閉鎖標識采取相應(yīng)操作。 標識模塊為鑰匙分配開鎖標識、閉鎖標識、身份標識及關(guān)聯(lián)變量,并寫入鎖的非 易失性存儲器中。做鑰匙與鎖通信雙方身份驗證,查看當前鎖的開閉狀態(tài)并查看鑰匙發(fā)過 來的是開鎖標識還是閉鎖標識,如果兩個查看結(jié)果不是同為開或不是同為閉則啟動密碼生 成模塊,身份標識能防止外人測試開鎖。
電子鑰匙還包括標識模塊、通信模塊、解密模塊、密碼生成模塊。
其中 標識模塊開、閉鎖標識作為鑰匙與鎖通信雙方身份驗證,確定程序是否繼續(xù)執(zhí)
行,身份標識能防止外人測試開鎖。
通信模塊完成與鎖的數(shù)據(jù)交換。
解密模塊將接收的來自鎖的加密數(shù)據(jù)解密。 密碼生成模塊根據(jù)解密得到的原始隨機數(shù)明碼序列中隨機數(shù),隨機抽取鑰匙上 的算法文件中的算法,并記錄算法在文件中的位置信息,將解密得到的原始隨機數(shù)明碼序列與所選算法進行計算生成密碼;在所生成的密碼中添加^ 0個干擾密碼。依據(jù)現(xiàn)有的數(shù) 據(jù)(密碼和算法位置信息)再次在算法文件中隨機抽取算法,并記錄算法在文件中的位置 信息,將現(xiàn)有數(shù)據(jù)與抽取的算法進行計算得到復(fù)雜密碼,在生成的復(fù)雜密碼中添加^ 0個 干擾密碼。 為使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚,下面結(jié)合附圖對本發(fā)明進一步詳 細描述工作流程控制。 以下為第一種電子鑰匙和電子鎖的實施敘述 鎖的算法文件、位反文件的生成 如圖3所示具體包括如下步驟 用戶通過輸入設(shè)備向鎖處理器發(fā)出生成算法指令。 鎖處理器清空所有算法文件、位反文件;鎖處理器調(diào)用執(zhí)行自動算法生成模塊生 成新的算法文件,并寫入鎖的非易失性存儲器中,調(diào)用位反模塊生成位反文件,并寫入鎖的 非易失性存儲器中。 鑰匙的算法、位反文件和開、閉鎖標識、身份標識及關(guān)聯(lián)變量的生成
如圖4所示具體步驟如下 401將鑰匙與鎖建立通信連接,本發(fā)明前面已經(jīng)提過既可以采取有線連接也可以 采取無線連接,但在設(shè)置算法時如果采取有線連接會更安全。 402用戶通過輸入設(shè)備向鎖處理器發(fā)出復(fù)制算法指令,鎖向鑰匙發(fā)出所有身份標 識。 403鑰匙驗證鎖的身份標識合法后,將鑰匙的身份標識發(fā)送給鎖,并將鑰匙保存之 算法文件、位反文件、分配的開鎖標識和閉鎖標識、身份標識及關(guān)聯(lián)變量清空。(若是新出廠 的鑰匙,則直接發(fā)送一個固定的值給鎖。) 404鎖接收到鑰匙的身份標識后,將與此身份標識相關(guān)的開鎖標識和閉鎖標識、身 份標識及關(guān)聯(lián)變量清空。(若收到一個固定的值,則認為是新出廠的鑰匙,直接為其分配新 值。) 405鎖為連接的鑰匙重新分配開鎖標識和閉鎖標識、身份標識及關(guān)聯(lián)變量,并寫入 鎖的非易失性存儲器中;鎖上通信模塊讀取算法文件、位反文件、分配的開鎖標識和閉鎖標 識、身份標識及關(guān)聯(lián)變量,并發(fā)送給鑰匙。 406鑰匙上通信模塊接收算法文件、位反文件、分配的開鎖標識和閉鎖標識、身份
標識及關(guān)聯(lián)變量,由鑰匙的處理器將數(shù)據(jù)寫到鑰匙的非易失性存儲器上。 當用戶發(fā)出確認指令,鎖就根據(jù)現(xiàn)有的身份標識與鎖內(nèi)存儲的所有的身份標識作
比較,發(fā)現(xiàn)有沒對應(yīng)上的,就將其相關(guān)的全部信息刪除。 工作流程實施例一如圖5所示 501用戶觸發(fā)鑰匙,鑰匙將開鎖標識與閉鎖標識中的一個標識發(fā)送給鎖。 502鎖驗證接收的標識合法,并檢查鎖當前狀態(tài)啟動密碼生成模塊,并向鑰匙發(fā)送
上述兩個標識中的另 一個標識給鑰匙。 503鎖上的密碼生成模塊在算法文件中隨機抽取> 0個算法,并記錄所選算法的 位置信息,動態(tài)產(chǎn)生長度^ 1的原始隨機數(shù)明碼序列,此明碼序列與所選的算法進行計算 生成密碼;或者動態(tài)產(chǎn)生長度^ 1的原始隨機數(shù)明碼序列,在算法文件中抽取> O個算法,并記錄所選算法的位置信息,隨機數(shù)明碼序列與所選的算法進行計算生成密碼;在生成的 密碼中添加^ 0個干擾密碼。 504鎖上的位反模塊對密碼和算法的位置信息根據(jù)位反文件進行位取反操作。
505鎖上通信模塊讀取被位取反處理過的密碼和算法的位置信息,通過通信技術(shù) 傳遞給鑰匙。 506鑰匙在驗證先前由鎖發(fā)過來的標識合法后,鑰匙上通信模塊將接收到的被位 取反處理過的密碼和算法的位置信息轉(zhuǎn)給位反模塊進行還原處理。 507鑰匙上的位反模塊對接收的數(shù)據(jù)根據(jù)位反文件進行位取反還原操作,操作完 成后將數(shù)據(jù)傳給解密模塊。 508鑰匙上的解密模塊根據(jù)位取反還原后的數(shù)據(jù)中的算法位置信息,讀出具體采 用的是算法文件中的什么算法,再將數(shù)據(jù)中的密碼與對應(yīng)的算法進行計算解密,還原原始 隨機數(shù)明碼序列。 509鑰匙上的位反模塊將解密模塊得到的原始隨機數(shù)明碼序列,結(jié)合> 0個干擾 密碼,根據(jù)位反文件進行位取反操作。 510鑰匙上的通信模塊將被位取反處理過的數(shù)據(jù)發(fā)送給鎖。 511鎖上的通信模塊將接收到的位取反處理過的數(shù)據(jù)轉(zhuǎn)給位反模塊。 512鎖上的位反模塊對接收的位反處理過的數(shù)據(jù)根據(jù)位反文件進行位取反還原操
作,操作完成后將數(shù)據(jù)傳給驗證模塊。 513鎖上驗證模塊將接收并還原的原始隨機數(shù)明碼序列與鎖的密碼生成模塊生成 的原始隨機數(shù)明碼序列進行對比。如果符合規(guī)定要求根據(jù)鑰匙已發(fā)送過來的標識執(zhí)行用戶 要求的動作。如果不符合規(guī)定要求則不再繼續(xù)執(zhí)行。
工作流程實施例二如圖6所示 601用戶觸發(fā)鑰匙,鑰匙將開鎖標識與閉鎖標識中的一個標識發(fā)送給鎖。 602鎖驗證接收的標識合法,并檢查鎖當前狀態(tài)啟動密碼生成模塊,并向鑰匙發(fā)送
上述兩個標識中的另 一個標識給鑰匙。 603鎖上的密碼生成模塊在算法文件中隨機抽取> 0個算法,并記錄所選算法的 位置信息,動態(tài)產(chǎn)生長度^ 1的原始隨機數(shù)明碼序列,此明碼序列與所選的算法進行計算 生成密碼;或者動態(tài)產(chǎn)生長度^ 1的原始隨機數(shù)明碼序列,在算法文件中抽取> 0個算法, 并記錄所選算法的位置信息,隨機數(shù)明碼序列與所選的算法進行計算生成密碼;在生成的 密碼中添加^ 0個干擾密碼。 604鎖上的位反模塊對密碼和算法的位置信息根據(jù)位反文件進行位取反操作。
605鎖上通信模塊讀取被位取反處理過的密碼和算法的位置信息,通過通信技術(shù) 傳遞給鑰匙。 606鑰匙在驗證先前由鎖發(fā)過來的標識合法后,鑰匙上通信模塊將接收到的被位 取反處理過的密碼和算法的位置信息轉(zhuǎn)給位反模塊進行還原處理。 607鑰匙上的位反模塊對接收的數(shù)據(jù)根據(jù)位反文件進行位取反還原操作,操作完 成后將數(shù)據(jù)傳給解密模塊。 608鑰匙上的解密模塊根據(jù)位取反還原后的數(shù)據(jù)中的算法位置信息,讀出具體采 用的是算法文件中的什么算法,再將數(shù)據(jù)中的密碼與對應(yīng)的算法進行計算解密,還原原始隨機數(shù)明碼序列。 609鑰匙上的密碼生成模塊根據(jù)解密得到的原始隨機數(shù)明碼序列,隨機抽取鑰匙
上的算法文件中的算法,并記錄算法在文件中的位置信息,將解密得到的原始隨機數(shù)明碼
序列與所選算法進行計算生成密碼;在生成的密碼中添加^ 0個干擾密碼。 610鑰匙上的位反模塊對密碼和算法的位置信息根據(jù)位反文件進行位取反操作。 611鑰匙上通信模塊讀取被位取反處理過的密碼和算法的位置信息,通過通信技
術(shù)傳遞給鎖。 612鎖上通信模塊將接收到的位取反處理過的數(shù)據(jù)轉(zhuǎn)給位反模塊。 613鎖上的位反模塊對接收的位取反處理過的數(shù)據(jù)根據(jù)位反文件進行位取反還原
操作,操作完成后將數(shù)據(jù)傳給解密模塊。 614鎖上的解密模塊根據(jù)位取反還原后的數(shù)據(jù)中的算法位置信息,讀出具體采用 的是算法文件中的什么算法,再將數(shù)據(jù)中的密碼與對應(yīng)的算法進行計算解密,還原原始隨 機數(shù)明碼序列。 615鎖上驗證模塊將還原得到的原始隨機數(shù)明碼序列與鎖的密碼生成模塊生成的
原始隨機數(shù)明碼序列進行對比。如果符合規(guī)定要求則根據(jù)鑰匙已發(fā)送過來的標識執(zhí)行用戶
要求的動作。如果不符合規(guī)定要求則不再繼續(xù)執(zhí)行。 以下為第二種電子鑰匙和電子鎖的實施敘述 鎖的算法文件的生成,具體包括如下步驟 用戶通過輸入設(shè)備向鎖處理器發(fā)出生成算法指令。 鎖處理器清空所有算法文件;鎖處理器調(diào)用執(zhí)行自動算法生成模塊生成新的算法 文件,并寫入鎖的非易失性存儲器中。 鑰匙的算法文件和開、閉鎖標識、身份標識及關(guān)聯(lián)變量的生成,具體步驟如下
將鑰匙與鎖建立通信連接,本發(fā)明前面已經(jīng)提過既可以采取有線連接也可以采取 無線連接,但在設(shè)置算法時如果采取有線連接會更安全。 用戶通過輸入設(shè)備向鎖處理器發(fā)出復(fù)制算法指令,鎖向鑰匙發(fā)出所有身份標識。
鑰匙驗證鎖的身份標識合法后,將鑰匙的身份標識發(fā)送給鎖,并將鑰匙保存之算 法文件、分配的開鎖標識和閉鎖標識、身份標識及關(guān)聯(lián)變量清空。(若是新出廠的鑰匙,則直 接發(fā)送一個固定的值給鎖。) 鎖接收到鑰匙的身份標識后,將與此身份標識相關(guān)的開鎖標識和閉鎖標識、身份 標識及關(guān)聯(lián)變量清空。(若收到一個固定的值,則認為是新出廠的鑰匙,直接為其分配新 值。) 鎖為連接的鑰匙重新分配開鎖標識和閉鎖標識、身份標識及關(guān)聯(lián)變量,并寫入鎖 的非易失性存儲器中;鎖上通信模塊讀取算法文件、分配的開鎖標識和閉鎖標識、身份標識 及關(guān)聯(lián)變量,并發(fā)送給鑰匙。 鑰匙上通信模塊接收算法文件、分配的開鎖標識和閉鎖標識、身份標識及關(guān)聯(lián)變 量,由鑰匙的處理器將數(shù)據(jù)寫到鑰匙的非易失性存儲器上。
工作流程實施例三如圖8所示 801用戶觸發(fā)鑰匙,鑰匙將開鎖標識與閉鎖標識中的一個標識發(fā)送給鎖。 802鎖驗證接收的標識合法,并檢查鎖當前狀態(tài)啟動密碼生成模塊,并向鑰匙發(fā)送上述兩個標識中的另 一個標識給鑰匙。 803鎖上的密碼生成模塊在算法文件中隨機抽取> 0個算法,并記錄所選算法的位置信息,動態(tài)產(chǎn)生長度^ 1的原始隨機數(shù)明碼序列,此明碼序列與所選的算法進行計算生成密碼;或者動態(tài)產(chǎn)生長度^ 1的原始隨機數(shù)明碼序列,在算法文件中抽取> 0個算法,并記錄所選算法的位置信息,隨機數(shù)明碼序列與所選的算法進行計算生成密碼;在生成的密碼中添加^0個干擾密碼。依據(jù)現(xiàn)有的數(shù)據(jù)(密碼和算法位置信息)再次在算法文件中隨機抽取算法,并記錄所選算法在文件中的位置信息,將現(xiàn)有數(shù)據(jù)與抽取的算法進行計算得到復(fù)雜密碼,在生成的復(fù)雜密碼中添加^ 0個干擾密碼。 804鎖上通信模塊讀取上個步驟得到的最終密碼與算法信息,通過通信技術(shù)傳遞給鑰匙。 805鑰匙在驗證先前由鎖發(fā)過來的標識合法后,鑰匙上通信模塊接收鎖上的最終密碼與算法信息并傳給解密模塊。 806鑰匙上的解密模塊根據(jù)傳來的數(shù)據(jù)中的算法位置信息,讀出具體采用的是算法文件中的什么算法,再將數(shù)據(jù)中的密碼與對應(yīng)的算法進行計算解密,還原原始隨機數(shù)明碼序列。 807鑰匙上的密碼生成模塊根據(jù)解密得到的原始隨機數(shù)明碼序列,隨機抽取鑰匙上的算法文件中的算法,并記錄算法在文件中的位置信息,將解密得到的原始隨機數(shù)明碼序列與所選算法進行計算生成密碼;在生成的密碼中添加^0個干擾密碼。依據(jù)現(xiàn)有的數(shù)據(jù)(密碼和算法位置信息)再次在算法文件中隨機抽取算法,并記錄算法在文件中的位置信息,將現(xiàn)有數(shù)據(jù)與抽取的算法進行計算得到復(fù)雜密碼,在生成的復(fù)雜密碼中添加^ 0個干擾密碼。 808鑰匙上通信模塊讀取上一步驟的最終密碼與算法信息,通過通信技術(shù)傳進給鎖。 809鎖上通信模塊將接收到的鑰匙上最終密碼與算法信息傳給解密模塊。 810鎖上的解密模塊根據(jù)傳來的數(shù)據(jù)中的算法位置信息,讀出具體采用的是算法
文件中的什么算法,再將數(shù)據(jù)中的密碼與對應(yīng)的算法進行計算解密,還原原始隨機數(shù)明碼序列。 811鎖上驗證模塊將還原得到的原始隨機數(shù)明碼序列與鎖的密碼生成模塊生成的原始隨機數(shù)明碼序列進行對比。如果符合規(guī)定要求則根據(jù)鑰匙已發(fā)送過來的標識執(zhí)行用戶要求的動作。如果不符合規(guī)定要求則不再繼續(xù)執(zhí)行。
后續(xù) 上述工作流程實施例一、二、三,開鎖標識與閉鎖標識很容易被外人獲取,為了防止外人不斷地測試摸索鑰匙與鎖上存儲的加密算法,使用程序計數(shù)的方式記錄單位時間內(nèi)接收次數(shù),超過設(shè)計的最大限制后,單位時間內(nèi)就不再接收(或發(fā)送)密碼和算法位置信息,單位時間過后計數(shù)清零。每次開、閉鎖時在密碼生成模塊中,身份標識也和原始隨機數(shù)明碼序列一起被加密生成密碼,在對方由解密模塊進行解密,標識模塊(或驗證模塊)將解密后的身份標識和自身存儲的身份標識進行身份驗證,不合法就停止程序運行,使鎖或鑰匙恢復(fù)到當天當次通信前的狀態(tài)。當身份標識放在隨機序列尾部時,在生成隨機序列的時候等于標識的數(shù)要舍去。
為防止外人將鎖發(fā)出的密碼和加密算法的位置信息先接收,后再重新發(fā)給鎖,采 取以下方法之一 a、鎖在接收到來自鑰匙的密碼和加密算法的位置數(shù)據(jù)后,與其發(fā)送給鑰 匙的數(shù)據(jù)進行比對,如果相同則重新將此數(shù)據(jù)發(fā)送給鑰匙。b、鑰匙在重新給隨機數(shù)序列進 行加密時,采取與鎖不完全相同或完全不同位置的加密算法進行加密,或者在填加干擾密 碼時保證所填加的干擾密碼與鎖傳來的不一樣,或者前述兩者相結(jié)合,鎖同樣也需要檢查 接收的來自鑰匙的密碼和加密算法的位置數(shù)據(jù)與其發(fā)送給鑰匙的數(shù)據(jù)是否相同,如果相同 不再對鑰匙的請求做響應(yīng),此后鑰匙如果想要鎖對其響應(yīng),鑰匙必須向鎖發(fā)送身份標識,并 給用戶發(fā)出警告。 本發(fā)明由于對算法進行了加密,就算不采用隨機序列,而對不同鎖采用固定長度 的不同的序列也可起到很好的保密作用。 本說明書中加密算法文件中的算法和位反文件中的算法,除了可以以文件的方式 進行組織外,也可采用存放在固定的存儲區(qū)域的方式進行組織使用,相應(yīng)的在文件中的位 置信息也要調(diào)整為在存儲區(qū)中的位置信息。 就像405所述"鑰匙上通信模塊接收算法文件、位反文件、分配的開鎖標識和閉鎖 標識、身份標識及關(guān)聯(lián)變量,由鑰匙的處理器將數(shù)據(jù)寫到鑰匙的非易失性存儲器上。"可以 完成鑰匙上必要數(shù)據(jù)的初始化設(shè)定,當然也可以采用PC機管理手機內(nèi)存SD卡(用讀卡器 或數(shù)據(jù)線)的方式把文件導(dǎo)入鑰匙的存儲器,這時寫入的操作在鎖上來完成。并且所述的 "算法文件、位反文件、分配的開鎖標識和閉鎖標識、身份標識及關(guān)聯(lián)變量"除可以分別存放 在不同文件或區(qū)域中,也可幾個或全部組合放在同一文件或區(qū)域中,通過不同的位置區(qū)分 具體是什么。 404中"鎖為連接的鑰匙重新分配開鎖標識和閉鎖標識、身份標識及關(guān)聯(lián)變量"對 每把鑰匙之間而言其標識可以相同也可以不同,根據(jù)具體條件選擇,如有時可以不要關(guān)聯(lián) 變量,只用可變加密算法加密就足夠了時。 當然所有的算法文件、位反文件、標識也可以在鑰匙上生成后導(dǎo)入鎖內(nèi);也可以采 用第三方設(shè)備生成,再分別導(dǎo)入鑰匙和鎖內(nèi);算法文件、位反文件、標識除了可以自動生成 外,也可以指導(dǎo)用戶讓用戶自己去寫,然后存盤;但所有的種種都用到了可變的加密算法技 術(shù)、可變密碼長度技術(shù)、可變的位反通信技術(shù),多重可變加密算法疊加應(yīng)用技術(shù)、干擾密碼 技術(shù),屬同一種發(fā)明,因此不再贅述。 對發(fā)送的開鎖標識、閉鎖標識也可采取可變加密算法對其加密,不過這樣每當外
界有信號時都會啟動解密程序,無端地增加了鎖和鑰匙的工作負擔(dān)。 為了更加安全,生產(chǎn)時也可以加上報警功能模塊。
3權(quán)利要求
一種電子鎖和鑰匙,其特征為以下(一)或(二)(一)、電子鎖包括密碼生成模塊、位反模塊、通信模塊、驗證模塊、標識模塊;其中密碼生成模塊在全體加密算法中抽?。?個算法,并記錄所選算法的位置信息,動態(tài)產(chǎn)生長度≥1的原始隨機數(shù)明碼序列,此明碼序列與所選的算法進行計算生成密碼;或者動態(tài)產(chǎn)生長度≥1的原始隨機數(shù)明碼序列,在全體加密算法中抽?。?個算法,并記錄所選算法的位置信息,隨機數(shù)明碼序列與所選的算法進行計算生成密碼;在生成的密碼中添加≥0個干擾密碼;位反模塊對密碼生成模塊傳來的數(shù)據(jù)進行位取反操作,或是對通信模塊接收的被位取反處理過的數(shù)據(jù)進行位取反還原操作;通信模塊完成與鑰匙的數(shù)據(jù)交換;驗證模塊將經(jīng)位反模塊位取反還原得到的明文與密碼生成模塊中的原始隨機數(shù)明碼序列進行對比,如果不符合規(guī)定要求鎖不進行開鎖或閉鎖操作,如果符合規(guī)定要求則根據(jù)鑰匙已經(jīng)發(fā)過來的標識是開鎖標識還是閉鎖標識采取相應(yīng)操作;標識模塊做鑰匙與鎖通信雙方身份驗證;電子鑰匙包括標識模塊、通信模塊、位反模塊、解密模塊;其中標識模塊做鑰匙與鎖通信雙方身份驗證,驗證鎖合法后再繼續(xù)后續(xù)的操作;通信模塊完成與鎖的數(shù)據(jù)交換;位反模塊對解密模塊傳來的數(shù)據(jù)進行位取反操作或是對通信模塊接收的位取反處理過的數(shù)據(jù)進行位取反還原操作;解密模塊將位反模塊位取反還原的數(shù)據(jù)解密;(二)、電子鎖包括密碼生成模塊、位反模塊、通信模塊、解密模塊、驗證模塊、標識模塊;其中密碼生成模塊在全體加密算法中抽?。?個算法,并記錄所選算法的位置信息,動態(tài)產(chǎn)生長度≥1的原始隨機數(shù)明碼序列,此明碼序列與所選的算法進行計算生成密碼;或者動態(tài)產(chǎn)生長度≥1的原始隨機數(shù)明碼序列,在全體加密算法中抽?。?個算法,并記錄所選算法的位置信息,隨機數(shù)明碼序列與所選的算法進行計算生成密碼;在生成的密碼中添加≥0個干擾密碼;位反模塊對密碼生成模塊傳來的數(shù)據(jù)進行位取反操作,或是對通信模塊接收的被位取反處理過的數(shù)據(jù)進行位取反還原操作;通信模塊完成與鑰匙的數(shù)據(jù)交換;解密模塊將位反模塊位取反還原的數(shù)據(jù)解密;驗證模塊將解密模塊解密后的明文與密碼生成模塊中的原始隨機數(shù)明碼序列進行對比,如果不符合規(guī)定要求鎖不進行開鎖或閉鎖操作,如果符合規(guī)定要求則根據(jù)鑰匙已經(jīng)發(fā)過來的標識是開鎖標識還是閉鎖標識采取相應(yīng)操作;標識模塊做鑰匙與鎖通信雙方身份驗證;電子鑰匙包括標識模塊、通信模塊、位反模塊、解密模塊、密碼生成模塊;其中標識模塊做鑰匙與鎖通信雙方身份驗證,驗證鎖合法后再繼續(xù)后續(xù)的操作;通信模塊完成與鎖的數(shù)據(jù)交換;位反模塊對密碼生成模塊傳來的數(shù)據(jù)進行位取反操作或是對通信模塊接收的被位取反處理過的數(shù)據(jù)進行位取反還原操作;解密模塊將位反模塊位取反還原的數(shù)據(jù)解密;密碼生成模塊根據(jù)解密得到的原始隨機數(shù)明碼序列中隨機數(shù),在鑰匙上全體加密算法中抽?。?個算法,并記錄算法的位置信息,將解密得到的原始隨機數(shù)明碼序列與所選算法進行計算生成密碼;在生成的密碼中添加≥0個干擾密碼。
2. 根據(jù)權(quán)利要求1所述一種電子鎖和鑰匙,其特征為鎖中還包括自動算法生成模塊用于在接收到生成算法指令后清空所有已存全體加密 算法、全體位反算法、開鎖標識和閉鎖標識、身份標識及關(guān)聯(lián)變量,生成新的全體加密算法 并寫入鎖的非易失性存儲器中;鎖的位反模塊還用于生成全體位反算法,并寫入鎖的非易失性存儲器中; 鎖的標識模塊還用于為鑰匙分配標識,并寫入鎖的非易失性存儲器中;查看當前鎖的 開閉狀態(tài)并查看鑰匙發(fā)過來的是開鎖標識還是閉鎖標識,啟動密碼生成模塊。
3. —種基于權(quán)利要求2所述"一種電子鎖和鑰匙"的設(shè)置與開、閉實現(xiàn)方法,其步驟如 下(一)或者(二)(一)、鎖的算法文件、位反文件的生成 用戶通過輸入設(shè)備向鎖處理器發(fā)出生成算法指令; 鎖處理器清空所有算法文件、位反文件;鎖處理器調(diào)用執(zhí)行自動算法生成模塊生成新的算法文件并寫入鎖的非易失性存儲器 中,調(diào)用位反模塊生成位反文件,并寫入鎖的非易失性存儲器中;鑰匙的算法、位反文件和開、閉鎖標識、身份標識及關(guān)聯(lián)變量的生成 將鑰匙與鎖建立通信連接;用戶通過輸入設(shè)備向鎖處理器發(fā)出復(fù)制算法指令,鎖向鑰匙發(fā)出所有身份標識;鑰匙驗證鎖的身份標識合法后,將鑰匙的身份標識發(fā)送給鎖,并將鑰匙保存之算法文 件、位反文件、分配的開鎖標識和閉鎖標識、身份標識及關(guān)聯(lián)變量清空;若是新出廠的鑰匙, 則直接發(fā)送一個固定的值給鎖;鎖接收到鑰匙的身份標識后,將與此身份標識相關(guān)的開鎖標識和閉鎖標識、身份標識 及關(guān)聯(lián)變量清空;若收到一個固定的值,則認為是新出廠的鑰匙,直接為其分配新值;鎖為連接的鑰匙重新分配開鎖標識和閉鎖標識、身份標識及關(guān)聯(lián)變量,并寫入鎖的非 易失性存儲器中;將算法文件、位反文件、分配的開鎖標識和閉鎖標、身份標識及關(guān)聯(lián)變量寫到鑰匙的非 易失性存儲器上;鑰匙與鎖的工作流程用戶觸發(fā)鑰匙,鑰匙將開鎖標識與閉鎖標識中的一個標識發(fā)送給鎖;鎖驗證接收的標識合法,并檢查鎖當前狀態(tài)啟動密碼生成模塊,并向鑰匙發(fā)送上述兩 個標識中的另一個標識給鑰匙;鎖上的密碼生成模塊在算法文件中隨機抽取> 0個算法,并記錄所選算法的位置信 息,動態(tài)產(chǎn)生長度^ 1的原始隨機數(shù)明碼序列,此明碼序列與所選的算法進行計算生成密 碼;或者動態(tài)產(chǎn)生長度^ 1的原始隨機數(shù)明碼序列,在算法文件中抽取> 0個算法,并記錄 所選算法的位置信息,隨機數(shù)明碼序列與所選的算法進行計算生成密碼;在生成的密碼中 添加^0個干擾密碼;鎖上的位反模塊對密碼和算法的位置信息根據(jù)位反文件進行位取反操作;鎖上通信模塊讀取被位取反處理過的密碼和算法的位置信息,通過通信技術(shù)傳遞給鑰匙;鑰匙在驗證先前由鎖發(fā)過來的標識合法后,鑰匙上通信模塊將接收到的被位取反處理 過的密碼和算法的位置信息轉(zhuǎn)給位反模塊進行還原處理;鑰匙上的位反模塊對接收的數(shù)據(jù)根據(jù)位反文件進行位取反還原操作,操作完成后將數(shù) 據(jù)傳給解密模塊;鑰匙上的解密模塊根據(jù)位取反還原后的數(shù)據(jù)中的算法位置信息,讀出具體采用的是算 法文件中的什么算法,再將數(shù)據(jù)中的密碼與對應(yīng)的算法進行計算解密,還原原始隨機數(shù)明 碼序列;鑰匙上的密碼生成模塊根據(jù)解密得到的原始隨機數(shù)明碼序列,隨機抽取鑰匙上的算法 文件中的算法,并記錄算法在文件中的位置信息,將解密得到的原始隨機數(shù)明碼序列與所 選算法進行計算生成密碼;在生成的密碼中添加^ 0個干擾密碼;鑰匙上的位反模塊對密碼和算法的位置信息根據(jù)位反文件進行位取反操作; 鑰匙上通信模塊讀取被位取反處理過的密碼和算法的位置信息,通過通信技術(shù)傳遞給鎖;鎖上通信模塊將接收到的位取反處理過的數(shù)據(jù)轉(zhuǎn)給位反模塊;鎖上的位反模塊對接收的位取反處理過的數(shù)據(jù)根據(jù)位反文件進行位取反還原操作,操 作完成后將數(shù)據(jù)傳給解密模塊;鎖上的解密模塊根據(jù)位取反還原后的數(shù)據(jù)中的算法位置信息,讀出具體采用的是算法 文件中的什么算法,再將數(shù)據(jù)中的密碼與對應(yīng)的算法進行計算解密,還原原始隨機數(shù)明碼 序列;鎖上驗證模塊將還原得到的原始隨機數(shù)明碼序列與鎖的密碼生成模塊生成的原始隨 機數(shù)明碼序列進行對比,如果符合規(guī)定要求則根據(jù)鑰匙已發(fā)送過來的標識執(zhí)行用戶要求的 動作,如果不符合規(guī)定要求則不再繼續(xù)執(zhí)行;(二)、鎖的算法文件、位反文件的生成 用戶通過輸入設(shè)備向鎖處理器發(fā)出生成算法指令; 鎖處理器清空所有算法文件、位反文件;鎖處理器調(diào)用執(zhí)行自動算法生成模塊生成新的算法文件并寫入鎖的非易失性存儲器 中,調(diào)用位反模塊生成位反文件,并寫入鎖的非易失性存儲器中;鑰匙的算法、位反文件和開、閉鎖標識、身份標識及關(guān)聯(lián)變量的生成將鑰匙與鎖建立通信連接;用戶通過輸入設(shè)備向鎖處理器發(fā)出復(fù)制算法指令,鎖向鑰匙發(fā)出所有身份標識;鑰匙驗證鎖的身份標識合法后,將鑰匙的身份標識發(fā)送給鎖,并將鑰匙保存之算法文 件、位反文件、分配的開鎖標識和閉鎖標識、身份標識及關(guān)聯(lián)變量清空;若是新出廠的鑰匙, 則直接發(fā)送一個固定的值給鎖;鎖接收到鑰匙的身份標識后,將與此身份標識相關(guān)的開鎖標識和閉鎖標識、身份標識 及關(guān)聯(lián)變量清空;若收到一個固定的值,則認為是新出廠的鑰匙,直接為其分配新值;鎖為連接的鑰匙重新分配開鎖標識和閉鎖標識、身份標識及關(guān)聯(lián)變量,并寫入鎖的非 易失性存儲器中;將算法文件、位反文件、分配的開鎖標識和閉鎖標、身份標識及關(guān)聯(lián)變量寫到鑰匙的非 易失性存儲器上;鑰匙與鎖的工作流程用戶觸發(fā)鑰匙,鑰匙將開鎖標識與閉鎖標識中的一個標識發(fā)送給鎖; 鎖驗證接收的標識合法,并檢查鎖當前狀態(tài)啟動密碼生成模塊,并向鑰匙發(fā)送上述兩 個標識中的另一個標識給鑰匙;鎖上的密碼生成模塊在算法文件中隨機抽取> 0個算法,并記錄所選算法的位置信 息,動態(tài)產(chǎn)生長度^ 1的原始隨機數(shù)明碼序列,此明碼序列與所選的算法進行計算生成密 碼;或者動態(tài)產(chǎn)生長度^ 1的原始隨機數(shù)明碼序列,在算法文件中抽取>0個算法,并記錄 所選算法的位置信息,隨機數(shù)明碼序列與所選的算法進行計算生成密碼;在生成的密碼中 添加> 0個干擾密碼;鎖上的位反模塊對密碼和算法的位置信息根據(jù)位反文件進行位取反操作; 鎖上通信模塊讀取被位取反處理過的密碼和算法的位置信息,通過通信技術(shù)傳遞給鑰匙;鑰匙在驗證先前由鎖發(fā)過來的標識合法后,鑰匙上通信模塊將接收到的被位取反處理 過的密碼和算法的位置信息轉(zhuǎn)給位反模塊進行還原處理;鑰匙上的位反模塊對接收的數(shù)據(jù)根據(jù)位反文件進行位取反還原操作,操作完成后將數(shù) 據(jù)傳給解密模塊;鑰匙上的解密模塊根據(jù)位取反還原后的數(shù)據(jù)中的算法位置信息,讀出具體采用的是算 法文件中的什么算法,再將數(shù)據(jù)中的密碼與對應(yīng)的算法進行計算解密,還原原始隨機數(shù)明 碼序列;鑰匙上的位反模塊將解密模塊得到的原始隨機數(shù)明碼序列,結(jié)合》0個干擾密碼,根據(jù)位反文件進行位取反;鑰匙上的通信模塊將被位取反處理過的數(shù)據(jù)發(fā)送給鎖; 鎖上的通信模塊將接收到的被位取反處理過的數(shù)據(jù)轉(zhuǎn)給位反模塊; 鎖上的位反模塊對接收的被位取反處理過的數(shù)據(jù)根據(jù)位反文件進行位取反還原操作,操作完成后將數(shù)據(jù)傳給驗證模塊;鎖上驗證模塊將接收并還原的原始隨機數(shù)明碼序列與鎖的密碼生成模塊生成的原始隨機數(shù)明碼序列進行對比,如果符合規(guī)定要求根據(jù)鑰匙已發(fā)送過來的標識執(zhí)行用戶要求的動作,如果不符合規(guī)定要求則不再繼續(xù)執(zhí)行。
4. 一種電子鎖和鑰匙,其特征為電子鎖包括密碼生成模塊、通信模塊、解密模塊、驗證模塊、標識模塊; 其中密碼生成模塊①在全體加密算法中抽取〉O個算法,并記錄所選算法的位置信息,動 態(tài)產(chǎn)生長度^ 1的原始隨機數(shù)明碼序列,此明碼序列與所選的算法進行計算生成密碼;或 者動態(tài)產(chǎn)生長度^ 1的原始隨機數(shù)明碼序列,在全體加密算法中抽取> o個算法,并記錄所 選算法的位置信息,隨機數(shù)明碼序列與所選的算法進行計算生成密碼;在生成的密碼中添 加> 0個干擾密碼; 依據(jù)現(xiàn)有的密碼和算法位置信息再次在全體加密算法中抽取> 0個 算法,并記錄所選算法的位置信息,將現(xiàn)有數(shù)據(jù)與抽取的算法進行計算得到復(fù)雜密碼,在生 成的復(fù)雜密碼中添加^ 0個干擾密碼;通信模塊完成與鑰匙的數(shù)據(jù)交換;解密模塊將通信模塊接收的來自鑰匙的加密數(shù)據(jù)解密;驗證模塊將解密模塊解密后的明文與密碼生成模塊中的原始隨機數(shù)明碼序列進行對 比,如果不符合規(guī)定要求鎖不進行開鎖或閉鎖操作,如果符合規(guī)定要求則根據(jù)鑰匙已經(jīng)發(fā) 過來的標識是開鎖標識還是閉鎖標識采取相應(yīng)操作;標識模塊做鑰匙與鎖通信雙方身份驗證;電子鑰匙包括標識模塊、通信模塊、解密模塊、密碼生成模塊; 其中標識模塊做鑰匙與鎖通信雙方身份驗證,驗證鎖合法后再繼續(xù)后續(xù)的操作; 通信模塊完成與鎖的數(shù)據(jù)交換;解密模塊將通信模塊接收的來自鎖的加密數(shù)據(jù)解密;密碼生成模塊①根據(jù)解密得到的原始隨機數(shù)明碼序列中隨機數(shù),在鑰匙上全體加密 算法中抽欺>0個算法,并記錄算法的位置信息,將解密得到的原始隨機數(shù)明碼序列與所 選算法進行計算生成密碼;在生成的密碼中添加^ 0個干擾密碼;②依據(jù)現(xiàn)有的密碼和算 法位置信息再次在全體加密算法中抽取> 0個算法,并記錄算法的位置信息,將現(xiàn)有數(shù)據(jù) 與抽取的算法進行計算得到復(fù)雜密碼,在生成的復(fù)雜密碼中添加^ 0個干擾密碼。
5. 根據(jù)權(quán)利要求4所述一種電子鎖和鑰匙,其特征為鎖中還包括自動算法生成模塊用于在接收到生成算法指令后清空所有已存全體加密 算法、開鎖標識和閉鎖標識、身份標識及關(guān)聯(lián)變量,生成新的全體加密算法并寫入鎖的非易 失性存儲器中;鎖的標識模塊還用于為鑰匙分配標識,并寫入鎖的非易失性存儲器中;查看當前鎖的 開閉狀態(tài)并查看鑰匙發(fā)過來的是開鎖標識還是閉鎖標識,啟動密碼生成模塊;電子鎖的密碼生成模塊中的"②依據(jù)現(xiàn)有的密碼和算法位置信息再次在全體加密算法 中抽取算法,并記錄所選算法的位置信息,將現(xiàn)有數(shù)據(jù)與抽取的算法進行計算得到復(fù)雜密 碼,在生成的復(fù)雜密碼中添加^ 0個干擾密碼"選用次數(shù)大于等于0次;電子鑰匙的密碼生成模塊中的"②依據(jù)現(xiàn)有的密碼和算法位置信息再次在全體加密算 法中抽取算法,并記錄算法的位置信息,將現(xiàn)有數(shù)據(jù)與抽取的算法進行計算得到復(fù)雜密碼, 在生成的復(fù)雜密碼中添加^ 0個干擾密碼"選用次數(shù)大于等于0次。
6. —種基于權(quán)利要求5所述"一種電子鎖和鑰匙"的設(shè)置與開、閉實現(xiàn)方法,其步驟如下鎖的算法文件的生成用戶通過輸入設(shè)備向鎖處理器發(fā)出生成算法指令; 鎖處理器清空所有算法文件;鎖處理器調(diào)用執(zhí)行自動算法生成模塊生成新的算法文件并寫入鎖的非易失性存儲器中;鑰匙的算法、開、閉鎖標識、身份標識及關(guān)聯(lián)變量的生成 將鑰匙與鎖建立通信連接;用戶通過輸入設(shè)備向鎖處理器發(fā)出復(fù)制算法指令,鎖向鑰匙發(fā)出所有身份標識;鑰匙驗證鎖的身份標識合法后,將鑰匙的身份標識發(fā)送給鎖,并將鑰匙保存之算法文 件、分配的開鎖標識和閉鎖標識、身份標識及關(guān)聯(lián)變量清空;若是新出廠的鑰匙,則直接發(fā) 送一個固定的值給鎖;鎖接收到鑰匙的身份標識后,將與此身份標識相關(guān)的開鎖標識和閉鎖標識、身份標識 及關(guān)聯(lián)變量清空;若收到一個固定的值,則認為是新出廠的鑰匙,直接為其分配新值;鎖為連接的鑰匙重新分配開鎖標識和閉鎖標識、身份標識及關(guān)聯(lián)變量,并寫入鎖的非 易失性存儲器中;將算法文件、分配的開鎖標識和閉鎖標、身份標識及關(guān)聯(lián)變量寫到鑰匙的非易失性存 儲器上;鑰匙與鎖的工作流程用戶觸發(fā)鑰匙,鑰匙將開鎖標識與閉鎖標識中的一個標識發(fā)送給鎖;鎖驗證接收的標識合法,并檢查鎖當前狀態(tài)啟動密碼生成模塊,并向鑰匙發(fā)送上述兩 個標識中的另一個標識給鑰匙;鎖上的密碼生成模塊在算怯文件中隨機抽取>0個算法,并記錄所選算法的位置信 息,動態(tài)產(chǎn)生長度^ 1的原始隨機數(shù)明碼序列,此明碼序列與所選的算法進行計算生成密 碼;或者動態(tài)產(chǎn)生長度^ 1的原始隨機數(shù)明碼序列,在算法文件中抽取> 0個算法,并記錄 所選算法的位置信息,隨機數(shù)明碼序列與所選的算法進行計算生成密碼;在生成的密碼中 添加> 0個干擾密碼;依據(jù)現(xiàn)有的密碼和算法位置信息再次在算法文件中隨機抽取算法, 并記錄所選算法的位置信息,將現(xiàn)有數(shù)據(jù)與抽取的算法進行計算得到復(fù)雜密碼,在生成的 復(fù)雜密碼中添加^ 0個干擾密碼;鎖上通信模塊讀取上個步驟得到的最終密碼與算法信息,通過通信技術(shù)傳遞給鑰匙;鑰匙在驗證先前由鎖發(fā)過來的標識合法后,鑰匙上通信模塊接收鎖上最終密碼與算法 信息并傳給解密模塊;鑰匙上的解密模塊根據(jù)傳來的數(shù)據(jù)中的算法位置信息,讀出具體采用的是算法文件中 的什么算法,再將數(shù)據(jù)中的密碼與對應(yīng)的算法進行計算解密,還原原始隨機數(shù)明碼序列;鑰匙上的密碼生成模塊根據(jù)解密得到的原始隨機數(shù)明碼序列,隨機抽取鑰匙上的算法 文件中的算法,并記錄算法在文件中的位置信息,將解密得到的原始隨機數(shù)明碼序列與所 選算法進行計算生成密碼;在生成的密碼中添加^0個干擾密碼;依據(jù)現(xiàn)有的密碼和算法 位置信息再次在算法文件中隨機抽取算法,并記錄所選算法的位置信息,將現(xiàn)有數(shù)據(jù)與抽 取的算法進行計算得到復(fù)雜密碼,在生成的復(fù)雜密碼中添加^ 0個干擾密碼;鑰匙上通信模塊讀取上一步驟的最終密碼與算法信息,通過通信技術(shù)傳遞給鎖; 鎖上通信模塊將接收到的鑰匙上最終密碼與算法信息傳給解密模塊; 鎖上的解密模塊根據(jù)傳來的數(shù)據(jù)中的算法位置信息,讀出具體采用的是算法文件中的什么算法,再將數(shù)據(jù)中的密碼與對應(yīng)的算法進行計算解密,還原原始隨機數(shù)明碼序列;鎖上驗證模塊將還原得到的原始隨機數(shù)明碼序列與鎖的密碼生成模塊生成的原始隨機數(shù)明碼序列進行對比,如果符合規(guī)定要求則根據(jù)鑰匙已發(fā)送過來的標識執(zhí)行用戶要求的動作,如果不符合規(guī)定要求則不再繼續(xù)執(zhí)行。
7. 根據(jù)權(quán)利要求1到6任一權(quán)利要求所述一種電子鎖和鑰匙,其特征為 以下A、B、C或者D :A、 所述"原始隨機數(shù)明碼序列"取值為固定長度的任意序列;B、 用戶要想使用生成算法、復(fù)制算法、刪除、確認指令需先進行用戶身份驗證;C、 用同一把鑰匙以前開、閉鎖時產(chǎn)生的隨機序列中的項中的隨機數(shù),為本次開、閉鎖時產(chǎn)生的算法位置信息或者身份標識或者二者一起加密、解密;鎖給鑰匙分配標識時, 一同分 配成功信號;鎖驗證還原得到的原始隨機數(shù)明碼序列與密碼生成模塊生成的原始隨機數(shù)明 碼序列相同時,向鑰匙發(fā)送成功信號;D、 采取防范措施①、②或者③①鑰匙與鎖之間除發(fā)送開鎖或閉鎖標識外,還和隨機序 列一起發(fā)送身份標識,身份標識也一起加密;②單位時間內(nèi)達到最大接收次數(shù),單位時間內(nèi) 就不再接收、發(fā)送密碼和算法位置信息;③具備以下a、b、 c或者d :a、鎖在接收到來自鑰匙 的密碼和算法的位置數(shù)據(jù)后與其發(fā)送給鑰匙的數(shù)據(jù)進行比對,如果相同則重新將此數(shù)據(jù)發(fā) 送給鑰匙;b、鑰匙在重新給隨機數(shù)序列進行加密時采取與鎖不完全相同或完全不同位置的 算法進行加密,鎖需要檢查接收的來自鑰匙的密碼和算法的位置數(shù)據(jù)與其發(fā)送給鑰匙的數(shù) 據(jù)是否相同,如果相同不再對鑰匙的請求繼續(xù)做響應(yīng),鑰匙重新發(fā)出請求時,鑰匙必須向鎖 發(fā)送身份標識,鎖給用戶發(fā)出警告;c、鑰匙在填加干擾密碼時所填加的干擾密碼與鎖傳來 的不一樣,鎖需要檢查接收的來自鑰匙的密碼和算法的位置數(shù)據(jù)與其發(fā)送給鑰匙的數(shù)據(jù)是 否相同,如果相同不再對鑰匙的請求繼續(xù)做響應(yīng),鑰匙重新發(fā)出請求時,鑰匙必須向鎖發(fā)送 身份標識,鎖給用戶發(fā)出警告;d、鑰匙在重新給隨機數(shù)序列進行加密時,采取與鎖不完全相 同或完全不同位置的算法進行加密,鑰匙在填加干擾密碼時所填加的干擾密碼與鎖傳來的 不一樣,鎖需要檢查接收的來自鑰匙的密碼和算法的位置數(shù)據(jù)與其發(fā)送給鑰匙的數(shù)據(jù)是否 相同,如果相同不再對鑰匙的請求繼續(xù)做響應(yīng),鑰匙重新發(fā)出請求時,鑰匙必須向鎖發(fā)送身 份標識,鎖給用戶發(fā)出警告。
8. —種電子鎖和鑰匙,其特征為電子鎖包括自動算法生成模塊、密碼生成模塊、通信模塊、解密模塊、驗證模塊、標識 模塊;其中自動算法生成模塊根據(jù)標識模塊生成的新的身份標識,生成對應(yīng)的新的加密算法; 密碼生成模塊用與開鎖標識或閉鎖標識對應(yīng)的全體加密算法中第固定序號項或多個 固定序號項中的可變算法,對對應(yīng)的身份標識進行加密;用鑰匙身份標識對應(yīng)的全體加密 算法中的的一組可變加密算法,對原始隨機數(shù)明碼序列進行加密;用鑰匙身份標識對應(yīng)的 全體加密算法中第固定序號項或多個固定序號項中的可變算法,對成功信號進行加密;將密碼通過通信模塊發(fā)給鑰匙;刪除鑰匙對應(yīng)的全體加密算法中的一部分; 通信模塊完成與鑰匙的數(shù)據(jù)交換; 解密模塊將通信模塊接收的來自鑰匙的密碼解密;驗證模塊檢查鑰匙身份標識合法后,啟動密碼生成模塊;比對原始隨機數(shù)明碼序列, 符合規(guī)定要求時向鑰匙對應(yīng)的全體加密算法中填加算法,并再次啟動密碼生成模塊; 標識模塊驗證接收的開鎖或閉鎖標識合法后,啟動密碼生成模塊;提供標識; 電子鑰匙包括標識模塊、通信模塊、解密模塊、密碼生成模塊、驗證模塊; 其中標識模塊提供標識;通信模塊完成與鎖的數(shù)據(jù)交換;解密模塊將通信模塊接收的來自鎖的密碼解密;在解出原始隨機數(shù)明碼序列后向全 體加密算法中填加算法;密碼生成模塊用全體加密算法中第固定序號項或多個固定序號項中的可變算法對身 份標識進行加密;用全體加密算法中的的一組可變加密算法,對解密模塊還原得到的原始 隨機數(shù)明碼序列進行加密;將密碼通過通信模塊發(fā)給鎖;驗證模塊驗證由解密模塊解密的由鎖發(fā)過來身份標識合法后,啟動密碼生成模塊; 驗證成功信號后刪除全體加密算法中的一部分。
9. 一種基于權(quán)利要求8所述"一種電子鎖和鑰匙"的工作實現(xiàn)方法用戶觸發(fā)鑰匙,鑰匙將開鎖標識或閉鎖標識發(fā)送給鎖;鎖上標識模塊驗證接收的開鎖或閉鎖標識合法后,啟動密碼生成模塊;鎖上密碼生成模塊用與收到的開鎖或閉鎖標識對應(yīng)的全體加密算法中第固定序號項 或多個固定序號項中的算法suanA,把由開鎖或閉鎖標識對應(yīng)的身份標識進行加密;鎖上通信模塊讀取密碼生成模塊生成的密碼,通過通信技術(shù)傳遞給鑰匙;鑰匙上通信模塊將接收到密碼傳給解密模塊;鑰匙上的解密模塊采用與鎖中加密算法suanA對應(yīng)的解密算法對密碼解密,還原身份 標識;鑰匙上驗證模塊在驗證由鎖發(fā)過來身份標識合法后,啟動密碼生成模塊;如果不合法, 停止此次用戶請求操作,恢復(fù)至請求前狀態(tài),并使請求失敗計數(shù)器+1,如果在單位時間內(nèi)失 敗的請求次數(shù)超過出廠設(shè)定值,則單位時間內(nèi)不再對用戶請求作響應(yīng);單位時間過后計數(shù) 器清零;鑰匙上的密碼生成模塊用全體加密算法中第固定序號項或多個固定序號項中的算法 suanB對身份標識進行加密;鑰匙上通信模塊讀取密碼生成模塊生成的密碼,通過通信技術(shù)傳遞給鎖; 鎖上通信模塊將接收到的密碼傳給解密模塊;鎖上的解密模塊采用與鑰匙中加密算法suanB對應(yīng)的解密算法對密碼解密,還原身份 標識;鎖上驗證模塊檢查鑰匙身份合法后,啟動密碼生成模塊;如果不合法,停止此次用戶請 求操作,恢復(fù)至請求前狀態(tài),并使請求失敗計數(shù)器+1,如果在單位時間內(nèi)失敗的請求次數(shù)超 過出廠設(shè)定值,則單位時間內(nèi)不再對用戶請求作響應(yīng);單位時間過后計數(shù)器清零;鎖上密碼生成模塊選擇與鑰匙身份標識對應(yīng)的全體加密算法中的的一組算法suanC, 同時生成一組原始隨機數(shù)明碼序列,用所選加密算法suanC對原始隨機數(shù)明碼序列進行加 密;鎖上通信模塊讀取密碼生成模塊生成的密碼,通過通信技術(shù)傳遞給鑰匙; 鑰匙上通信模塊將接收到的密碼傳給解密模塊;鑰匙上的解密模塊采用與鎖中加密算法suanC對應(yīng)的解密算法對密碼解密,還原原始 隨機數(shù)明碼序列;在還原的原始隨機數(shù)明碼序列中,取一定數(shù)量隨機數(shù)填充到全體算法的 最后面;鑰匙上的密碼生成模塊讀取已存全體加密算法中的一組算法suanD,對解密模塊得到 的原始隨機數(shù)明碼序列進行加密;鑰匙上通信模塊讀取密碼生成模塊生成的密碼,通過通信技術(shù)傳遞給鎖; 鎖上通信模塊將接收到的密碼傳給解密模塊;鎖上的解密模塊采用與鑰匙中加密算法suanD對應(yīng)的解密算法對密碼解密,還原原始 隨機數(shù)明碼序列;鎖上驗證模塊將還原得到的原始隨機數(shù)明碼序列與鎖的密碼生成模塊生成的原始隨 機數(shù)明碼序列進行對比;如果符合規(guī)定要求在本次通信過程的原始隨機數(shù)明碼序列中,取 一定數(shù)量隨機數(shù)填充到鑰匙對應(yīng)的全體算法的最后面,并再次啟動密碼生成模塊;如果不 符合規(guī)定要求,停止此次用戶請求操作,恢復(fù)至請求前狀態(tài),并使請求失敗計數(shù)器+1,如果 在單位時間內(nèi)失敗的請求次數(shù)超過出廠設(shè)定值,則單位時間內(nèi)不再對用戶請求作響應(yīng),單 位時間過后計數(shù)器清零;鎖上的密碼生成模塊用與鑰匙身份標識對應(yīng)的全體加密算法中第固定序號項或多個 固定序號項中的算法suanE,對成功信號進行加密;之后,將與鑰匙身份標識對應(yīng)的全體加 密算法中的一部分進行刪除,被刪除的算法其后面的算法位置依次前移;鎖上通信模塊讀取密碼生成模塊生成的密碼,通過通信技術(shù)傳遞給鑰匙;鎖執(zhí)行開、閉鎖操作;鑰匙上通信模塊將接收到的密碼傳給解密模塊;鑰匙上的解密模塊采用與鎖中加密算法suanE對應(yīng)的解密算法對密碼解密,還原成功 信號;鑰匙上驗證模塊驗證是正確的成功信號后,將全體加密算法中的一部分進行刪除,被 刪除的算法其后面的算法位置依次前移;如果一定時間內(nèi)沒有收到成功信號,則不刪除,退 出程序。
10. —種電子鎖,嵌入在其它設(shè)備中其特征是以下(一)或(二) (一)、電子鎖包括自動算法生成模塊、密碼生成模塊、通信模塊、解密模塊、驗證模塊、標識 模塊;其中自動算法生成模塊用于生成新的全體加密算法并寫入鎖的非易失性存儲器中; 密碼生成模塊根據(jù)接收方身份標識加上需要保護的數(shù)據(jù),在全體加密算法中抽取算 法,并記錄所選算法的位置信息,用所選的算法對身份標識和需要保護的數(shù)據(jù)進行計算生成密碼;將算法位置信息用以前被保護過的數(shù)據(jù)中的某些數(shù)據(jù)進行加密,并將本次被保護 的數(shù)據(jù)中的某些數(shù)據(jù)保存到身份標識關(guān)聯(lián)的管道型變量尾,以備以后為算法位置信息加 密、解密使用;用身份標識關(guān)聯(lián)的管道型變量首部起沒有用過的數(shù)據(jù)對成功信號加密; 通信模塊完成與另一臺設(shè)備數(shù)據(jù)交換;解密模塊將通信模塊接收的數(shù)據(jù),用以前被保護過的數(shù)據(jù)中的某些數(shù)據(jù)對算法位置 信息解密,判斷算法位置信息確定是否需要重發(fā)成功信號;根據(jù)位置信息找到解密方法對 密碼解密,在驗證模塊確認身份標識后,將身份標識關(guān)聯(lián)的管道型變量首部用于上次解密 與加密的數(shù)據(jù)刪除;將本次被保護的數(shù)據(jù)中的某些數(shù)據(jù)保存到管道型變量尾,以備以后為 算法位置信息加密、解密使用;驗證模塊根據(jù)解密模塊解密的身份標識,確認此次所傳的保護數(shù)據(jù)為對方要發(fā)給自 己的;驗證成功信號后,將身份標識關(guān)聯(lián)的管道型變量首部用于解密和加密的數(shù)據(jù)刪除;標識模塊向?qū)Ψ桨l(fā)送請求標識,核實對方發(fā)來的應(yīng)答標識后啟動密碼生成模塊;或 對對方的請求標識發(fā)送應(yīng)答標識,并準備接收對方數(shù)據(jù);為連接的設(shè)備分配請求標識、應(yīng)答 標識、身份標識及關(guān)聯(lián)變量、成功信號;或接受分配;工作步驟a) 需要發(fā)送數(shù)據(jù)的一臺設(shè)備向需要接收方發(fā)送請求標識;b) 第二臺設(shè)備收到請求標識后,向第一臺設(shè)備發(fā)送應(yīng)答標識,并準備接收數(shù)據(jù);c) 第一臺設(shè)備收到應(yīng)答標識后,啟動密碼生成模塊對身份標識和需要保護的數(shù)據(jù)加密 并記錄算法位置信息,讀取身份標識關(guān)聯(lián)的管道型變量首部的數(shù)據(jù)對算法位置信息加密, 由通信模塊將密碼和算法位置信息發(fā)送給第二臺設(shè)備;將本次保護的數(shù)據(jù)中的部分數(shù)據(jù)保 存到身份標識關(guān)聯(lián)的管道型變量尾部;d) 第二臺設(shè)備的通信模塊接收密碼和算法位置信息,先讀取身份標識關(guān)聯(lián)的管道型變 量首部的數(shù)據(jù),解密算法位置信息,再根據(jù)位置信息找到解密方法對密碼解密;如果得不到 正確的身份標識,就假設(shè)身份標識關(guān)聯(lián)的管道型變量首部的數(shù)據(jù)是用于上次解密與加密的 數(shù)據(jù),將其假定去除,其后面的數(shù)據(jù)位置依次前移,用前移后的新的首部數(shù)據(jù)為算法位置信 息解密,再根據(jù)位置信息找到解密方法對密碼解密,驗證模塊驗證身份標識正確,即確認解 密后數(shù)據(jù)為對方要發(fā)給自己的,將假設(shè)刪除的數(shù)據(jù)真正刪除,再將本次保護的數(shù)據(jù)中的部 分數(shù)據(jù)保存到身份標識關(guān)聯(lián)的管道型變量尾部,用身份標識關(guān)聯(lián)的管道型變量首部沒用過 的數(shù)據(jù)對成功信號加密,并發(fā)送給第一臺設(shè)備;如果得到正確的身份標識,將本次保護的數(shù) 據(jù)中的部分數(shù)據(jù)保存到身份標識關(guān)聯(lián)的管道型變量尾部,用身份標識關(guān)聯(lián)的管道型變量首 部沒用過的數(shù)據(jù)對成功信號加密,并發(fā)送給第一臺設(shè)備;e) 第一臺設(shè)備用身份標識關(guān)聯(lián)的管道型變量首部沒用過的數(shù)據(jù)對成功信號解密,驗證 模塊驗證成功信號后,將身份標識關(guān)聯(lián)的管道型變量首部已用于解密和加密的數(shù)據(jù)刪除; 如果一定時間后沒有收到成功信號,則刪除填加到身份標識關(guān)聯(lián)的管道型變量尾部的數(shù) 據(jù),重復(fù)從a)開始執(zhí)行,并且用先前相同位置的加密算法進行加密,到d)時第二臺設(shè)備的 通信模塊接收密碼和算法位置信息,先讀取身份標識關(guān)聯(lián)的管道型變量首部的數(shù)據(jù),解密 算法位置信息,如果此次所得算法位置信息與前次相同,則不再將本次保護的數(shù)據(jù)中的部 分數(shù)據(jù)保存到身份標識關(guān)聯(lián)的管道型變量尾部,而直接用身份標識關(guān)聯(lián)的管道型變量首部 上次用于加密的數(shù)據(jù)對成功信號加密,并發(fā)送給第一臺設(shè)備;執(zhí)行第e)步;(二)、電子鎖包括自動算法生成模塊、密碼生成模塊、通信模塊、解密模塊、驗證模塊、標識 模塊;其中自動算法生成模塊用于生成新的全體加密算法并寫入鎖的非易失性存儲器中; 密碼生成模塊①、根據(jù)需要保護的數(shù)據(jù)和身份標識,在全體加密算法中抽取算法,并 記錄所選算法的位置信息,用所選的算法對保護的數(shù)據(jù)和身份標識進行計算生成密碼;②、 根據(jù)現(xiàn)有的密碼和算法位置信息再次在全體加密算法中抽取算法,并記錄所選算法的位置 信息,將現(xiàn)有密碼和算法位置信息用抽取的算法進行計算得到復(fù)雜密碼;③、將第"②"重復(fù) N次;④、用以上三部分對保護的數(shù)據(jù)的全部或部分數(shù)據(jù)進行加密; 通信模塊完成與另一臺設(shè)備數(shù)據(jù)交換;解密模塊將通信模塊接收的數(shù)據(jù),根據(jù)算法位置信息將密碼解密;經(jīng)過N+2次解密, 還原需要保護的數(shù)據(jù)和身份標識,或還原保護數(shù)據(jù)中的全部或部分數(shù)據(jù);驗證模塊根據(jù)解密模塊解密的身份標識,確認此次所傳的保護數(shù)據(jù)為對方要發(fā)給自 己的;標識模塊向?qū)Ψ桨l(fā)送請求標識,核實對方發(fā)來的應(yīng)答標識后啟動密碼生成模塊;或 對對方的請求標識發(fā)送應(yīng)答標識,并準備接收對方數(shù)據(jù);為連接的設(shè)備分配請求標識、應(yīng)答 標識、身份標識;或接受分配;工作過程需要發(fā)送數(shù)據(jù)的一臺設(shè)備向需要接收方發(fā)送請求標識;第二臺設(shè)備收到請求標識后,向第一臺設(shè)備發(fā)送應(yīng)答標識,并準備接收數(shù)據(jù); 第一臺設(shè)備收到應(yīng)答標識后,啟動密碼生成模塊對數(shù)據(jù)和身份標識使用密碼生成模 塊中①②③加密并記錄算法位置信息,由通信模塊將密碼和算法位置信息發(fā)送給第二臺設(shè)備;第二臺設(shè)備的通信模塊接收密碼和算法位置信息,根據(jù)算法位置信息找到解密方法對 密碼解密;驗證身份標識,確認解密后數(shù)據(jù)為對方要發(fā)給自己的,對發(fā)給自己的全部或部分 數(shù)據(jù)用密碼生成模塊中④加密,并由通信模塊發(fā)送給第一臺設(shè)備;第一臺設(shè)備根據(jù)算法位置信息,對密碼解密,對解密后數(shù)據(jù)和發(fā)送的保護數(shù)據(jù)進行比 較,符合規(guī)定要求則完成此次發(fā)送任務(wù)。
全文摘要
本發(fā)明涉及電子鎖、鑰匙技術(shù),用計算機程序?qū)崿F(xiàn)一種工業(yè)過程控制,為了使密碼長度具有可變的特性,以及防止密碼在傳輸過程中被破解,本發(fā)明電子鎖和鑰匙采用可變的加密算法技術(shù)、可變的位反通信技術(shù)、多重可變密鑰疊加應(yīng)用技術(shù),可以使鑰匙和鎖之間傳輸?shù)男畔⒒蛟O(shè)備與設(shè)備間傳輸?shù)男畔]有了可以被外人利用到的機會,真正達到了安全的效果,而且本發(fā)明優(yōu)點在于可以隨時更改加密算法,門或保險柜等安裝后可以一勞永逸,什么時候想換加密算法就什么時候換,而且以鎖為重心,為鑰匙分配標識,可以讓鑰匙的修配更加方便。
文檔編號E05B19/00GK101793115SQ20101010601
公開日2010年8月4日 申請日期2010年1月22日 優(yōu)先權(quán)日2010年1月22日
發(fā)明者姜君凱 申請人:姜君凱