本發(fā)明涉及一種基于紅外陣列的加密電子鎖的控制方法及系統(tǒng),屬于智能家居行業(yè)的安全技術(shù)防范領(lǐng)域。
背景技術(shù):
門鎖作為安全防范產(chǎn)品必須具有安全性、穩(wěn)定性。如今,有些生產(chǎn)鎖的廠家在自身鎖的防盜性能上,沒有任何進(jìn)展,為了商業(yè)目的,只有在鎖的外觀上大做文章,改變鑰匙形狀,故弄玄虛,蒙蔽消費(fèi)者,這些鎖的防盜性能上甚至還不如最古老、簡(jiǎn)單的掛鎖。從鎖的發(fā)展歷史上看,要想能防止萬能鑰匙的開啟,鎖的制造工藝就會(huì)特別復(fù)雜,制造成本會(huì)十?dāng)?shù)倍的增加,同時(shí),其防暴力破壞的性能也會(huì)大大降低,鎖具制造行業(yè)一直被這個(gè)問題所困擾。至今,選擇什么樣的鎖才真正安全是廣大消費(fèi)者最為關(guān)心的事。但目前市場(chǎng)上主流的幾種鎖都有各種各樣的缺點(diǎn):
1.機(jī)械鎖:由于其價(jià)格便宜所以被大眾廣泛使用,但現(xiàn)在入室搶劫事件層出不窮,多數(shù)盜竊團(tuán)伙利用所謂的“萬能鑰匙”幾秒鐘就能打開門,輕松進(jìn)入室內(nèi);且機(jī)械鎖鑰匙易被復(fù)制,若遇到類似將鑰匙給鐘點(diǎn)工單獨(dú)使用的情況,存在很大的安全隱患;
2.指紋鎖:雖然有難被復(fù)制的優(yōu)點(diǎn),但其存在價(jià)格較貴和電子零件易損壞、電源易發(fā)生故障等缺點(diǎn),而且溫度低不易識(shí)別;
3.遙控鎖:大多數(shù)汽車都適用遙控鎖,但是出現(xiàn)這樣一種特殊的偷取車內(nèi)財(cái)物手法:利用車主鎖車時(shí)遙控器發(fā)出的信號(hào),偷車賊在離很近的地方利用特殊的儀器干擾遙控信號(hào),然后打開車門偷取財(cái)物。
電子鎖是組成公共安全防范系統(tǒng)的重要電子裝置。隨著科學(xué)技術(shù)的發(fā)展,一些以芯片為核心的基于單片機(jī)的新型電子鎖開始出現(xiàn),這類型的電子鎖一般是采用電子線路控制,以電磁鐵(或微型電機(jī))和鎖體作為執(zhí)行機(jī)構(gòu)的機(jī)電一體化保險(xiǎn)裝置。但是現(xiàn)有的電子密碼鎖,尤其是應(yīng)用于公共場(chǎng)所的電子鎖,其安全穩(wěn)定性仍然較差,比如一旦將密碼告訴其他人,就會(huì)存在密碼泄露的風(fēng)險(xiǎn)。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的在于,提供一種基于紅外陣列的加密電子鎖的控制方法及系統(tǒng),它可以有效解決現(xiàn)有技術(shù)中存在的問題,尤其是機(jī)械鎖鑰匙易被復(fù)制、互開率高,遙控鎖信號(hào)易被截取,指紋鎖價(jià)格昂貴,溫度低不易識(shí)別,以及現(xiàn)有的電子密碼鎖的安全穩(wěn)定性較差的問題。
為解決上述技術(shù)問題,本發(fā)明采用如下的技術(shù)方案:一種基于紅外陣列的加密電子鎖的控制方法,包括以下步驟:
a.開鎖時(shí),紅外發(fā)射裝置控制單片機(jī)進(jìn)行加密運(yùn)算,然后通過串口發(fā)送字符串至紅外發(fā)射模塊矩陣,紅外發(fā)射模塊矩陣發(fā)出不同的紅外波形信號(hào);
b.電子鎖的紅外接收模塊接收所述的紅外波形信號(hào),對(duì)所述字符串進(jìn)行解密;然后判斷解密后的信息與其存儲(chǔ)的初始化信息是否一致;若一致,則電機(jī)驅(qū)動(dòng)模塊啟動(dòng),鎖打開;若不一致,則蜂鳴器進(jìn)行報(bào)警。
優(yōu)選的,步驟a中所述的加密運(yùn)算采用基于線性映射的改進(jìn)的RC4加密算法。
前述的采用基于線性映射的改進(jìn)的RC4加密算法進(jìn)行加密包括以下步驟:
S1,計(jì)算(i+1)與N相除的余數(shù),其中,i大于等于0小于等于N-1,N為初始狀態(tài)矢量S中的元素個(gè)數(shù),i、N、S均為加密算法初始化的向量值,利用他們和明文進(jìn)行運(yùn)算,即可獲得加密后的數(shù)據(jù);
S2,利用線性方程計(jì)算y的值,y=k*x+b,k和b的值可由用戶自行設(shè)定其值,這樣就可以提高算法的隨機(jī)性,使得破譯的難度更加大;
S3,將y的值賦給x,x=y(tǒng),從而當(dāng)下一次加密的時(shí)候,新的x的值與上次加密x的值不同,提高加密的隨機(jī)性,更難被破解;
S4,利用矢量S、y和N的值計(jì)算變量j的值,j=(j+S[i]+y*N)mod N,j大于等于0小于等于N-1,y的值由步驟S2給出;
S5,交換S[i]與S[j]中的元素(即swap(S[i],S[j]));
S6,利用矢量S的不同元素(即S[i]+S[j])和N計(jì)算t的值,t=(S[i]+S[j])mod N;
S7,將矢量S中的第t個(gè)元素的值賦給KEY的第t個(gè)元素,KEY[t]=S[t];轉(zhuǎn)到S1,以此類推,獲得最終的子密碼KEY;然后利用所述的最終的子密碼KEY對(duì)明文消息(比如紅外發(fā)射裝置的ID號(hào))進(jìn)行加密。
上述的基于紅外陣列的加密電子鎖的控制方法中,步驟a中,當(dāng)獲得最終的子密碼KEY后,將該最終的子密碼KEY與紅外發(fā)射裝置的ID號(hào)進(jìn)行異或運(yùn)算,得到該紅外發(fā)射裝置的密文字符串,然后通過串口發(fā)送字符串至紅外發(fā)射模塊,紅外發(fā)射矩陣發(fā)出不同的紅外波形信號(hào),由于ID號(hào)是唯一的,這樣使得每把鑰匙加密后的數(shù)據(jù)都不一樣,進(jìn)而密文字符串和紅外波形信號(hào)也不一樣,從而不同的鎖之間不會(huì)互開。
步驟b中,電子鎖的紅外接收模塊接收所述的紅外波形信號(hào),并采用前述的基于線性映射的改進(jìn)的RC4加密算法計(jì)算得到與a步驟中相同的子密碼KEY,利用所述的最終的子密碼KEY與所述的密文字符串進(jìn)行異或運(yùn)算,得到紅外發(fā)射裝置的ID號(hào);然后將該紅外發(fā)射裝置的ID號(hào)與電子鎖自身存儲(chǔ)的信息相比較,若一致,則電機(jī)驅(qū)動(dòng)模塊啟動(dòng),鎖打開。
實(shí)現(xiàn)前述方法的基于紅外陣列的加密電子鎖的控制系統(tǒng),包括:紅外發(fā)射裝置和設(shè)于電子鎖中的紅外接收裝置,所述的紅外發(fā)射裝置包括A單片機(jī)、A電源模塊、按鍵模塊、紅外發(fā)射模塊和A開關(guān),所述的A電源模塊、按鍵模塊、紅外發(fā)射模塊和A開關(guān)分別與A單片機(jī)的IO端口連接;所述的紅外接收裝置包括:B單片機(jī)、B開關(guān)、B電源模塊、紅外接收模塊、蜂鳴器和電機(jī)驅(qū)動(dòng)模塊,所述的B開關(guān)、B電源模塊、紅外接收模塊、蜂鳴器和電機(jī)驅(qū)動(dòng)模塊分別與B單片機(jī)的IO端口連接,紅外接收模塊與紅外發(fā)射模塊無線連接。
優(yōu)選的,所述的紅外發(fā)射模塊和紅外接收模塊均為多個(gè),且一一對(duì)應(yīng),多個(gè)紅外發(fā)射模塊分別與A單片機(jī)的IO端口連接;對(duì)應(yīng)的多個(gè)紅外接收模塊分別與B單片機(jī)的IO端口連接。
前述的基于紅外陣列的加密電子鎖的控制系統(tǒng)中,所述的紅外接收裝置還包括:LED狀態(tài)信號(hào)指示燈,所述的LED狀態(tài)信號(hào)指示燈與B單片機(jī)連接。
與現(xiàn)有技術(shù)相比,本發(fā)明具有以下有益效果:
1、本發(fā)明利用紅外陣列加密電子鎖,必須由對(duì)應(yīng)鑰匙近距離操作才可將鎖開啟,從而可以有效解決不法分子從中截取信號(hào)的問題,安全性較高;而且本發(fā)明通過紅外的發(fā)射和接收來實(shí)現(xiàn)電子鎖的開啟,并通過加密算法進(jìn)行紅外的編碼和解碼,使得每一次發(fā)射的紅外信息都不同,從而也大大提高了該電子鎖的安全性;同時(shí)其成本低廉,可防止鑰匙復(fù)制,且互開率較低;
2、本發(fā)明為了提高傳統(tǒng)RC4算法中偽隨機(jī)數(shù)生成過程中的隨機(jī)性,進(jìn)而提高算法的可靠性,提高電子鎖的安全性,將線性方程(y=k*x+b,其中參數(shù)k和b可由用戶確定)融入偽隨機(jī)子密碼的生成過程中,并且該算法具有較低的計(jì)算復(fù)雜度;
3、本發(fā)明的加密電子鎖的控制系統(tǒng)包括紅外發(fā)射裝置和設(shè)于電子鎖中的紅外接收裝置,其中,所述的紅外發(fā)射裝置作為本系統(tǒng)中的鑰匙來使用,該加密電子鎖具有安全防盜功能,穩(wěn)定性可靠性較高,且與在外觀上大做文章的鎖相比,成本較低;
4、本發(fā)明的紅外發(fā)射裝置中設(shè)置有多個(gè)(以三個(gè)為例)紅外發(fā)射模塊,每個(gè)串口的加密方式是相同的,但是初始數(shù)據(jù)是不同的,按下按鍵后,每個(gè)原始原始數(shù)據(jù)通過加密算法加密,串口打開,三個(gè)紅外模塊就會(huì)發(fā)射出經(jīng)過加密算法加密之后的三種不同的信息,從而可以進(jìn)一步有效防止鑰匙復(fù)制的情況,解決機(jī)械鎖的易復(fù)制性、互開率高的問題;
5、本發(fā)明中的紅外接收裝置接收到紅外發(fā)射裝置所發(fā)射的紅外信息之后,對(duì)接收到的信息利用相同的子密碼進(jìn)行解密,然后看所述的明文消息與其自身存儲(chǔ)的信息是否一致,若相同,則單片機(jī)通過控制電機(jī)開鎖,同時(shí),LED狀態(tài)信號(hào)指示燈閃爍,否則,啟動(dòng)蜂鳴器模塊,發(fā)出警報(bào)聲;也即一個(gè)鎖只能由與其相同編譯密碼的鑰匙才能打開,從而可有效解決萬能鑰匙帶來的危害;同時(shí)與指紋鎖、傳統(tǒng)數(shù)字密碼鎖等相比,本發(fā)明的加密電子鎖價(jià)格低廉,不受溫度影響,安全穩(wěn)定性和可靠性更高,能有效保護(hù)消費(fèi)者的財(cái)務(wù)。
附圖說明
圖1是本發(fā)明的一種實(shí)施例的系統(tǒng)結(jié)構(gòu)框圖;
圖2是本發(fā)明實(shí)施例中紅外發(fā)射模塊的電路原理圖;
圖3是本發(fā)明實(shí)施例中蜂鳴器的電路原理圖;
圖4是本發(fā)明實(shí)施例中電機(jī)驅(qū)動(dòng)模塊的電路原理圖;
圖5是本發(fā)明實(shí)施例中紅外接收模塊的電路原理圖;
圖6是本發(fā)明實(shí)施例中紅外發(fā)射裝置的工作流程圖;
圖7本發(fā)明實(shí)施例中紅外接收裝置的工作流程圖。
附圖標(biāo)記:1-紅外發(fā)射裝置,2-紅外接收裝置,3-A單片機(jī),4-A電源模塊,5-按鍵模塊,6-紅外發(fā)射模塊,7-A開關(guān),8-B單片機(jī),9-B開關(guān),10-B電源模塊,11-紅外接收模塊,12-蜂鳴器,13-電機(jī)驅(qū)動(dòng)模塊,14-LED狀態(tài)信號(hào)指示燈。
下面結(jié)合附圖和具體實(shí)施方式對(duì)本發(fā)明作進(jìn)一步的說明。
具體實(shí)施方式
本發(fā)明的實(shí)施例:一種基于紅外陣列的加密電子鎖的控制方法,如圖6、圖7所示,包括以下步驟:
a.開鎖時(shí),紅外發(fā)射裝置控制單片機(jī)進(jìn)行加密運(yùn)算,然后通過串口發(fā)送字符串至紅外發(fā)射模塊矩陣,紅外發(fā)射模塊矩陣發(fā)出不同的紅外波形信號(hào);
b.電子鎖的紅外接收模塊接收所述的紅外波形信號(hào),對(duì)所述字符串進(jìn)行解密;然后判斷解密后的信息與其存儲(chǔ)的初始化信息是否一致;若一致,則電機(jī)驅(qū)動(dòng)模塊啟動(dòng),鎖打開;若不一致,則蜂鳴器進(jìn)行報(bào)警。
本發(fā)明利用紅外陣列加密電子鎖,必須由對(duì)應(yīng)鑰匙近距離操作才可將鎖開啟,從而可以有效解決不法分子從中截取信號(hào)的問題,安全性較高;而且本發(fā)明通過紅外的發(fā)射和接收來實(shí)現(xiàn)電子鎖的開啟,并通過加密算法進(jìn)行紅外的編碼和解碼,使得每一次發(fā)射的紅外信息都不同,從而也大大提高了該電子鎖的安全性;同時(shí)其成本低廉,可防止鑰匙復(fù)制,且互開率較低
為了提高傳統(tǒng)RC4算法中偽隨機(jī)數(shù)生成過程中的隨機(jī)性,進(jìn)而提高算法的可靠性,提高電子鎖的安全性,步驟a中所述的加密運(yùn)算可采用基于線性映射的改進(jìn)的RC4加密算法,具體包括以下步驟:
S1,計(jì)算(i+1)與N相除的余數(shù),其中,i大于等于0小于等于N-1,N為初始狀態(tài)矢量S中的元素個(gè)數(shù),i、N、S均為加密算法初始化的向量值;
S2,利用線性方程計(jì)算y的值,y=k*x+b,這里的k和b的值可由用戶自行設(shè)定其值;
S3,將y的值賦給x,x=y(tǒng);
S4,利用矢量S、y和N的值計(jì)算變量j的值,j=(j+S[i]+y*N)mod N;j大于等于0小于等于N-1,y的值由步驟S2給出;
S5,交換S[i]與S[j]中的元素(即swap(S[i],S[j]));
S6,利用矢量S的不同元素(即S[i]+S[j])和N計(jì)算t的值,t=(S[i]+S[j])mod N;
S7,將矢量S中的第t個(gè)元素的值賦給KEY的第t個(gè)元素,KEY[t]=S[t];轉(zhuǎn)到S1,以此類推,獲得最終的子密碼KEY;然后利用所述的最終的子密碼KEY對(duì)明文消息進(jìn)行加密。
步驟a中,當(dāng)獲得最終的子密碼KEY后,將該最終的子密碼KEY與紅外發(fā)射裝置的ID號(hào)進(jìn)行異或運(yùn)算,得到該紅外發(fā)射裝置的密文字符串,然后通過串口發(fā)送字符串至紅外發(fā)射模塊,紅外發(fā)射矩陣發(fā)出不同的紅外波形信號(hào);步驟b中,電子鎖的紅外接收模塊接收所述的紅外波形信號(hào),利用所述的最終的子密碼KEY與所述的密文字符串進(jìn)行異或運(yùn)算,得到紅外發(fā)射裝置的ID號(hào);然后將該紅外發(fā)射裝置的ID號(hào)與電子鎖自身存儲(chǔ)的信息相比較,若一致,則電機(jī)驅(qū)動(dòng)模塊啟動(dòng),鎖打開。
實(shí)現(xiàn)上述方法的基于紅外陣列的加密電子鎖的控制系統(tǒng),如圖1~圖5所示,包括:紅外發(fā)射裝置1和設(shè)于電子鎖中的紅外接收裝置2,所述的紅外發(fā)射裝置1包括A單片機(jī)3、A電源模塊4、按鍵模塊5、紅外發(fā)射模塊6和A開關(guān)7,所述的A電源模塊4、按鍵模塊5、紅外發(fā)射模塊6和A開關(guān)7分別與A單片機(jī)3的IO端口連接;所述的紅外接收裝置2包括:B單片機(jī)8、B開關(guān)9、B電源模塊10、紅外接收模塊11、蜂鳴器12和電機(jī)驅(qū)動(dòng)模塊13,所述的B開關(guān)9、B電源模塊10、紅外接收模塊11、蜂鳴器12和電機(jī)驅(qū)動(dòng)模塊13分別與B單片機(jī)8的IO端口連接,紅外接收模塊11與紅外發(fā)射模塊6無線連接。
為了進(jìn)一步有效防止鑰匙復(fù)制的情況,解決機(jī)械鎖的易復(fù)制性、互開率高的問題,所述的紅外發(fā)射模塊6和紅外接收模塊11均為多個(gè)(以三個(gè)為例),且一一對(duì)應(yīng),三個(gè)紅外發(fā)射模塊6分別與A單片機(jī)3的IO端口連接;對(duì)應(yīng)的三個(gè)紅外接收模塊11分別與B單片機(jī)8的IO端口連接。紅外發(fā)射裝置中設(shè)置有多個(gè)(以三個(gè)為例)紅外發(fā)射模塊,每個(gè)串口的加密方式是相同的,但是初始數(shù)據(jù)是不同的,按下按鍵后,每個(gè)原始原始數(shù)據(jù)通過加密算法加密,串口打開,三個(gè)紅外模塊就會(huì)發(fā)射出經(jīng)過加密算法加密之后的三種不同的信息,從而可以進(jìn)一步有效防止鑰匙復(fù)制的情況,解決機(jī)械鎖的易復(fù)制性、互開率高的問題;紅外接收裝置接收到紅外發(fā)射裝置所發(fā)射的紅外信息之后,對(duì)接收到的信息利用相同的子密碼進(jìn)行解密,然后看所述的明文消息與其自身存儲(chǔ)的信息是否一致,若相同,則單片機(jī)通過控制電機(jī)開鎖,同時(shí),LED狀態(tài)信號(hào)指示燈閃爍,否則,啟動(dòng)蜂鳴器模塊,發(fā)出警報(bào)聲;也即一個(gè)鎖只能由與其相同編譯密碼的鑰匙才能打開,從而可有效解決萬能鑰匙帶來的危害;同時(shí)與指紋鎖、傳統(tǒng)數(shù)字密碼鎖等相比,本發(fā)明的加密電子鎖價(jià)格低廉,不受溫度影響,安全穩(wěn)定性和可靠性更高,能有效保護(hù)消費(fèi)者的財(cái)務(wù)。
為了方便查看鎖的工作狀態(tài),所述的紅外接收裝置2還包括:LED狀態(tài)信號(hào)指示燈14,所述的LED狀態(tài)信號(hào)指示燈14與B單片機(jī)8連接。
本發(fā)明的一種實(shí)施例的工作原理:
將所述的紅外發(fā)射裝置1包括的A單片機(jī)3(可采用STC89C52單片機(jī),這是一款低功耗、高性能的CMOS8位微單片機(jī),具有8K字節(jié)系統(tǒng)可編程Flash存儲(chǔ)器;512字節(jié)數(shù)據(jù)存儲(chǔ)空間;內(nèi)帶4K字節(jié)EEPROM存儲(chǔ)空間;可直接使用串口下載程序)、A電源模塊4(可采用USB供電系統(tǒng),單片機(jī)的電源端直接插接到移動(dòng)電源USB口即可向其他模塊提供電源)、按鍵模塊5、紅外發(fā)射模塊6(可采用YS-IRTM紅外發(fā)射、解碼模塊,波長(zhǎng)為940nm 38k NEC編碼信號(hào)的發(fā)射;UART單片機(jī)串口通信接口為TTL串口,用作和A單片機(jī)3通信,傳遞加密信息)和A開關(guān)7封裝在一個(gè)小盒子內(nèi),在外部能看到的是A開關(guān)7、按鍵模塊5、三個(gè)紅外發(fā)射模塊6。在需要使用鑰匙開鎖時(shí),開啟A電源模塊4,其余時(shí)間可以選擇關(guān)閉A電源模塊4,可以有效地降低紅外發(fā)射裝置1的損耗。由于A單片機(jī)3本身只有一個(gè)串口,可以通過模擬串口的方式設(shè)置另外兩個(gè)串口,每個(gè)串口連接一個(gè)紅外發(fā)射模塊6。在按鍵之后,三個(gè)紅外發(fā)射模塊6就會(huì)發(fā)射出經(jīng)過加密算法加密之后的三種不同的信息。
同樣,將所述的紅外接收裝置2包括的B單片機(jī)8、B開關(guān)9、B電源模塊10、紅外接收模塊11(可采用YS-IRTM紅外發(fā)射、接收模塊,其中紅外接收頭用于接收NEC紅外信號(hào),進(jìn)而發(fā)送給B單片機(jī)8進(jìn)行分析解碼操作)、蜂鳴器12、電機(jī)驅(qū)動(dòng)模塊13(可采用28BYJ-48五線步進(jìn)電機(jī),可在5V電壓下工作,接收到B單片機(jī)8信號(hào)后,能夠驅(qū)動(dòng)鎖舌進(jìn)行開關(guān)鎖)及LED狀態(tài)信號(hào)指示燈14封裝在鎖的內(nèi)部,在外部可以看到的是B開關(guān)、LED狀態(tài)信號(hào)指示燈14、三個(gè)與紅外發(fā)射模塊6一一對(duì)應(yīng)的紅外接收模塊11。在需要使用鎖時(shí),開啟B電源模塊10,其余時(shí)間可以選擇關(guān)閉電源,可以有效地降低紅外接收裝置2的損耗。在收到紅外發(fā)射裝置1所發(fā)射的紅外信息之后,與經(jīng)過同紅外發(fā)射裝置1相同的加密算法計(jì)算之后的信息相比,若相同,則B單片機(jī)8通過電機(jī)驅(qū)動(dòng)模塊13控制電機(jī)開鎖,同時(shí),LED狀態(tài)信號(hào)指示燈14閃爍,否則,啟動(dòng)蜂鳴器12,發(fā)出警報(bào)聲。
本發(fā)明的加密電子鎖的控制方法如下:
步驟1:打開開關(guān);
步驟2:將紅外發(fā)射裝置1的槽口對(duì)上紅外接收裝置2的槽口;
步驟3:按下紅外發(fā)射裝置1的按鍵模塊5,A單片機(jī)3進(jìn)行加密運(yùn)算,然后控制紅外發(fā)射模塊6發(fā)射紅外信號(hào);
步驟4:紅外接收裝置2的三個(gè)紅外接收模塊11接收紅外發(fā)射裝置1發(fā)送的紅外信號(hào),并將該信號(hào)進(jìn)行解密,然后判斷接收信息是否與自身運(yùn)算的信息一致,若一致,則電機(jī)驅(qū)動(dòng)模塊13啟動(dòng),LED狀態(tài)信號(hào)指示燈14亮,鎖打開;若不一致,則啟動(dòng)蜂鳴器12,發(fā)出警報(bào)聲;
步驟5:使用完畢,關(guān)閉紅外發(fā)射裝置1和紅外接收裝置2的開關(guān)。
若鎖的電量耗盡,門內(nèi)外均有USB充電口,充電時(shí)亦可以正常實(shí)現(xiàn)功能。
若鑰匙(即相應(yīng)的紅外發(fā)射裝置1)丟失,則只能采取暴力破解的方法開門。