陳慶龍 石春花 郝文延
(長治醫(yī)學(xué)院附屬和平醫(yī)院 長治 046000)
物聯(lián)網(wǎng)(Internet of Things,IoT)是物理設(shè)備網(wǎng)絡(luò),包括嵌入式傳感、處理和通信技術(shù),主要通過互聯(lián)網(wǎng)收集和傳輸感官數(shù)據(jù)。隨著異構(gòu)技術(shù)的進步,物聯(lián)網(wǎng)應(yīng)用迅速發(fā)展,包括智能城市、醫(yī)療、家居、農(nóng)業(yè)、教育、食品工業(yè)等領(lǐng)域[1-2]。在醫(yī)療保健領(lǐng)域引入物聯(lián)網(wǎng)應(yīng)用有可能徹底改變行業(yè),如果實現(xiàn)醫(yī)療保健系統(tǒng)各實體之間的集成連接以及準(zhǔn)確和及時的互操作,大量敏感醫(yī)療數(shù)據(jù)將得以共享并具有即時可訪問性?;谖锫?lián)網(wǎng)的醫(yī)療保健網(wǎng)絡(luò)數(shù)據(jù)容易受到未經(jīng)授權(quán)訪問和其他惡意活動攻擊[3-4]。由于物聯(lián)網(wǎng)醫(yī)療設(shè)備有資源限制,傳統(tǒng)加密技術(shù)如高級加密標(biāo)準(zhǔn)(Advanced Encryption Standard,AES)和不對稱密碼演算法 (Rivest-Shamir-Adleman,RSA)不適合保護大量敏感醫(yī)療數(shù)據(jù)。所以輕量級加密算法被用于物聯(lián)網(wǎng)醫(yī)療保健應(yīng)用中,從而降低時間復(fù)雜度[5]并在安全性和服務(wù)之間進行了權(quán)衡。然而由于物聯(lián)網(wǎng)醫(yī)療技術(shù)的異構(gòu)性和動態(tài)環(huán)境攻擊者仍然可以發(fā)布各種威脅,系統(tǒng)容易受到數(shù)據(jù)竊取和篡改。實時分布式安全方法(如基于區(qū)塊鏈的方法)成為一種有前景的替代方法,可有效應(yīng)對物聯(lián)網(wǎng)醫(yī)療系統(tǒng)中的各種隱私、安全和認(rèn)證挑戰(zhàn)。
Holochain是一種新興技術(shù),它提供一種開源的分布式網(wǎng)絡(luò)基礎(chǔ)設(shè)施,可以在不繼承區(qū)塊鏈等巨大存儲和數(shù)據(jù)交換需求的情況下進行安全通信[6]。Holochain通過結(jié)合兩種底層技術(shù)執(zhí)行任務(wù):分布式哈希表(Distributed Hash Table,DHT)和哈希鏈。分布式哈希表關(guān)注的是數(shù)據(jù)傳播問題,而哈希鏈用以保持?jǐn)?shù)據(jù)完整性。Holochain旨在構(gòu)建完全分布式的網(wǎng)絡(luò),DHT可以在物聯(lián)網(wǎng)醫(yī)療網(wǎng)絡(luò)中實現(xiàn)和使用,用于在每個節(jié)點中存儲轉(zhuǎn)換數(shù)據(jù)鏈,以確?;贖olochain的網(wǎng)絡(luò)自治性[7]。本文針對應(yīng)用安全和隱私問題,基于Holochain的物聯(lián)網(wǎng)醫(yī)療方法提出一種低復(fù)雜性、高安全性的區(qū)塊鏈替代方案。
區(qū)塊鏈?zhǔn)且环N以數(shù)據(jù)為中心的分布式安全方法,其主要目的是在網(wǎng)絡(luò)中所有授權(quán)用戶之間創(chuàng)建一個單一的共享數(shù)據(jù)塊。數(shù)據(jù)大小將隨著每個交易涉及的網(wǎng)絡(luò)實體數(shù)量增加而增加并且不可擴展。相反每個Holochain應(yīng)用程序由一個代理維護,該代理可以獨立參與數(shù)據(jù)加密,將交易存儲在Holochain網(wǎng)絡(luò)的唯一源鏈中并與對等代理共享所需數(shù)據(jù),這種以代理為中心的Holochain方法具有高度可擴展性。
Holochain將數(shù)字簽名和DHT相結(jié)合,可以作為區(qū)塊鏈的有效替代方案,以改善分布式對等網(wǎng)絡(luò)(Peer-to-Peer,P2P)中信息檢索的性能。Holochain網(wǎng)絡(luò)中的每個代理都在本地存儲其單獨數(shù)據(jù)。在物聯(lián)網(wǎng)網(wǎng)絡(luò)中,由于內(nèi)存和計算能力有限制,許多設(shè)備使用霧節(jié)點或云來存儲其數(shù)據(jù)庫。然而每個代理都能夠計算各自的哈希值并使用DHT與其他對等方共享敏感醫(yī)療數(shù)據(jù)。相反區(qū)塊鏈網(wǎng)絡(luò)所有對等點存儲的是無法區(qū)分的傳輸副本,這需要節(jié)點之間進行更多通信交換。此外每個實體都需要額外帶寬,會顯著增加網(wǎng)絡(luò)帶寬消耗并影響可擴展性。在Holochain中代理不需要與網(wǎng)絡(luò)所有其他節(jié)點共享各自交易信息,可以顯著減少網(wǎng)絡(luò)中的帶寬需求量和流量。
在區(qū)塊鏈中礦工負(fù)責(zé)通過解決數(shù)學(xué)問題以驗證新交易。任何網(wǎng)絡(luò)節(jié)點都可以充當(dāng)?shù)V工并隨時啟動挖掘。例如有20個網(wǎng)絡(luò)節(jié)點,其中10個節(jié)點開始挖掘以驗證交易,最早找到數(shù)學(xué)問題解決方案的節(jié)點將驗證交易。礦工可以與其他節(jié)點協(xié)同工作,同時進行挖掘。Holochain允許各節(jié)點驗證其自身交易,在將交易信息與某些其他預(yù)先確定信息一起發(fā)送給它們時,允許具有預(yù)定距離的鄰居節(jié)點對該交易進行2次驗證[8]。只有少數(shù)節(jié)點保留交易副本,因此內(nèi)存空間和信息交換量明顯低于區(qū)塊鏈。
與區(qū)塊鏈不同,Holochain不需要全球共識機制。Holochain旨在為每個用戶或1組用戶提供自主權(quán),這些用戶可以在不需要任何全局協(xié)商一致的情況下驗證交易[9],見圖1。顯然Holochain比區(qū)塊鏈效率更高。為驗證交易,區(qū)塊鏈將當(dāng)前交易發(fā)送到所有節(jié)點以存儲完整節(jié)點信息,而Holochain只需要幾個參與運行同一應(yīng)用程序的主機驗證當(dāng)前交易,不需要全局一致性。此外驗證過程、數(shù)據(jù)所有權(quán)和網(wǎng)絡(luò)治理僅由代理和創(chuàng)建者管理。在某些情況下可能用于驗證節(jié)點或交易的數(shù)據(jù)本身沒有被授權(quán),為解決此問題可使用哈希指紋幫助檢測交易身份驗證[10]。
圖1 區(qū)塊鏈和Holochain交易驗證流程
區(qū)塊鏈固有屬性之一是所有節(jié)點中具有相同交易信息,以便在整個哈希樹中提供數(shù)據(jù)完整性。在許多實際應(yīng)用中1個特定用戶數(shù)據(jù)可能不會引起其他人興趣,但區(qū)塊鏈網(wǎng)絡(luò)強制所有用戶存儲所有信息,增加數(shù)據(jù)處理時間和內(nèi)存空間[11]。鑒于許多物聯(lián)網(wǎng)醫(yī)療設(shè)備都是輕量級,這不利于其設(shè)計目標(biāo)的實現(xiàn)。在Holochain中只有一些選定代理會存儲數(shù)據(jù)以確保數(shù)據(jù)完整性和本地存儲交易,節(jié)省內(nèi)存和處理時間。
由于區(qū)塊鏈技術(shù)監(jiān)控和存儲連接到網(wǎng)絡(luò)中每個節(jié)點上的所有交易,隨著用戶數(shù)量增加網(wǎng)絡(luò)負(fù)載迅速增加,導(dǎo)致大規(guī)模網(wǎng)絡(luò)中效率低下[12-13]。如果1個網(wǎng)絡(luò)由100個節(jié)點組成,由于每個交易都增加數(shù)據(jù)冗余和時間復(fù)雜度,網(wǎng)絡(luò)效率將降低100倍。相反 Holochain處理任務(wù)只是線性升級并在網(wǎng)絡(luò)其他節(jié)點之間分配處理負(fù)載。如果1個Holochain網(wǎng)絡(luò)包含100個代理,整個網(wǎng)絡(luò)負(fù)載將被分配到100個節(jié)點,每個節(jié)點只處理總交易的一小部分,大多數(shù)節(jié)點將節(jié)省大量網(wǎng)絡(luò)效率。實現(xiàn)比特幣結(jié)構(gòu)的區(qū)塊鏈網(wǎng)絡(luò)的平均時間復(fù)雜度[14-15]為:
Ωblockchain∈O(n2*m)
(1)
其中,n為節(jié)點數(shù),m為所需的網(wǎng)絡(luò)交易數(shù)量。Holochain方法的平均時間復(fù)雜度為:
ΩHolochain∈O(m*(log(n)+c))
(2)
其中,c為應(yīng)用程序特定的復(fù)雜度參數(shù)。
利用上述時間復(fù)雜度定義可比較分析區(qū)塊鏈和Holochain網(wǎng)絡(luò)的時間復(fù)雜度與節(jié)點數(shù),見圖2。區(qū)塊鏈網(wǎng)絡(luò)時間復(fù)雜度隨節(jié)點數(shù)增加呈指數(shù)級增長[16-17],而Holochain網(wǎng)絡(luò)平均時間復(fù)雜度隨節(jié)點數(shù)的增加在很大程度上保持不變。
圖2 區(qū)塊鏈和Holochain網(wǎng)絡(luò)時間復(fù)雜度
提出一種基于Holochain的新型智能物聯(lián)網(wǎng)醫(yī)療系統(tǒng),該系統(tǒng)保證了嚴(yán)格的數(shù)據(jù)完整性和高水平網(wǎng)絡(luò)安全性。提出的物聯(lián)網(wǎng)醫(yī)療保健模型由4個層次組成:感知層、網(wǎng)絡(luò)層、云層或處理層、應(yīng)用層,見圖3。
圖3 物聯(lián)網(wǎng)醫(yī)療體系結(jié)構(gòu)分層協(xié)議和技術(shù)
魯棒信任評估系統(tǒng)僅用于從授權(quán)用戶收集數(shù)據(jù)。基于Holochain的物聯(lián)網(wǎng)醫(yī)療方法將患者、醫(yī)生、醫(yī)務(wù)人員、技術(shù)專家、護士以及感知層中的醫(yī)療設(shè)備等各種醫(yī)療實體互連,醫(yī)療保健系統(tǒng)的每個實體都可能發(fā)生多個事件,通過1組獨特的、基于邏輯的規(guī)則來使用這些應(yīng)用程序,以提供特定服務(wù),見圖4。
圖4 基于Holochain的物聯(lián)網(wǎng)醫(yī)療體系結(jié)構(gòu)
感知層負(fù)責(zé)感知和收集必要信息,如患者醫(yī)療數(shù)據(jù)[18]。物聯(lián)網(wǎng)節(jié)點通過以太網(wǎng),IEEE802系列,無線傳感器網(wǎng)絡(luò)(Wireless Sensor Network,WSN),全球定位系統(tǒng)(Global Positioning System,GPS),無線HART和藍牙等各種協(xié)議感知、收集并傳輸數(shù)據(jù)。
接收來自感知層的轉(zhuǎn)發(fā)醫(yī)療數(shù)據(jù),這些醫(yī)療數(shù)據(jù)是由各種應(yīng)用程序處理的用于IP尋址的信息。該層使用各種常見協(xié)議,如IPV4、IPV6、IPSec、ICMP等多種通用協(xié)議,確保可靠的傳輸路徑。網(wǎng)絡(luò)層使用路由器、網(wǎng)關(guān)、基站、主站、集線器、交換機、藍牙和WiFi等異構(gòu)設(shè)備和技術(shù)處理交易并提供服務(wù)。這一層對數(shù)據(jù)包進行處理后將可信信息傳輸給上層云層,云層負(fù)責(zé)以分布式方式管理IoT節(jié)點之間可信值的存儲和共享。
由于物聯(lián)網(wǎng)設(shè)備資源有限,敏感醫(yī)療數(shù)據(jù)可以存儲在云端,授權(quán)方(如醫(yī)生、保險公司、醫(yī)務(wù)人員、藥房等)可以方便地共享醫(yī)療數(shù)據(jù)?;颊呒捌渌麑嶓w可以將醫(yī)療數(shù)據(jù)存儲在云中并與授權(quán)對等方共享該數(shù)據(jù)以增強醫(yī)療保健服務(wù)的性能。傳輸控制協(xié)議(Transmission Control Protocol,TCP),用戶數(shù)據(jù)報協(xié)議(User Datagram Protocol,UDP),ML,數(shù)據(jù)分析和預(yù)測協(xié)議是該層的常用協(xié)議。為保證云層安全性和數(shù)據(jù)完整性,在云設(shè)備中使用分布式Holochain。
負(fù)責(zé)醫(yī)療數(shù)據(jù)的格式化和表示,這一層定義了1組用于傳輸醫(yī)療數(shù)據(jù)的規(guī)則。受限應(yīng)用協(xié)議(Constrained Application Protocol,CoAP),數(shù)據(jù)分發(fā)服務(wù)(Data Distribution Service,DDS),消息隊列遙測傳輸(Message Queueing Telemetry Transport,MQTT),可擴展消息傳遞和狀態(tài)協(xié)議(Extensible Messaging and Presence Protocol,XMPP),高級消息隊列協(xié)議(Advanced Message Queuing Protocol,AMQP)和超文本傳輸協(xié)議(Hyper Text Transfer Protocol,HTTP)是專用于應(yīng)用層的協(xié)議。應(yīng)用層通過與用戶直接通信提供基于應(yīng)用程序的服務(wù)。
分布式分類技術(shù)在整個網(wǎng)絡(luò)上以分布式方式復(fù)制、同步和傳輸醫(yī)療數(shù)據(jù)。Holochain是一種安全保護的分布式分類技術(shù),它實現(xiàn)了高級加密和加密貨幣概念,具有可靠、防篡改特點,能夠抵抗各種攻擊,例如拒絕服務(wù)(Denial of Service,DoS),假節(jié)點,中間人攻擊等[19]。智能醫(yī)療服務(wù)會處理大量用戶醫(yī)療數(shù)據(jù),由于物聯(lián)網(wǎng)醫(yī)療系統(tǒng)的異構(gòu)技術(shù),需要考慮安全漏洞[20]。
4.2.1 常用加密算法 使用物聯(lián)網(wǎng)中的醫(yī)療數(shù)據(jù),根據(jù)兩個關(guān)鍵性能指標(biāo)(Key Performance Indicator,KPI),即每比特的內(nèi)存使用量和CPU周期,評估和比較算法性能。同時還提供各種現(xiàn)有分布式分類技術(shù)針對KPI執(zhí)行的比較分析。其中AES和數(shù)據(jù)加密標(biāo)準(zhǔn)(Data Encryption Standard,DES)是兩種常用的對稱密鑰分組密碼算法,RSA是一種非對稱密鑰加密機制,能夠檢測并抵抗物聯(lián)網(wǎng)中的各種常見攻擊。泄漏提取(LEX)和光加密設(shè)備(LED)是AES的擴展版本。此外LEX是一種面向軟件的流密碼,使用遞歸過程修改AES密鑰流。LED更適用于硬件實現(xiàn),使用簡單的密鑰調(diào)度抵抗各種攻擊,尤其是LED-80。
4.2.2 輕量級分組密碼 如RC5和Salsa20。RC5在遞歸過程中利用可變數(shù)量的塊大小、密鑰大小和輪數(shù),這取決于微處理器功能。Salsa20利用64字節(jié)塊大小的散列和異或函數(shù)優(yōu)勢。由于相對較低的內(nèi)存需求,RC5和Salsa20更適合基于物聯(lián)網(wǎng)的醫(yī)療應(yīng)用。而SPECK和SIMON用于密鑰大小和塊大小可變的多塊密碼。使用SIMON和SPECK的基本優(yōu)勢是提高速度和內(nèi)存利用率,更適合輕量級醫(yī)療保健應(yīng)用程序。
4.2.3 物聯(lián)網(wǎng)現(xiàn)有加密機制比較分析 通過對現(xiàn)有物聯(lián)網(wǎng)安全機制性能比較分析可知,與其他密碼相比LEX的CPU速度最快。雖然AES和DES比SPECK略快,但就內(nèi)存使用而言,SPECK比AES和DES速度更快。綜合考慮各種安全機制性能,SIMON和SPECK在資源受限的物聯(lián)網(wǎng)中具有更好性能。
4.2.4 常用分布式分類技術(shù)物聯(lián)網(wǎng)安全性能比較分析 由于分布式分類技術(shù)功能不同于現(xiàn)有傳統(tǒng)加密機制,因此內(nèi)存需求比CPU周期更重要,軟件定義網(wǎng)絡(luò)(Software-Defined Networking,SDN)和區(qū)塊鏈混合技術(shù)能夠提供比傳統(tǒng)區(qū)塊鏈更好的性能。區(qū)塊鏈包括來自任何用戶的請求,但SDN確保安全連接并避免不必要請求,減少每個比特內(nèi)存和CPU周期。盡管這項技術(shù)在區(qū)塊鏈領(lǐng)域帶來新突破,但內(nèi)存需求和處理技術(shù)仍然是挑戰(zhàn)。Holochain和Holochain RSM(Holochain新版本)在物聯(lián)網(wǎng)等動態(tài)實時實現(xiàn)中減少大量數(shù)據(jù)處理和存儲負(fù)載,Holochain內(nèi)存利用率和速度遠(yuǎn)遠(yuǎn)優(yōu)于區(qū)塊鏈技術(shù)。
本文提出一種基于Holochain的分布式物聯(lián)網(wǎng)醫(yī)療應(yīng)用安全保護方案,該方案充分利用Holochain體系結(jié)構(gòu)和協(xié)議的固有自主性。與區(qū)塊鏈相比Holochain通過在用戶端運行應(yīng)用程序,將通信代理從任何形式的集中控制中解放出來,因此不存在故障中心點。由于用戶是主機,隨著更多代理使用應(yīng)用程序,主機和存儲可用性更強,負(fù)載也會變得更輕。一旦代理更改其應(yīng)用程序代碼,它們會有效地將自身從共享分布式分類技術(shù)空間中分離出來,進入完全不同的應(yīng)用程序。因此Holochain是分布式物聯(lián)網(wǎng)應(yīng)用中最有效的技術(shù)。比較分析性能結(jié)果表明與區(qū)塊鏈方案相比Holochain方法的時間和空間復(fù)雜度顯著降低,為大規(guī)模物聯(lián)網(wǎng)醫(yī)療系統(tǒng)實際部署提供前景?;贖olochain的技術(shù)將在確保下一代大規(guī)模部署通信模型的安全性和私密性方面發(fā)揮重要作用,因為該技術(shù)允許具有分散式體系結(jié)構(gòu)并且具有高可擴展性、輕量級、靈活性和透明性以及高安全性優(yōu)勢,可為5G或即將到來的6G標(biāo)準(zhǔn)中出現(xiàn)的高數(shù)據(jù)速率和低延遲通信系統(tǒng)提供支持。