安全監控
結合混沌加密技術 居家保全系統防衛大升級
本文設想由影像傳輸所使用的鏡頭加入臉部辨識並結合大門門鎖進行控制,其他功能方面透過手機APP與門鎖裝置進行配合,使用者可於手機上與門前人員進行視訊、查閱通行紀錄、分享權限與使用手機進行開鎖動作,使用者不需要擔心透過手機開鎖的安全性,該功能是透過本文團隊研發的混沌加密技術所達成的動態且隨機的認證機制,能夠有效的防止盜竊者透過反覆嘗試來逐一破解密碼,因為密碼隨時都在變化。功能乃透過模組化的方式結合紅外線、超音波等感測器讓使用者能快速地擴充且應用在不同地方,而影像辨識功能採主動化偵測,若有可疑人士在門前逗留便會透過手機通知使用者,且使用者亦可透過APP隨時觀看門前的動態。
簡而言之,在科技進步與持續開發的物聯網推動中,將許多的感測器應用在人們的生活中例如車票買賣、智慧電網、網路影像監控等,在資料傳輸過程中除了近距離的無線傳輸,多方監控與遠距離傳輸都將會使用到網路,由於日常使用的網路線都是由業者建立,對於開發上便占有極大的優勢,近期由電信工會會員得知,電信行時下最常接獲由民眾或店家要求安裝網路監視器系統,但安裝的監視器只能作為影像監控。
本作品從此系統延伸,除了影像監控方面本系統也加入APP,透過影像辨識獲取的生物特徵進行大門解鎖功能,同時由硬體裝置將記錄上傳至雲端,使用者透過APP便能查閱紀錄,且亦可分享開門的權限給其他授權人,其開門的方式便是透過手機與門鎖裝置進行以混沌加密機制為基礎的連線解鎖功能,其加密方式是透過混沌亂數產生器與同步控制器將接收端與傳輸端產生的金鑰達成同步現象便能實現加解密的功能。
保全系統工作原理及功能
本作品以盛群晶片HT66F70A為主結合手機應用程式與Raspberry Pi模組,其功能如圖1所示。
圖1 主要功能圖
以保全系統為構想,將盛群晶片作為門鎖裝置,使用者可透過手機與晶片進行連線後,完成混沌加密運算功能便能將門鎖開啟,若門鎖未依正常方式開啟,應用在防盜功能上的感測器,如紅外線感測、振動開關感測模組等,將會通知晶片並透過Raspberry Pi的網路功能將開啟紀錄、影像傳輸至Firebase雲端資料庫與使用者的手機上,並且透過應用程式使用手機的通知功能,讓使用者立即收到門鎖遭到入侵的消息。
手機的視訊功能也能應用在收宅配或來拜訪的人員與使用者的溝通管道,由於一個家庭通常以兩個人以上為單位又或者公司通行的門閘處都是多人共用同一個鎖具,因此手機上還能夠將門鎖權限分享給不同的授權人,而通行紀錄也都將被回傳至資料庫提供擁有者查看。
MCU扮演核心角色
本系統應用到HT66F70A的功能如圖2所示。
圖2 HOLTEK MCU核心功能
使用晶片的睡眠模式執行節能的功用,並且透過計時計數器判斷閒置時間,若超過預設的閒置時間則將會進入睡眠模式節省電力耗損,透過晶片提供的輸入輸出腳位執行鍵盤功能的掃描式讀取提供使用者輸入密碼開鎖的應用與電子鎖具的開關控制,同時也提供喚醒按鈕、防盜感測的控制。由圖中所提出的手機解鎖功能如圖3所示。
圖3 手機解鎖功能
該功能目前以藍牙為傳輸資料的方式,但礙於HT66F70A晶片並沒有UART傳輸介面因此必須以軟體的方式透過晶片輸入腳位進行判斷,以藍牙訊號1個封包具有8個位元為基礎,單位時間內透過輸入晶片的訊號變化作為訊號的讀取接收方式各別將每一個位元接收,便能模擬一個UART串口功能。
當數值皆完成後便會進行混沌加密機制的解密功能,若成功解鎖晶片將會控制鎖具開啟,無論使用者透過哪一種方式進行解鎖,HT66F70A晶片都會將訊號藉由Raspberry Pi的網路功能將訊號傳送至雲端資料庫與使用者的手機中。
本系統鎖應用的混沌加密機制獲得專利認證,該專利主要保護混沌加密機制的同步控制方式,相較於特別之處本作品使用的同步控制方式稱為滑動模式並應用在同步控制器中,其應用的方式是透過同步參數將主僕兩端誤差收斂至0,若是設計不良的同步控制器則會造成混沌狀態發散產生無窮大的數值差距。
系統架構與晶片實作說明
本系統以網路監視器為主軸,延伸鎖具控制、加密技術、通行紀錄等等保全系統的概念作為功能擴充的方向,系統架構圖如圖4所示。
圖4 系統架構圖
該系統以盛群晶片為主,並以樹莓派的網路功能作為中繼站連接到手機與雲端資料庫。HT66F70A晶片具有休眠、計時計數、脈波控制等等功能。本系統利用計時計數器計算閒置時間是否達成,使用者只要一處碰到任何一個按鈕便會觸發另外一個中斷器將計時計數的變數重新設置,周邊元件方面,使用觸發感測器做為系統喚醒的按鈕,按鈕功能實作程式如圖5所示。
圖5 按鈕偵測程式段
以腳位F2控制LED燈亮滅為範例,偵測按鈕腳位G0若按下則亮燈,反之則滅燈,該範例應用到本喚醒功能只需要將亮燈程式替換成喚醒即可達成目的。
喚醒後可透過數字鍵輸入密碼來進行解鎖,然而每顆按鈕都需要消耗1個輸出輸入卓而言將會造成資源浪費與功能無法擴充,為了節省腳位被占用的數量,以矩陣鍵盤的方式透過7支腳位完成12個數字鍵按鈕的功能,實作方面透過一層層快速掃描的方式判斷使用者按下哪一顆按鈕(圖6)。
圖6 矩陣按鈕示意圖
圖6中將晶片輸入腳位連接至P0~4並且以飛快的速度進行輪流偵測,當使用者按下按鈕時,晶片便會偵測到腳位變化而進入程式圖7的判斷式中。
圖7 矩陣按鈕掃描程式段
程式中,透過副程式的方式呼叫keyBoard功能以for迴圈依序偵測圖7由上到下3列按鈕,並在各排進行判斷,假設使用者按下左上方的按鈕,則for迴圈執行到P6腳位提高準位輸出時,將會造成P0腳位準位上升,晶片便可透過此種方式進行使用者按下哪一鍵的判斷。
系統中還能透過使用者的APP進行解鎖,由於傳輸的介面為藍牙但HT66F70A晶片並不支援UART串口的服務,因此必須透過軟體的方式模擬該串口才能將藍牙收回的訊號轉換回數值。模擬的方式是透過藍牙傳輸的機制作為基礎,透過輸入訊號在單位時間內準位高低的變化,單位時間則由設定鮑率不同擇時間長短不同,程式範例如圖8。
圖8 模擬UART藍牙接收程式段
程式中透過INT0中斷器進行判斷,當中斷器觸發則會進入ISR功能執行暫存器的程式,圖7程式中首先設定傳輸位元的時脈大約等於0.5秒,在設定一個空的暫存空間後,透過這個單位時間進行迴圈執行的時間限制,進入while迴圈後透過與藍牙電路Tx腳位傳回準位高低變化給晶片的Rx腳位並且將0、1數值存入暫存空間後將記憶體左移等待下一個數值存入。由於藍牙傳輸的封包式以8個位元為一次通訊,當用來當作資料印入的8位元temp變數左移8次時,就會因為溢位使temp變數等於0而離開while迴圈結束單次的數值接收。
傳輸方式與接收方式略同只需將原本設定為暫存觸發才使用的程式改為副程式與腳位輸出等接腳替換後,便能將愈發送的數值傳入副程式中執行,系統中所應用到的UART功能圖如圖9所示。
圖9 UART應用功能
如圖9,由HT66F70A模擬的UART串口功能除了能夠用來傳送藍牙,也能應用在與樹莓派的傳輸窗口,系統原先愈想透過ESP系列的Wi-Fi模組進行網路功能,但影像辨識系統需透過具有多執行緒的系統進行判斷,因此將納入樹莓派晶片並且利用附有的網路功能進行傳輸。
網路監視器則由樹莓派架設虛擬IP,透過手機連線到對應位址完成影音傳輸功能,並且顯示在APP的監控頁面上。APP除了影像監控功能還具有、資料庫查詢、權限分享與開門功能,其開門功能所使用的混沌系統為一個透過混沌亂數產生器與同步控制器的加密機制,加密參數分布均勻且為動態金鑰隨時都在變更的方式保護資訊。使用者在應用上只需要事先將鎖具等產品歸屬於帳戶中,APP將會即時出現新登入的解鎖按鍵,透過按下該解鎖按鍵便能執行解鎖功能。
防盜功能以不同的感測器組合形成一個功能,本系統使用振動感測、三軸感測器、紅外線等模組進行實作,若門鎖遭到未正常的情況打開門則會觸發感測器,系統將透過網路傳送通知資訊到使用者的手機上,反之在正常情況下進行開鎖動作系統就會略過這些感測器產生的變化。
混沌加密演算法說明
混沌(渾沌)理論系統相關研究技術上由法國學者Jules Henri Poincaré開始,已具有數十年的相關歷史,技術的應用範圍相當廣泛,舉凡醫學、機器人、量子力學、生物學等等。
其中最熱門的技術就是在通訊系統的安全領域中,透過混沌隨機不可預測的參數進行資料加密便能達成高強度的保密功能,由於資訊加密進行傳輸後還需要解密還原,因此除了混沌的隨機參數還需要設計同步控制器將傳輸端與接收端的混沌參數進行同步功能,但同步功能實現後並不表示參數就失去不可預測的特性,同步功能在於雖然兩個不可預測的參數狀態不同,但透過引導的方式使僕端產生的參數收斂到與主端參數相同,也就達到動態誤差為0的需求,以密碼鎖為例如圖10所示。
圖10 密碼鎖示意圖
如圖10,密碼鎖開鎖用的密碼即是可以隨意調整,但是確定後鎖上實際卻是固定的數值,也就是所謂的固定金鑰。假如竊賊想要開鎖卻不知道密碼,只須從0000開始嘗試到9999逐一篩選的方式就能夠成功破解密碼並且打開,混沌加密機制就是將固定金鑰數值改為隨機產生,即使盜竊者從頭開始嘗試也無法破解,因為密碼隨時在改變,也就是動態金鑰相較於固態金鑰安全的差異。
由於混沌系統具有隨機、敏感、標度律等等特性,應用在加密功能上如魚得水,隨機的參數使人無法預測下一個數值為何,即使設計者也無法預先知道;透過對於極小的調整就會造成極大的改變的敏感性,使初始值不同但系統相同的產出截然不同,我們稱這個現象為「蝴蝶效應」。
混沌特性其中的標度律使本系統在未來量產時能夠將系統產出的數值侷限在一個單位中,也就是兩兩系統不相干涉,否則便會造成金鑰重疊的效應,混沌的特性中還有許多種,但本系統功能著重於加密理論透過上述3點便能完成極為安全的加密方式,因此其他特性在此不再贅述。
由於先前所提到的當鎖具與金鑰透過隨時改變提升安全性,但使用者想進行開鎖時便需要有一定的措施才能夠將鎖具與金鑰同時產生對應的參數,其設計方式下文將會介紹,透過該設計便能成功將系統同步,達成加解密功能的條件。
混沌狀態調變與同步控制器設計
為了增加破解的複雜性,同時也能增加混沌系統的狀態響應的多樣性,本作品加入調變參數,以設計具調變參數的超混沌Henon map系統,超混沌Henon map系統原式公式1
公式1
本計畫引入六個調變變數,用來動態原混沌狀態的振幅與直流位準(公式2)。
公式2
其中ai,i=1,2,3為調整振幅的參數,di ,i=1,2,3為調整直流準位的參數,由公式2得出公式3。
公式3
由公式3帶入公式1,經過整理可得新的具調變的超混沌系統如公式4。
公式4
由上述的推論,可完成具調變功能的超混沌系統,為了驗證可行性,使用MATLAB模擬,並設六個調變參數(a1=1、a2=5.2、a3=6、d1=0.1、d2=-0.5、d3=10)進行模擬,結果如圖11所示。
圖11 振幅與直流位準的調變圖
如圖11所示,左圖為調變前,右圖為調變後,由上至下振幅分別放大了1倍、5.2倍與6倍,而直流位準偏移了0.1、-0.5與10,由此可知,超混沌系統的振幅和直流位準調變可以依操作者喜好做調整,也證明上述的理論推導的正確性與可行性,接下來將討論同步控制器的設計,將系統分為主端與僕端,主端的系統如公式5。
公式5
僕端系統如下:
公式6
令動態誤差(公式7)為:
公式7
經上述式子,即可重新改寫主僕系統之誤差動態差分方程式如公式8。
公式8
欲使主僕混沌系統(5)(6)達到同步,必須要設計一個強健的同步控制器,本計畫使用的滑動模式轉換面設計如公式9。
公式9
假設s(k)=0(進入轉換面),便能得到公式10。
公式10
將上述(10)式寫成矩陣形式(公式11):
公式11
由上式可知,若將c1、c2選定為特定值,A的特徵根將會侷限於單位元中,i.e,|λ_i(A)|<1,則e2,e3=0,由(10)式可知e1=0,即可確保誤差收斂至零,轉換面的設計對於混沌同步來說相當重要,如果設計不好將會造成主僕兩者數值發散。為了確保系統能夠達到轉換面,控制器的設計如公式12。
公式12
令控制器為公式13:
公式13
由公式13代入公式12便可得公式14:
公式14
則如果令|α|<1,則代表lim(k→∞)〖s(k)→0,而系統將順利進入滑動模式中,由上述步驟,完成混沌同步設計。以下用MATLAB示範同步結果如圖12~14,此模擬的振幅將調為3倍、5倍、6倍,而直流位準調至0.2、0.5與0.7。
由上述模擬結果,我們可以發現,不管是主端與僕端的波形與動態誤差,還是轉換面、控制器,與主僕端奇異吸子,都可達到同步和收斂。
圖12 主僕端同步響應圖
圖13 轉換面、控制器與動態誤差之同步響應
圖14 主僕端的奇異吸子
系統功能測試與環境說明
本系統主要測試功能逐項條列如下。
.鍵盤輸入功能
.鎖具控制開關控制
.手機執行混沌解鎖功能
.防盜感測器功能
.歷史紀錄查閱功能
.影像傳輸功能
.影像辨識功能
鍵盤輸入功能測試方式為執行3乘4的矩陣鍵盤主要測試是否能夠偵測到每個按鍵,鎖具開關控制測試為確認晶片能過透過腳位觸發使鎖具開啟或關閉,手機解鎖功能為透過藍牙傳輸執行混沌加解密運算功能達成系統同步並解鎖。
防盜感測器則是透過目前暫定的3種不同感測器震動感測器、紅外線、三軸感測器各自完成觸發功能,歷史紀錄、影像傳輸、辨識功能皆是透過樹莓派的網路功能執行,其歷史紀錄內容包含使用者名稱、時間、鎖具名稱等資料,並且透過手機存取Firebase,將資料取出並顯示在手機上,影像傳輸則是直接透過網路顯示在監控頁面其中不再透過其他中繼資料庫。
作品測試需要有HT66F70A晶片、電子鎖具、3乘4矩陣鍵盤、Android手機、樹莓派、攝影鏡頭、紅外線感測器、震動感測器、三軸感測器。測試環境只需要將作品接上電源提供晶片5伏特電壓即可進行操作。
鍵盤、鎖具、防盜感測器等等逐項功能測試皆已完成,現階段只需要將各項功能匯集,並且處理功能合併後的問題例如中斷先後順序等,即可完成本系統。
另外,本系統研發之保全系統操作容易並且透過雲端資料庫功能提供使用者隨時查閱歷史通行紀錄與即時影像監控相當方便,系統本身除了延伸電信業常見的系統外還加入了物聯網概念將鎖具狀態上傳至雲端,讓使用者能夠即時監控。
(本文作者曾士哲、曹彥傑、周昱宏皆為樹德科技大學學生;指導老師為顏錦柱教授)