邱湘開 謝志信



摘要
隨著智能家居的不斷普及,家庭安防攝像頭逐漸走入千家萬戶,但其聯網后可能遭到不法分子攻擊,造成用戶家庭隱私畫面泄露,甚至危害用戶人身安全。現有聯網的監控系統無論是否有人在家都將家庭監控畫面暴露在互聯網上,存在極大的安全隱患和隱私泄漏風險。提出通過檢測移動終端是否在線來判斷是否有人在家,再利用智能路由器的防火墻模塊實現家中無人時攝像頭自動上線,家中有人時攝像頭自動下線。該方法通過MVC模式設計,在openWRT路由器系統上實現和進行實驗測試。實驗表明,該方法成本低廉,能較好地防止家庭隱私畫面泄露,保護用戶隱私,基本達到預期功能指標。
【關鍵詞】隱私保護 openWRT 智能家居 安防攝像頭
隨著經濟的發展和人民物質生活水平的提高,人們對家庭安防需求也越來越多。于是各種各樣的智能設備進入到家庭當中,其中就有家庭監控攝像頭。它能夠把監控實時畫面上傳至云端并在線直播,實現在線實時監控整個家庭環境,同時視頻文件存儲于云端。監控畫面上傳并存儲于云端,解決了本地存儲保存易丟失的問題,但同時也帶來一個新問題即隱私泄漏。新聞頻現由于家庭監控攝像頭被黑客攻擊并控制,從而實現對用戶隱私行為的監控,甚至整個家庭攝像頭畫面被直播在互聯網上。
家庭作為人們較為隱私的一個生活場所,隱私的重要性不言而喻,如何更有效地保護隱私不受侵犯變得迫在眉睫。然而現有的家庭安防監控系統通常較為復雜,包括安防系統服務器、報警主機、攝像頭,其實施成本高,普通家庭用戶不容易安裝調試。其實現的自動布防、撤防也未能徹底切斷互聯網連接,存在被黑客攻擊的風險。本文基于openWRT智能路由器操作系統設計并實現一種成本低廉,同時又能夠有效保護家庭攝像頭隱私的系統。
1 系統設計
1.1 總體設計
本文設計的攝像頭隱私保護系統,如圖1所示,包括智能路由器、家庭監控攝像頭、移動終端。智能路由器,是指帶有操作系統的Wi-Fi路由器,包括移動終端注冊模塊、監控攝像頭注冊模塊、終端監測模塊、防火墻模塊等。家庭監控攝像頭,是指可通過有線或無線連接到智能路由器,并通過智能路由器連接到互聯網,可將實時監控畫面上傳云端的攝像頭。移動終端,是指人們隨身攜帶的智能終端,如手機、iPad等,它通過Wi-Fi信號與智能路由器相連接。
1.2 功能設計
為使系統更加易用,在系統功能設計的之初就盡量簡化操作步驟,用戶僅需要在智能路由器上根據設備MAC地址注冊并標識移動終端和家庭監控攝像頭。標識完成后,系統立即開始工作,其基本流程:
1.2.1 注冊移動終端
用戶打開智能路由器的管理界面,進入到個人移動終端注冊模塊,通過MAC地址標識設備為個人移動終端。
1.2.2 注冊監控攝像頭
用戶打開智能路由器的管理界面,進入到監控攝像頭注冊模塊,通過MAC地址標識設備為監控攝像頭。
1.2.3 自動斷開攝像頭
如圖2所示,智能路由器自動監測如有注冊過的任一移動終端連接到路由器則表示有人在家,則自動通過智能路由器防火墻模塊,丟棄監控攝像頭MAC地址對應的數據包,以使其與互聯網完全斷開,保護家庭隱私。
1.2.4 自動連接攝像頭
如圖3所示,智能路由器自動監測如果所有注冊過的移動終端均未連接到路由器則表示無人在家,則自動通過智能路由器防火墻模塊,放行監控攝像頭MAC地址對應的數據包,以使其將監控錄像上傳到云端。
2 系統實現
本文選擇基于開源路由器操作系統openWRT來實現所設計的攝像頭隱私保護系統。openWRT是高度模塊化的、高度自動化的嵌入式Linux系統。它提供了一套完整的MVC框架的Web管理界面設計方法,它包括uhttp、luci等。uhttp是openWR7下的一個精簡的類似于IIS、Apache的WEB服務器,它內存占用少、CPU開銷小,非常適合于嵌入式的系統。luci是由lua語言編寫的、基于MVC模式搭建網頁的一整套方法。
2.1 頁面設計
根據luci的設計規范,在/usr/lib/lua/luci/文件夾下包含model、view、controller三個子文件夾分別對應M、V、C。
首先,在controller目錄創建camoff.lua控制器,關鍵代碼如下:
function index()
entry({"admin","services","camoff"},cbi("camoff'),i18n("Camera Offline"),90).il8n="camoff"
entry({ "mini","services","camoff"},cbi("camoff"),i18n("camoff"),90).i18n="camoff"
end
index()方法是起始方法,調用entry()方法創建子節點。上面代碼在系統菜單中創建services一級菜單,同時創建Camera Offline二級菜單,并通過cbi("camoff")指定節點位置。index()方法是起始方法,調用entry()方法創建子節點。上面代碼在系統菜單中創建services一級菜單,同時創建Camera Offline二級菜單,并通過chi("camoff")指定節點位置。在model/cbi目錄下創建camoff.lua模型,注冊若干用于用戶配置的界面組件元素。如圖4,為保持用戶界面的一致性,降低用戶使用門檻,系統中視圖部分直接調用系統已有的視圖模板,使增加配置項、刪除配置項、保存配置并啟動服務的功能按鈕與系統風格一致。保存的camoff配置文件存儲于/etc/config目錄下,其格式如下:
config general
option enabled'1'
config camera
option mac'43:37:e6:26:b6:ef'
config mobile
option mac'44:37:e6:26:06:09'
2.2 腳本實現
為方便用戶使用,本文將開發的模塊注冊成openWRT系統的一個服務,用戶可以設定它跟隨系統一起啟動。
在/etc/init.d目錄下創建camoff腳本文件,該腳本包含start()、stop()、check online()、run_camoff()、run_camup()、remove_rule()等方法。服務通過start()方法啟動,啟動后間隔一分鐘調用一次check_online()方法,如圖5。智能路由器一旦監測到有己標識過的移動終端連接上線,則立即調用run camoff()方法寫入防火墻規則丟棄己注冊攝像頭MAC地址的所有數據包,從而實現斷開攝像頭的連接。當智能路由器監測到所有己標識的移動終端均未能連接,則調用run camup()方法寫入防火墻規則放行己注冊攝像頭MAC地址的所有數據包,使攝像頭重新連接上線。stop()方法的作用是刪除所有關于注冊攝像頭MAC地址的防火墻規則。
3 結語
本文分析現有家庭監控系統的缺點,如系統成本高、不易部署、隱私保護策略安全性差等。通過在智能路由器上基于MVC模式設計和實現一個攝像頭隱私保護的模塊,它能夠實時監測移動終端的接入,實現家中無人時攝像頭自動上線,家中有人時則攝像頭自動下線,以確保家庭隱私安全。
當然,使用中系統也存在一些問題,比如用戶在配置界面中標識移動終端和攝像頭時,一般家庭用戶很難通過MAC地址來辨別設備類型,從而導致配置出錯。后續工作中,將根據hostname標識設備類型或聯網查詢MAC地址自動匹配設備類型。
參考文獻
[1]張玉清,周威,彭安妮.物聯網安全綜述[J].計算機研究與發展,2017(10):2130-2143.
[2]陳智.基于Wi-Fi的智能安防系統布撤防系統及其方法[P].湖南:N105913624A,2016-08-31.
[3]OpenWrt Project:Welcome to theOpenWrt Project [EB/OL].https//www.openwrt.org.
[4]李曙聰.基于OPENWRT開源路由器的智能網關系統設計與實現[D].西安電子科技大學,2014.
[5]吳戀,黃俊偉,黃一峰.基于LuCI框架的MIFI的Web遠程管理系統[J].電視技術,2014,38(03):79-81.
[6]曹為華,凌強,張雷,徐駿,范寅.基于OpenWrt系統路由器的模式切換與網頁設計[J].微型機與應用,2015,34(23):91-94.