中國(guó)鐵塔股份有限公司云南省分公司 趙鵬
互聯(lián)網(wǎng)的發(fā)展給社會(huì)各領(lǐng)域帶來(lái)了巨大變化,物聯(lián)網(wǎng)環(huán)境構(gòu)建中,數(shù)據(jù)傳輸屬于核心環(huán)節(jié),需要結(jié)合物聯(lián)網(wǎng)數(shù)據(jù)傳輸實(shí)際問(wèn)題提出有效措施保障通信安全。本文基于區(qū)塊鏈與Signal 進(jìn)行互聯(lián)網(wǎng)安全通信系統(tǒng)設(shè)計(jì)研究,意在解決物聯(lián)網(wǎng)環(huán)境數(shù)據(jù)傳輸實(shí)際問(wèn)題、提升物聯(lián)網(wǎng)通信安全保障力度。通過(guò)本文實(shí)踐分析可知,物聯(lián)網(wǎng)安全通信設(shè)計(jì)需要借助密鑰協(xié)議技術(shù)達(dá)到維持物聯(lián)網(wǎng)安全通信狀態(tài)優(yōu)化物聯(lián)網(wǎng)安全通信系統(tǒng)設(shè)計(jì)這一目標(biāo),同時(shí)這也能提供整體運(yùn)行系統(tǒng)安全保障力度。
宏觀物聯(lián)網(wǎng)環(huán)境中,身份認(rèn)證主要是指,設(shè)備之間的身份驗(yàn)證意在保護(hù)物聯(lián)網(wǎng)環(huán)境整體安全狀態(tài)。進(jìn)一步細(xì)分可知,身份認(rèn)證技術(shù)可包括密碼訪問(wèn)控制、地址、設(shè)備身份、令牌等細(xì)節(jié)技術(shù)。在實(shí)踐應(yīng)用中,身份認(rèn)證技術(shù)需要以密碼為基礎(chǔ),通過(guò)將設(shè)備、地址與密碼保存在認(rèn)證服務(wù)器中,達(dá)到身份認(rèn)證整體流程、推進(jìn)目標(biāo)。而設(shè)備身份認(rèn)證技術(shù)主要是指,通過(guò)公共密鑰體制完成身份認(rèn)證,公共密鑰主要內(nèi)容包括,IP 地址、簽名等可實(shí)現(xiàn)設(shè)備身份驗(yàn)證過(guò)程安全保障。令牌身份技術(shù)強(qiáng)調(diào),通過(guò)服務(wù)器為載體,形成獨(dú)立數(shù)據(jù),完成標(biāo)識(shí)設(shè)備環(huán)節(jié)服務(wù)器[1]。這時(shí),會(huì)生成一次性密碼,并發(fā)送給注冊(cè)設(shè)備,最終通過(guò)一次性密碼與服務(wù)器列表密碼比對(duì),達(dá)到身份認(rèn)證效果。
Signal 技術(shù)可實(shí)現(xiàn)端點(diǎn)到端點(diǎn)加密這一目標(biāo),現(xiàn)階段是普遍在通訊軟件中應(yīng)用的關(guān)鍵技術(shù),此協(xié)議主要包含X3DH 算法與雙沙棘輪算法兩種基礎(chǔ)算法??蓪?shí)現(xiàn)端點(diǎn)至端點(diǎn)、群組與群組之間的有效通信,并同時(shí)保障安全信息能夠完成安全加密,并且,消息內(nèi)容也能同步實(shí)現(xiàn)前后雙向安全保障。即使具體信息被攻擊或破解攻擊者,也無(wú)法獲得當(dāng)前信息之前之后的信息內(nèi)容。X3DH 密鑰協(xié)商協(xié)議主要由3 種角色、4 種密鑰為基礎(chǔ)結(jié)構(gòu)。其中3 種角色包括,消息發(fā)送方、接收方以及中間起到銜接作用的服務(wù)器[2],服務(wù)器主要存儲(chǔ)參與者身份信息。4 種密鑰則主要是指身份密鑰(IK)、已簽名的預(yù)共享密鑰(OPK)、一次性預(yù)共享密鑰(EK)和臨時(shí)密鑰。其中,身份密鑰主要包含身份公共密鑰和身份私密鑰,屬于成對(duì)密鑰;已簽名預(yù)共享密鑰也包含成對(duì)密鑰,與身份密鑰同時(shí)生成,發(fā)揮作用時(shí),身份密鑰與私密鑰共同發(fā)揮簽名認(rèn)證作用;一次性預(yù)共享密鑰也包括兩個(gè)成對(duì)密鑰,此種密鑰服務(wù)器在應(yīng)用過(guò)后會(huì)直接刪除,當(dāng)數(shù)量不足時(shí)實(shí)現(xiàn)一次性補(bǔ)充;臨時(shí)密鑰也屬于成對(duì)密鑰,主要作用在于生成初始會(huì)話(huà)密鑰以及棘輪鏈初始輸入值。
區(qū)塊鏈技術(shù)作用發(fā)揮主要依靠區(qū)塊鏈結(jié)構(gòu),其基本結(jié)構(gòu)層次包括以下幾部分:(1)網(wǎng)絡(luò)層;(2)數(shù)據(jù)層;(3)共識(shí)層;(4)激勵(lì)層;(5)合約層;(6)應(yīng)用層,不同層面有不同功能。其中,數(shù)據(jù)層包含數(shù)據(jù)區(qū)塊以及基于區(qū)塊形成的鏈?zhǔn)浇Y(jié)構(gòu),主要應(yīng)用非對(duì)稱(chēng)密碼學(xué)技術(shù)和Hash 算法,進(jìn)行區(qū)塊中數(shù)據(jù)技術(shù)完整性保障。網(wǎng)絡(luò)層主要通過(guò)點(diǎn)對(duì)點(diǎn)網(wǎng)絡(luò)結(jié)構(gòu)實(shí)現(xiàn)節(jié)點(diǎn)之間數(shù)據(jù)傳播與交易驗(yàn)證過(guò)程。共識(shí)層通過(guò)共識(shí)機(jī)制,保障節(jié)點(diǎn)數(shù)據(jù)一致性。應(yīng)用層通過(guò)腳本代碼與智能合約達(dá)到應(yīng)用系統(tǒng)功能有效實(shí)現(xiàn)目標(biāo),進(jìn)一步對(duì)區(qū)塊鏈類(lèi)型進(jìn)行分析,可包括公有鏈、私有鏈、聯(lián)盟鏈。其中,公有鏈不具備中心化管理組織鏈條節(jié)點(diǎn),可自由出入?yún)^(qū)塊鏈整體網(wǎng)絡(luò);而私有鏈主要是應(yīng)用于政府機(jī)構(gòu)網(wǎng)絡(luò)結(jié)構(gòu)構(gòu)建,私有鏈節(jié)點(diǎn),可實(shí)現(xiàn)統(tǒng)一由官方管控這一效果,鏈條算法由統(tǒng)一組織確認(rèn);而聯(lián)盟鏈?zhǔn)悄軌蚣鎮(zhèn)涔墟満退接墟湋?yīng)用特征與優(yōu)勢(shì)的鏈條結(jié)構(gòu)[3]。
此系統(tǒng)基本結(jié)構(gòu)包括管控云平臺(tái)各節(jié)點(diǎn)物聯(lián)網(wǎng)智能終端設(shè)備以及區(qū)塊鏈整體網(wǎng)絡(luò)。其中,管控云平臺(tái)主要功能集中在,對(duì)智能設(shè)備進(jìn)行決策和指令發(fā)布,整體展示操作也可實(shí)現(xiàn)可視化。管控平臺(tái)中,還包括一部分運(yùn)營(yíng)商平臺(tái)、第三方應(yīng)用平臺(tái)、統(tǒng)一管理平臺(tái)等分布式平臺(tái)。聯(lián)動(dòng)性平臺(tái)設(shè)置結(jié)構(gòu)也從側(cè)面反映出物聯(lián)網(wǎng)平臺(tái)系統(tǒng)全面性與復(fù)雜性?;A(chǔ)管控平臺(tái)與智能設(shè)備進(jìn)行聯(lián)動(dòng)應(yīng)用時(shí),需經(jīng)過(guò)身份驗(yàn)證與力量協(xié)商過(guò)程。這能夠有效保證會(huì)話(huà)內(nèi)容安全系統(tǒng)智能設(shè)備主要功能集中在實(shí)現(xiàn)數(shù)據(jù)信息采集計(jì)算與處理,并將計(jì)算結(jié)果上報(bào)至管控云平臺(tái)中。在與云平臺(tái)通訊之前,身份認(rèn)證與密鑰協(xié)商過(guò)程也必不可少,同時(shí),此設(shè)備還能接收?qǐng)?zhí)行管控平臺(tái)下一步的指令操作。智能設(shè)備基本類(lèi)型包括濕度光感、風(fēng)感物聯(lián)網(wǎng)設(shè)備。在本文研究的系統(tǒng)結(jié)構(gòu)中,通信模塊選取NB35-A,基站數(shù)據(jù)傳輸依托NB-IoT 實(shí)現(xiàn)基站數(shù)據(jù)傳輸。本次研究的智能設(shè)備選用智能路燈。
在本系統(tǒng)研究中主要選擇聯(lián)盟鏈結(jié)構(gòu)進(jìn)行應(yīng)用,基本鏈條結(jié)構(gòu)中包括云平臺(tái)、運(yùn)營(yíng)商、第三方應(yīng)用平臺(tái)、統(tǒng)一管理平臺(tái)以及可管控的低級(jí)設(shè)備與高級(jí)設(shè)備等。上述平臺(tái)共同參與聯(lián)盟鏈管理。在共識(shí)機(jī)制選擇上,本文研究選擇DPOS 改進(jìn)共識(shí)機(jī)制,利用其吞吐總量較高的基本優(yōu)勢(shì),保障去中心化物聯(lián)網(wǎng)環(huán)境穩(wěn)定運(yùn)行。物聯(lián)網(wǎng)安全通信系統(tǒng)設(shè)計(jì)與開(kāi)發(fā)平臺(tái)為Hyperledger Fabric。Fabric 應(yīng)用于聯(lián)名鏈平臺(tái)比較常見(jiàn),具有吞吐總量高、共識(shí)機(jī)制效率高、隱私性強(qiáng)、擴(kuò)展性和靈活性高這幾方面基礎(chǔ)優(yōu)勢(shì),對(duì)于物聯(lián)網(wǎng)設(shè)備場(chǎng)景適用性也相對(duì)更強(qiáng)。結(jié)合此架構(gòu)設(shè)計(jì),可規(guī)劃出適合本門(mén)研究物聯(lián)網(wǎng)的安全通信系統(tǒng)設(shè)計(jì)架構(gòu)。按照應(yīng)用層、合約層、數(shù)據(jù)存儲(chǔ)層、數(shù)據(jù)傳輸層、感知層進(jìn)行整體架構(gòu)劃分。具體系統(tǒng)架構(gòu)圖如圖1 所示。
圖1 系統(tǒng)總體架構(gòu)圖Fig.1 Overall system architecture diagram
2.3.1 區(qū)塊鏈信息初始化環(huán)節(jié)
基礎(chǔ)設(shè)備在出廠階段,需進(jìn)行身份信息以及公共參數(shù)預(yù)設(shè)置,這些數(shù)據(jù)信息都會(huì)直接反映在區(qū)塊鏈區(qū)域設(shè)備身份信息。若進(jìn)一步細(xì)分,可包括身份ID、身份公共密鑰哈希鏈、臨時(shí)密鑰哈希鏈。不同類(lèi)型結(jié)構(gòu),需要通過(guò)相應(yīng)算法生成對(duì)應(yīng)信息。而云平臺(tái)身份密鑰哈希鏈,則主要取決于身份公共密鑰鏈條以及共享公共簽名鏈條,信息初始節(jié)點(diǎn)生成和數(shù)據(jù)維護(hù)均需要借助上述信息進(jìn)行參考確認(rèn),在確認(rèn)基礎(chǔ)數(shù)據(jù)信息結(jié)構(gòu)后,才能夠?yàn)閿?shù)據(jù)信息拓展研究提供支持。
2.3.2 身份認(rèn)證與密鑰協(xié)商環(huán)節(jié)
身份認(rèn)證與密鑰協(xié)商主要需借助云平臺(tái),從云平臺(tái)中選擇初始可信節(jié)點(diǎn),對(duì)設(shè)備進(jìn)行身份認(rèn)證,身份認(rèn)證過(guò)程需借助計(jì)算機(jī)驗(yàn)證。具體認(rèn)證步驟是在設(shè)備入網(wǎng)階段實(shí)施認(rèn)證。這一階段,需要進(jìn)行入網(wǎng)流程的合理規(guī)劃,具體包括了設(shè)備信息初始化、身份ID 確認(rèn)以及身份相關(guān)哈希鏈確認(rèn)。設(shè)備信息初始化環(huán)節(jié)中,主要要點(diǎn)在于設(shè)備身份信息以及設(shè)備功能投入時(shí)間、出產(chǎn)廠商等基本參數(shù),這些基礎(chǔ)信息都可借助設(shè)備內(nèi)部安全芯片達(dá)到加密存儲(chǔ)效果。關(guān)于身份ID 認(rèn)證,主要是指,在設(shè)備獨(dú)立結(jié)構(gòu)中,身份ID 都具有唯一性,是能夠識(shí)別其身份狀態(tài)的日志文件,能夠?qū)崿F(xiàn)對(duì)設(shè)備行為監(jiān)管追溯。這兩方面目標(biāo)同設(shè)備身份是否安全也可基于區(qū)塊鏈結(jié)構(gòu)與技術(shù)進(jìn)行分析研究[4]。關(guān)于哈希鏈確認(rèn),需借助計(jì)算公式達(dá)到預(yù)期目標(biāo)。以獨(dú)立哈希鏈行程流程分析可知,在具體確認(rèn)工作落實(shí)時(shí),設(shè)備會(huì)生成隨機(jī)數(shù)值命名為k,此數(shù)值經(jīng)過(guò)連續(xù)n 次基于哈希函數(shù)的運(yùn)算形成鏈條性計(jì)算結(jié)果及構(gòu)成哈希鏈。
在身份認(rèn)證階段需要模擬設(shè)置設(shè)備與云平臺(tái)之間的通信狀態(tài),在通信階段首要任務(wù)就是進(jìn)行身份認(rèn)證。不同設(shè)備與云平臺(tái)存在等級(jí)差異。本文假設(shè)由一級(jí)設(shè)備向二級(jí)設(shè)備云平臺(tái)發(fā)送身份認(rèn)證需求對(duì)身份認(rèn)證具體流程進(jìn)行分析。具體來(lái)說(shuō),身份認(rèn)證階段要點(diǎn)環(huán)節(jié)包括以下幾部分內(nèi)容。即身份認(rèn)證請(qǐng)求發(fā)送、哈希值計(jì)算、鏈上信息獲取、哈希值驗(yàn)證、下次認(rèn)證準(zhǔn)備工作。
其中,發(fā)送認(rèn)證請(qǐng)求階段需要設(shè)備向云平臺(tái)發(fā)送身份ID,將設(shè)備身份哈系列中的固定項(xiàng)發(fā)送給云平臺(tái)。
在哈希值計(jì)算環(huán)節(jié),需在云平臺(tái)收到設(shè)備發(fā)送的請(qǐng)求后,對(duì)哈希值進(jìn)行進(jìn)一步計(jì)算,得到相應(yīng)結(jié)果。若云平臺(tái)中存在攻擊者,會(huì)獲取設(shè)備身份哈希值數(shù)值,這一數(shù)值,可實(shí)現(xiàn)與其他設(shè)備正常通信。結(jié)合哈希值函數(shù)單向性特征,攻擊者即使獲取哈希值數(shù)值信息,也無(wú)法獲取設(shè)備所發(fā)出的具體數(shù)據(jù)信息。同時(shí),云平臺(tái)完成認(rèn)證后,并不會(huì)將設(shè)備身份信息向設(shè)備返回發(fā)送,起到保護(hù)隱私作用。
關(guān)于鏈上信息獲取環(huán)節(jié)需要云平臺(tái)從認(rèn)證區(qū)塊鏈區(qū)域借助設(shè)備身份ID 查詢(xún)核心數(shù)值信息。由于云平臺(tái)屬于一級(jí)設(shè)備鏈上節(jié)點(diǎn),可在本設(shè)備數(shù)據(jù)中直接顯示查詢(xún)數(shù)值信息,可見(jiàn),信息獲取便捷性更強(qiáng)。
關(guān)于哈希值驗(yàn)證環(huán)節(jié)是指,在云平臺(tái)數(shù)據(jù)信息比對(duì)環(huán)節(jié)要保證計(jì)算值與查詢(xún)值相一致。若兩者不相等,則由云平臺(tái)發(fā)出安全警報(bào)信息,身份認(rèn)證從此截止。若兩者相等,身份驗(yàn)證視為成功,整體系統(tǒng)運(yùn)行進(jìn)入下一步驟。
最后進(jìn)入二次認(rèn)證準(zhǔn)備環(huán)節(jié)。在第二次認(rèn)證準(zhǔn)備環(huán)節(jié)設(shè)備,會(huì)向區(qū)塊鏈認(rèn)證網(wǎng)絡(luò)申請(qǐng)將具體計(jì)算數(shù)值上傳到區(qū)塊鏈結(jié)構(gòu)中。上傳申請(qǐng)?zhí)岢龊?,鏈條上達(dá)到50%的節(jié)點(diǎn)同意上傳,就會(huì)最終達(dá)成上傳操作。這一環(huán)節(jié)中,需借助共識(shí)機(jī)制進(jìn)行基礎(chǔ)判定。同意上傳后,設(shè)備信息以及時(shí)間戳信息都會(huì)直接顯示在區(qū)塊鏈認(rèn)證網(wǎng)絡(luò)中,設(shè)備身份認(rèn)證在后續(xù)執(zhí)行時(shí)就能做好充分準(zhǔn)備。完成身份認(rèn)證后,需進(jìn)一步基于雙棘輪算法進(jìn)行會(huì)話(huà)密鑰,以及下次雙極輪算法進(jìn)行數(shù)據(jù)計(jì)算。
系統(tǒng)實(shí)現(xiàn)研究中需分別從開(kāi)發(fā)環(huán)境、硬件結(jié)構(gòu)、Fabric環(huán)境構(gòu)建、系統(tǒng)展示等幾方面進(jìn)行。
開(kāi)發(fā)環(huán)境分析從本質(zhì)上來(lái)說(shuō),是對(duì)系統(tǒng)應(yīng)用的有效篩選。本文研究中,主要選取Ubuntu18.04 系統(tǒng)。不同鏈條節(jié)點(diǎn)上還需分配相應(yīng)具備計(jì)算存儲(chǔ)能力的硬件,并應(yīng)用Open SSL 接口,實(shí)現(xiàn)加密系統(tǒng)環(huán)境配置,具體信息如表1 所示。
表1 開(kāi)發(fā)環(huán)境配置信息統(tǒng)計(jì)表Tab.1 Statistical table of development environment configuration information
硬件設(shè)備選擇需結(jié)合運(yùn)行環(huán)境以及功能需求進(jìn)行合理選擇。小熊派開(kāi)發(fā)板、搭載匹配傳感器,擴(kuò)展板以及通信擴(kuò)展板,是本次設(shè)計(jì)系統(tǒng)的基本硬件結(jié)構(gòu)。能夠完成信息采集數(shù)據(jù)、上報(bào)數(shù)據(jù)接收指令、提出以及指令執(zhí)行幾方面基本功能。開(kāi)發(fā)版基本結(jié)構(gòu)包括CPU 存儲(chǔ)系統(tǒng)、顯示屏、外擴(kuò)Flash 動(dòng)畫(huà)顯示、供電系統(tǒng)、SD 卡傳感器、通信系統(tǒng)等模塊。
此環(huán)境主要發(fā)揮物聯(lián)網(wǎng)安全通信系統(tǒng)中的存儲(chǔ)功能,負(fù)責(zé)對(duì)系統(tǒng)各參與者身份進(jìn)行存儲(chǔ),并同步具備查詢(xún)功能。系統(tǒng)結(jié)構(gòu)中,網(wǎng)絡(luò)由虛擬節(jié)點(diǎn)共同構(gòu)成虛擬節(jié)點(diǎn)在服務(wù)器中的有效融合搭載。服務(wù)器通過(guò)虛擬機(jī)創(chuàng)建多個(gè)超級(jí)賬本節(jié)點(diǎn),達(dá)到聯(lián)盟鏈搭建目標(biāo)。此種環(huán)境搭建具有穩(wěn)定性強(qiáng)、節(jié)點(diǎn)共識(shí)機(jī)制運(yùn)行良好的基本優(yōu)勢(shì)。在實(shí)踐應(yīng)用中,采用Docker 容器作為合約運(yùn)行環(huán)境,在容器安裝完成后,需進(jìn)一步進(jìn)行壓縮文件解壓和向虛擬機(jī)中的復(fù)制。
綜合本文實(shí)踐分析可知,基于區(qū)塊鏈以及Sianal 物聯(lián)網(wǎng)安全通信系統(tǒng)設(shè)計(jì)需通過(guò)開(kāi)發(fā)環(huán)境構(gòu)建硬件設(shè)計(jì)、軟件設(shè)計(jì)、關(guān)鍵認(rèn)證體系規(guī)劃等多環(huán)節(jié)協(xié)同作用達(dá)到優(yōu)化設(shè)計(jì)目標(biāo)。同時(shí),還應(yīng)當(dāng)對(duì)系統(tǒng)運(yùn)行安全狀態(tài)基于密鑰技術(shù)和協(xié)商技術(shù),同步發(fā)揮出對(duì)系統(tǒng)進(jìn)行安全保障的作用。
數(shù)字技術(shù)與應(yīng)用2023年4期