劉慶松,樊 哲,賽鵬新,于海秋,賈先濤 指導教師:魯靜軒
(北華大學軟件工程系,吉林吉林132021)
編號:201811923128
引言:有了智能家居后,可以在下班的途中,可以讓他們幫布置衛(wèi)生,甚至當別人惡意撬動門鎖等行為都可以進行報警。這樣可以充分提高你的生活質(zhì)量。不過普通的智能家居的初期發(fā)展也攜帶了一些問題:當總部數(shù)據(jù)庫被修改甚至刪除,自家的數(shù)據(jù)也會發(fā)生變動;有人侵入了你的網(wǎng)關(guān),里面的數(shù)據(jù)就可以隨意修改。智能家居系統(tǒng)的理想架構(gòu)應該是一種真正分布式的總線結(jié)構(gòu),所有系統(tǒng)中的設備都是基于同一種協(xié)議,可以直接互通互聯(lián)的,這樣來解決目前智能家居市場帶來的問題。
區(qū)塊鏈+物聯(lián)網(wǎng)核心技術(shù)實現(xiàn)
物聯(lián)網(wǎng)時代,設備及用戶的身份管理面臨嚴峻挑戰(zhàn)。不同組織機構(gòu)簽發(fā)的身份需要在物聯(lián)網(wǎng)中互聯(lián)互通。身份信息不應該由單一的中心化機構(gòu)控制。
利用區(qū)塊鏈的“去中心化”特點正好可以很好的解決上述問題,實現(xiàn)去中心化的身份管理,把身份的所有權(quán)還給設備或用戶本身。
使用區(qū)塊鏈技術(shù)將人類可讀的ID與公鑰綁定,并去中心化地存儲在區(qū)塊鏈上,永久保存。每個ID對應的證書信息可以保存在IPFS上。
當實現(xiàn)了用戶身份和設備去中心化后,同樣的,用戶訪問設備的行為信息也應該去中心化。
以目前的技術(shù)發(fā)展來講,以太坊擁有比較成熟的區(qū)塊鏈技術(shù)。我們利用以太坊替代傳統(tǒng)中心化服務器,實現(xiàn)去中心化訪問控制。物聯(lián)網(wǎng)數(shù)據(jù)可以保存在去中心化文件系統(tǒng),如IPFS上。IPFS通過ACL代碼,連接以太坊網(wǎng)絡,通過運行在以太坊上的智能合約(Smart Contract)實現(xiàn)去中心化訪問控制。
當物聯(lián)網(wǎng)結(jié)合區(qū)塊鏈技術(shù)實現(xiàn)了去中心化之后,最關(guān)鍵的問題就是要解決安全性問題,那么就必須存在一套合理的加密算法來解決安全性問題。
經(jīng)過多種加密算法的對比,我們最終決定采用混合加密機制,這種方式將加密過程分為兩個階段,階段一使用非對稱加密進行秘鑰的分發(fā)使得對方安全地得到對稱加密的秘鑰,階段二使用對稱加密對原文進行加解密。
建立安全連接具體步驟如下:
1:客戶端瀏覽器發(fā)送信息到服務器,包括隨機數(shù)R1,支持的加密算法類型、協(xié)議版本、壓縮算法等。此過程為明文。
2:服務端返回信息,包括隨機數(shù)R2、選定加密算法類型、協(xié)議版本,以及服務器證書。此過程為明文。
3:瀏覽器檢查帶有該網(wǎng)站公鑰的證書。該證書需要由第三方CA來簽發(fā),瀏覽器和操作系統(tǒng)會預置權(quán)威CA的根證書。如果證書被篡改作假(中間人攻擊),很容易通過CA的證書驗證出來。
4:如果證書沒問題,則用證書中公鑰加密隨機數(shù)R3,發(fā)送給服務器。此時,只有客戶端和服務器都擁有R1、R2和R3信息,基于R1、R2和R3,生成對稱的會話密鑰(如AES算法)。后續(xù)通信都通過對稱加密進行保護。
在實驗的過程中,我們遇到了大大小小很多的問題,其中比較突出的有以下幾個問題:
首先我們遇見的第一個問題就是,一套完整的智能家居系統(tǒng)會有龐大的數(shù)據(jù),而這些數(shù)據(jù)有一些并不是動作性數(shù)據(jù),不需要用到區(qū)塊鏈技術(shù)做存儲,所以我們就想只有動作性的數(shù)據(jù)也稱為行為數(shù)據(jù)我們利用區(qū)塊鏈技術(shù)進行存儲,其他的數(shù)據(jù)仍舊存儲到本地,但會在區(qū)塊鏈中存入特征值,當需要調(diào)用數(shù)據(jù)的時候,會通過特征值來尋找數(shù)據(jù)。
第二個問題就是,在實驗的過程中,我們所能調(diào)用的節(jié)點太少,如果自己搭建一個區(qū)塊鏈的話,每套智能家居系統(tǒng)都在一個節(jié)點下面,需要太多的節(jié)點了,但在實驗的環(huán)境下我們并不能去找到如此之多的節(jié)點,這也是一個難以解決問題,所以我們想在比較成熟的區(qū)塊鏈上接入子鏈,如以太坊等。
本次研究最終想達成的是利用區(qū)塊鏈思想實現(xiàn)去中心化的物聯(lián)網(wǎng)控制總線,以此實現(xiàn)用戶個人信息數(shù)據(jù)庫分布存儲,從而大大加強用戶數(shù)據(jù)的安全性,滿足時代背景下用戶的真正訴求。