本文導(dǎo)讀
電子門鎖是最近很流行的智能設(shè)備,它在方便我們生活的同時(shí)又帶來(lái)極大的信息安全隱患,信息一旦被惡意竊取,便會(huì)威脅整個(gè)家庭的安全。因此如何設(shè)計(jì)一個(gè)安全可靠的智能門鎖成為了一個(gè)極為重要的問(wèn)題。本文以智能門鎖的應(yīng)用為例,講解如何使用切實(shí)可行的方法使其具有更高的安全性和可靠性。
一、應(yīng)用背景
與傳統(tǒng)的機(jī)械門鎖相比,智能門鎖解決了用戶忘記帶鑰匙或者不想帶鑰匙的煩惱,還可以連接網(wǎng)絡(luò)實(shí)現(xiàn)遠(yuǎn)程開鎖和開鎖記錄查詢等功能。用戶在享受智能門鎖帶來(lái)的便捷體驗(yàn)的同時(shí),又不免會(huì)對(duì)智能門鎖的安全性提出質(zhì)疑。畢竟在信息化的時(shí)代,電子設(shè)備的安全性和保密性往往得不到很好的保證。
二、智能門鎖數(shù)據(jù)泄露風(fēng)險(xiǎn)分析
使用傳統(tǒng)機(jī)械門鎖的時(shí)候,只要保證鑰匙的安全,就不存在信息泄露風(fēng)險(xiǎn)。而在使用電子鎖的時(shí)候,用戶經(jīng)常使用的方式就是手機(jī)遠(yuǎn)程解鎖、藍(lán)牙解鎖等更為便捷的解鎖方式。在這種解鎖方式的解鎖過(guò)程中,會(huì)伴隨著數(shù)據(jù)產(chǎn)生、傳輸、使用等環(huán)節(jié),任何一個(gè)環(huán)節(jié)都有可能被人惡意竊取數(shù)據(jù)信息。
使用傳統(tǒng)門鎖的時(shí)候,鑰匙丟了用戶會(huì)第一時(shí)間知道并采取措施,而在使用電子鎖的時(shí)候,就算數(shù)據(jù)已經(jīng)被人惡意竊取,用戶也可能全然不知。這樣就給家庭安全和防盜帶來(lái)極大隱患。
三、智能門鎖的安全設(shè)計(jì)思路
智能門鎖的安全設(shè)計(jì)思路包括軟件設(shè)計(jì)思路和硬件設(shè)計(jì)思路,下文將逐一介紹。
3.1 軟件數(shù)據(jù)處理
數(shù)據(jù)的處理主要分為數(shù)據(jù)的校驗(yàn)和數(shù)據(jù)的加密。校驗(yàn)是為了防止門鎖關(guān)鍵數(shù)據(jù)例如密碼被人惡意篡改,導(dǎo)致遠(yuǎn)程無(wú)法解鎖。加密是為了防止關(guān)鍵數(shù)據(jù)被人惡意竊取。
經(jīng)過(guò)數(shù)據(jù)加密處理之后,數(shù)據(jù)一旦被篡改,控制單元會(huì)第一時(shí)間得知。數(shù)據(jù)即使被竊取,也沒(méi)辦法還原真實(shí)數(shù)據(jù)。從而保證遠(yuǎn)程解鎖的時(shí)候,所有的環(huán)節(jié)都是安全的。
3.1.1 數(shù)據(jù)檢驗(yàn)
數(shù)據(jù)檢驗(yàn)可以采用DES加MAC算法的方式。如圖1所示。
圖1 數(shù)據(jù)檢驗(yàn)信息生成機(jī)制
每一個(gè)塊都是64bit的數(shù)據(jù),將數(shù)據(jù)拆分成多個(gè)塊進(jìn)行處理,DES算法就是用一個(gè)64bit的Key對(duì)一個(gè)塊的數(shù)據(jù)進(jìn)行處理,得到加密塊。
MAC算法是在DES的基礎(chǔ)上先對(duì)報(bào)文第一個(gè)數(shù)據(jù)塊加密,得到加密塊1,接著再拿加密塊1與報(bào)文第二個(gè)數(shù)據(jù)塊進(jìn)行按位異或,得到加密塊2,再用Key對(duì)加密塊2加密,得到加密塊3,同樣的處理依次類推。直到最后會(huì)得到一個(gè)64bit的數(shù)據(jù)。
將這個(gè)數(shù)據(jù)放到報(bào)文的最后發(fā)到門鎖控制單元,這樣報(bào)文的長(zhǎng)度只增加了64bit,但是數(shù)據(jù)的正確性得到了很好的保證。
而這個(gè)用來(lái)參與MAC計(jì)算的Key就常被稱為MacKey,也可以叫工作密鑰。
3.1.2數(shù)據(jù)加密
前面提到的MAC算法對(duì)傳送的報(bào)文進(jìn)行了處理,保證了在傳輸過(guò)程中數(shù)據(jù)不會(huì)在未知的情況下被篡改,但是我們傳輸?shù)膱?bào)文都是明文的形式,很容易被截獲和解析。因此需要對(duì)傳輸?shù)臄?shù)據(jù)進(jìn)行加密。如果把整個(gè)報(bào)文都用DES加密是非常耗時(shí)間的,可以只對(duì)關(guān)鍵信息例如門鎖密鑰信息加密,得到一個(gè)密文數(shù)據(jù)塊。我們就把這個(gè)專門來(lái)加密關(guān)鍵信息的Key稱為PinKey。
通過(guò)PinKey和MacKey對(duì)報(bào)文進(jìn)行了兩重處理,基本上報(bào)文就是安全的了。如果想對(duì)加密后的密文解密,必須要知道Key才行,所以說(shuō)Key一定要保密。前面提到加密都是用明文Key來(lái)計(jì)算的,所以這個(gè)Key就很容易被竊取。因此還要對(duì)PinKey和MacKey本身進(jìn)行加密,可以再用一個(gè)Key對(duì)PinKey和MacKey進(jìn)行一次DES加密。用來(lái)對(duì)PinKey和MacKey進(jìn)行加密的Key就被稱為MasterKey,即主密鑰,用來(lái)加密其他密鑰的密鑰。
數(shù)據(jù)經(jīng)過(guò)上述的處理之后,過(guò)程如圖2所示。
圖2 數(shù)據(jù)處理過(guò)程過(guò)程
3.2硬件數(shù)據(jù)處理
經(jīng)過(guò)上述處理之后,還存在一個(gè)問(wèn)題,MasterKey是明文。如果再找個(gè)Key來(lái)加密MasterKey,那最終無(wú)論處理多少道,最后的那個(gè)Key肯定是明文,這樣看來(lái),安全的問(wèn)題還沒(méi)有解決。
如果把MasterKey放到硬件里面,基本上就可以排除被惡意竊取的可能性了。因?yàn)橛布黄平獾目赡苄詷O小。
另外,對(duì)于密碼輸入形式的解鎖,其中有個(gè)環(huán)節(jié)需要考慮下,輸入密碼的時(shí)候,按照一般的處理機(jī)制,鍵盤每按一下,我就把那個(gè)數(shù)字在程序里面先存起來(lái),等到4位或6位密碼按完后,再把它們合在一起,再送給PinKey加密。那萬(wàn)一黑客程序直接竊取了按鍵信息,那直接就把輸入密碼得到了,前面過(guò)程中對(duì)密碼進(jìn)行的加密處理就變得毫無(wú)意義。
如果把獲取按鍵的程序固化進(jìn)入加密硬件,按鍵的數(shù)字根本不通過(guò)上層的軟件,直接一步進(jìn)入硬件里面處理,等到按鍵按完了后,硬件直接把經(jīng)過(guò)一道處理的按鍵信息給上層軟件,此時(shí)已經(jīng)是密文了,就相當(dāng)于把前面計(jì)算PinBlock的處理移到硬件里面去了,那黑客就沒(méi)法獲取我的按鍵了。這種處理現(xiàn)在就被稱為硬加密。硬加密是一種防止密鑰被竊取的有效手段。
通過(guò)上述軟件加硬件的安全機(jī)制處理之后,我們智能門鎖的信息安全更有保障了,穩(wěn)穩(wěn)地將大部分惡意竊取拒之門外。
-
大數(shù)據(jù)
+關(guān)注
關(guān)注
64文章
8897瀏覽量
137534 -
智能硬件
+關(guān)注
關(guān)注
205文章
2348瀏覽量
107697 -
智能門鎖
+關(guān)注
關(guān)注
17文章
1857瀏覽量
43264
原文標(biāo)題:安全加密(七):如何設(shè)計(jì)更安全的智能門鎖
文章出處:【微信號(hào):Zlgmcu7890,微信公眾號(hào):周立功單片機(jī)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論