陳 琳,宋 震,張志勇,王志搏,閆國星,鄭明慧,朱佳文,陳 都
(中國船舶集團有限公司第七一四研究所,北京100101)
物聯(lián)網(wǎng)的發(fā)展無疑加速了數(shù)字化車間時代的到來,工業(yè)物聯(lián)網(wǎng)控制已成為一個熱門問題。工業(yè)物聯(lián)網(wǎng)在遠(yuǎn)程監(jiān)控,信息收集和減少人力[1]等方面具有巨大優(yōu)勢。因此,它已被廣泛應(yīng)用于智能電網(wǎng)[2],智能工廠[3]等物聯(lián)網(wǎng)控制情景中。工業(yè)物聯(lián)網(wǎng)控制系統(tǒng)實現(xiàn)了遠(yuǎn)程設(shè)備與控制端之間的雙向通信,可以對分散式基礎(chǔ)設(shè)施進行集中監(jiān)控。
不同的工業(yè)物聯(lián)網(wǎng)系統(tǒng)具有不同的角色和功能。例如,監(jiān)督控制和數(shù)據(jù)采集(SCADA)系統(tǒng)已被廣泛應(yīng)用于智能電網(wǎng)和數(shù)字油田[4]。然而,在諸如數(shù)字化智能工廠的場景中,海量數(shù)據(jù)和復(fù)雜的管理邏輯使得數(shù)據(jù)通常由第三方云進行初步分析和處理,然后轉(zhuǎn)發(fā)給相應(yīng)的企業(yè)或用戶[5]。
分散的基礎(chǔ)架構(gòu)和多樣化的應(yīng)用程序需求明顯增加了工業(yè)物聯(lián)網(wǎng)系統(tǒng)中數(shù)據(jù)泄露的風(fēng)險。然而,工業(yè)企業(yè)和工業(yè)數(shù)據(jù)通信協(xié)議的設(shè)計者并未對潛在的安全問題給予足夠的重視[6]。工業(yè)物聯(lián)網(wǎng)是典型的高風(fēng)險行業(yè),許多數(shù)據(jù)管理和消息傳輸模塊卻遭受內(nèi)部人員或外部人員的密集攻擊[7]。常見工業(yè)物聯(lián)網(wǎng)協(xié)議,如Modbus,BACnet,MQTT[8],并非為數(shù)據(jù)安全性而設(shè)計,通常存在缺少身份驗證,數(shù)據(jù)機密性、數(shù)據(jù)完整性檢查和其他問題,這使得工業(yè)通信數(shù)據(jù)容易受到竊聽,身份欺詐和其他攻擊。Zolanvari等[9]專門分析了工業(yè)物聯(lián)網(wǎng)場景下主流協(xié)議的脆弱性和可能引起的攻擊。
面對脆弱的工業(yè)物聯(lián)網(wǎng)協(xié)議,業(yè)內(nèi)已經(jīng)做出了一些努力,提出了新協(xié)議來保護硬件安全性或保證數(shù)據(jù)完整性,但這仍然不足以解決問題。與智能家居和其他物聯(lián)網(wǎng)平臺不同,太多的應(yīng)用場景和通信協(xié)議加劇了工業(yè)物聯(lián)網(wǎng)平臺中嚴(yán)重且廣泛的安全風(fēng)險。提出的一些方案通過采用加密策略來實現(xiàn)物聯(lián)網(wǎng)平臺中的隱私保護和需求聚合[10],但是通常是根據(jù)特定的場景設(shè)計的,這使得這些解決方案主要是孤立和分散的。很少有工作能夠大規(guī)模解決工業(yè)物聯(lián)網(wǎng)平臺的常見數(shù)據(jù)安全問題,這意味著定制的安全要求大大提高了不同平臺的部署成本和難度。因此,本文提出一種可以廣泛解決不同工業(yè)物聯(lián)網(wǎng)平臺所面臨的數(shù)據(jù)安全風(fēng)險的解決方案。
本文對不同類型的工業(yè)物聯(lián)網(wǎng)控制場景進行深入分析,設(shè)計了一種通用的安全方案來保護工業(yè)物聯(lián)網(wǎng)控制中的數(shù)據(jù)安全。首先分析工業(yè)物聯(lián)網(wǎng)場景所面臨的風(fēng)險,包括工業(yè)物聯(lián)網(wǎng)協(xié)議的不安全性,弱密碼安全配置,內(nèi)部攻擊的可能性,不安全的遠(yuǎn)程支持以及云的不可靠性。然后針對上述攻擊,將不同的工業(yè)通信場景抽象為一個通用模型,并提出了在該模型下應(yīng)達(dá)到的安全要求。最后,使用基于身份的可分組條件代理重新加密技術(shù)[11],構(gòu)造一個通用安全技術(shù)方案。結(jié)果表明,該方案能夠以較低的開銷實現(xiàn)智能控制的數(shù)據(jù)安全性。本文研究總結(jié)如下:
1)新模型。
將不同的通信模型抽象為一個統(tǒng)一的通用模型。工業(yè)物聯(lián)網(wǎng)平臺的安全性取決于環(huán)境、協(xié)議、設(shè)備,這使得保護數(shù)據(jù)安全性的現(xiàn)有努力通常僅限于特定情況。這不能滿足工業(yè)物聯(lián)網(wǎng)平臺復(fù)雜和廣泛使用環(huán)境的需求。本文的工作使設(shè)計技術(shù)方案來保護各種工業(yè)物聯(lián)網(wǎng)平臺的數(shù)據(jù)安全成為可能。
2)全面的風(fēng)險分析。
從內(nèi)到外探索導(dǎo)致大多數(shù)工業(yè)物聯(lián)網(wǎng)平臺的數(shù)據(jù)泄露風(fēng)險。協(xié)議風(fēng)險:通信協(xié)議漏洞。用戶使用:弱密碼和內(nèi)部攻擊造成的安全風(fēng)險。外部風(fēng)險:第三方平臺和基礎(chǔ)架構(gòu)脆弱的外部接口的安全風(fēng)險。
3)新技術(shù)方案。
提出一種通用安全技術(shù)方案,該技術(shù)方案可以實現(xiàn)身份認(rèn)證,數(shù)據(jù)機密性和數(shù)據(jù)的細(xì)粒度分布,滿足當(dāng)前的工業(yè)控制安全需求。本文評估了該方案在實際場景中的性能,結(jié)果表明額外增加的開銷可以忽略不計。
由于覆蓋范圍廣、安全性較低,工業(yè)物聯(lián)網(wǎng)控制系統(tǒng)在遭受攻擊后通常會造成巨大的損失。Pollet等[12]對SCADA,EMS,DCS,AM I和智能電網(wǎng)系統(tǒng)進行了100多次安全評估,其中SCADA相關(guān)安全事件的主要原因是企業(yè)IT網(wǎng)絡(luò)流量和第三方網(wǎng)絡(luò)互連。首次引入工業(yè)物聯(lián)網(wǎng)協(xié)議時,工業(yè)物聯(lián)網(wǎng)系統(tǒng)的安全性不是問題。結(jié)果,諸如MODBUS,Ethernet / IP,DNP 317和iso-tsap之類的通用協(xié)議在運行時不提供機密性、身份驗證或數(shù)據(jù)完整性,從而使其容易受到各種攻擊[13]。為了解決工業(yè)物聯(lián)網(wǎng)控制系統(tǒng)中的安全問題,已經(jīng)提出了許多解決方案。Sun等[14]開發(fā)了一種網(wǎng)絡(luò)物理監(jiān)視系統(tǒng)(CPMS),用于檢測智能電表入侵和不良數(shù)據(jù)注入攻擊。Celik等[15]引入了SAINT,這是一種用于物聯(lián)網(wǎng)應(yīng)用程序的靜態(tài)污染分析工具,用于評估物聯(lián)網(wǎng)設(shè)備的安全性和隱私風(fēng)險,但不能保證鏈接上數(shù)據(jù)的安全性。Mahmood等[16]提出一種基于Diffie-Hellman的混合輕量級認(rèn)證方案,并確保了消息的完整性,但沒有考慮中間節(jié)點的安全性。Lin等[17]提出了一種基于區(qū)塊鏈的安全雙向認(rèn)證系統(tǒng)BSeIn來實現(xiàn)細(xì)粒度的訪問控制策略,但是BSeIn的開銷在大多數(shù)工業(yè)物聯(lián)網(wǎng)控制系統(tǒng)中都不能忽略。Saxena等[18]提出了一種智能電網(wǎng)的認(rèn)證和授權(quán)方案,可以有效地防止對不同設(shè)備的各種內(nèi)部和外部攻擊。但是,由于弱口令攻擊和其他問題,該方案無法有效識別受攻擊的惡意設(shè)備。
大量工業(yè)物聯(lián)網(wǎng)系統(tǒng)根據(jù)功能需求和場景使用專有的通信協(xié)議。有數(shù)十種常見的工業(yè)物聯(lián)網(wǎng)協(xié)議,適用于不同的工業(yè)物聯(lián)網(wǎng)控制場景。常見的工業(yè)物聯(lián)網(wǎng)控制系統(tǒng)可以大致分為兩類:一類是以智能電網(wǎng)和數(shù)字油田為代表的SCADA系統(tǒng);另一類是以智能工廠為代表的基于云平臺的工業(yè)物聯(lián)網(wǎng)控制系統(tǒng)。
通常,SCADA系統(tǒng)中有2個主要角色,即中心和外圍設(shè)備。外圍設(shè)備是數(shù)據(jù)持有者,通常是基礎(chǔ)結(jié)構(gòu)。在數(shù)字油田的情況下,外圍設(shè)備是油井。為了確保油井的正常運行,在油井中分布了大量傳感器,用于感測現(xiàn)場數(shù)據(jù)。此外,采集現(xiàn)場的每個基礎(chǔ)設(shè)施還配備有PLC和RTU,用于將電信號轉(zhuǎn)換為數(shù)字信號,處理數(shù)據(jù)和控制設(shè)備。中心是數(shù)據(jù)請求者或命令啟動器??刂破骱捅O(jiān)控中心之間的數(shù)據(jù)交互通常通過無線網(wǎng)絡(luò)傳輸。通常情況下,監(jiān)控中心對監(jiān)控工作進行統(tǒng)一管理,權(quán)限分配給不同的運營商,對不同地區(qū)的基礎(chǔ)設(shè)施進行監(jiān)督。圖1為SCADA系統(tǒng)的體系結(jié)構(gòu)。
圖1 SCADA系統(tǒng)的體系結(jié)構(gòu)Fig.1 SCADA System Architecture
智能工廠和智能家居設(shè)備的運行是典型的基于云的工業(yè)物聯(lián)網(wǎng)控制系統(tǒng)。智能工廠利用物聯(lián)網(wǎng)技術(shù)和設(shè)備監(jiān)控技術(shù)來加強信息管理和服務(wù),實現(xiàn)車間的無人管理。如圖2所示,不同車間中的每條裝配線都配備有車間控制器,負(fù)責(zé)發(fā)布車間生產(chǎn)條件并接收指令。因為有許多從事工業(yè)生產(chǎn)的公司,無法實現(xiàn)集中管理。因此,車間控制器連接到云,而云連接到公司網(wǎng)絡(luò)。云執(zhí)行數(shù)據(jù)的初步處理和分析,并將數(shù)據(jù)交付給相應(yīng)的公司和車間進一步處理。
圖2 基于云的工業(yè)物聯(lián)網(wǎng)控制系統(tǒng)的架構(gòu)Fig. 2 Cloud-based industrial IoT control system architecture
SCADA系統(tǒng)中的基礎(chǔ)設(shè)備通常較弱,并且需要在現(xiàn)場配備數(shù)據(jù)采集和控制設(shè)備。但是,基于云的工業(yè)物聯(lián)網(wǎng)控制系統(tǒng)增加了云,從而將一些計算任務(wù)轉(zhuǎn)移到云中,從而減輕了監(jiān)控中心的負(fù)擔(dān)。
大多數(shù)工業(yè)物聯(lián)網(wǎng)協(xié)議僅設(shè)計為考慮不同的應(yīng)用場景、功能要求和運營效率,而沒有考慮安全問題。作為行業(yè)標(biāo)準(zhǔn)協(xié)議,Modbus還存在以下問題:
1)缺乏身份證明。這意味著攻擊者只需找到有效地址即可建立Modbus會話。
2)缺少授權(quán)。這意味著用戶之間沒有分類,用戶權(quán)限也沒有劃分,這大大增加了內(nèi)部攻擊的可能性。
3)缺乏數(shù)據(jù)加密機制。數(shù)據(jù)以純文本格式傳輸,因此攻擊者很容易攔截和解析數(shù)據(jù)。
由于工業(yè)物聯(lián)網(wǎng)協(xié)議太多,無法通過統(tǒng)一的協(xié)議修改方式來解決這些安全問題。
由于缺乏網(wǎng)絡(luò)安全意識,各個行業(yè)中的設(shè)備普遍存在弱密碼配置,大部分路由器、網(wǎng)關(guān)和設(shè)備都配置有默認(rèn)密碼和空密碼[19]。
在具有大量基礎(chǔ)設(shè)施、工業(yè)控制路由器、PLC、RTU、HM I應(yīng)用軟件等的工業(yè)物聯(lián)網(wǎng)控制系統(tǒng)中,此問題更為嚴(yán)重。由于這些設(shè)備分散且無法在物理級別受到保護,因此這意味著弱密碼問題無疑是工業(yè)物聯(lián)網(wǎng)控制系統(tǒng)中的漏洞[20]。本文實際調(diào)查了采用工業(yè)物聯(lián)網(wǎng)控制系統(tǒng)的6家公司的23種設(shè)備和應(yīng)用,其中18種設(shè)備使用弱密碼或空密碼,結(jié)果如表1所示。
表1 弱密碼設(shè)備的統(tǒng)計信息Tab.1 Statistics of weak password devices
數(shù)據(jù)流經(jīng)無線網(wǎng)絡(luò)并到達(dá)公司的局域網(wǎng)后,將其堆積在數(shù)據(jù)的臨時存儲區(qū)中,等待相應(yīng)的監(jiān)視器提取并處理。但是,如圖3所示,現(xiàn)有的工業(yè)物聯(lián)網(wǎng)協(xié)議沒有設(shè)置用戶權(quán)限的劃分,并且很少有公司網(wǎng)絡(luò)預(yù)先劃分?jǐn)?shù)據(jù),這意味著局域網(wǎng)中的所有用戶都可以訪問任何基礎(chǔ)設(shè)施信息。
實際上,不同組的操作員處理來自不同區(qū)域的設(shè)備的消息。未經(jīng)授權(quán),不得訪問其他設(shè)備信息。另外,由于內(nèi)部網(wǎng)絡(luò)中存在打印機和路由器等低安全性設(shè)備,攻擊者也可以通過攻擊低安全性設(shè)備來讀取內(nèi)部網(wǎng)絡(luò)的數(shù)據(jù)。
圖3 內(nèi)部攻擊模式。Fig.3 Internal attack model
許多工業(yè)物聯(lián)網(wǎng)控制系統(tǒng)利用云來進行初步的數(shù)據(jù)分析,并傳輸?shù)较鄳?yīng)的設(shè)備和用戶,以實現(xiàn)高效的數(shù)據(jù)管理。但是,工業(yè)物聯(lián)網(wǎng)控制系統(tǒng)中的數(shù)據(jù)未加密,這意味著在云中存儲和處理的數(shù)據(jù)是明文。因此,作為第三方平臺,云可以獲取流經(jīng)它的所有私有數(shù)據(jù)。由云數(shù)據(jù)泄露引起的企業(yè)損失案件數(shù)量逐年增加,已逐漸成為網(wǎng)絡(luò)社區(qū)關(guān)注的關(guān)鍵安全問題之一。
設(shè)計目標(biāo)是抵御上文定義的4種可能的攻擊,而又不影響系統(tǒng)的功能和性能。由于工業(yè)物聯(lián)網(wǎng)控制系統(tǒng)通?;诓煌膮f(xié)議,因此本文方案不能基于特定的通信協(xié)議。設(shè)計目標(biāo)如下:
1)抵抗竊聽攻擊。在數(shù)據(jù)通信過程中,可以防止攻擊者從信道竊聽并竊取任何明文信息。
2)認(rèn)證??梢詫崿F(xiàn)通信雙方的身份認(rèn)證,并確保通信雙方都是合法的設(shè)備或用戶。
3)細(xì)粒度的訪問控制。可以對不同用戶的訪問權(quán)限進行細(xì)化劃分(例如配置者,不同操作員的權(quán)限等),以確保不同操作員在未經(jīng)授權(quán)的情況下無法獲取其他設(shè)備的隱私信息。
4)基于不受信任的云。云可以完成數(shù)據(jù)的基本處理和轉(zhuǎn)發(fā),但不能窺探任何明文信息。
5)保證性能。安全方案不會產(chǎn)生過多的性能和時間開銷。
為了設(shè)計適用于各種工業(yè)物聯(lián)網(wǎng)控制系統(tǒng)的通用方案,將這些應(yīng)用場景抽象為一個統(tǒng)一的模型,該模型分為設(shè)備層,數(shù)據(jù)轉(zhuǎn)發(fā)層和數(shù)據(jù)處理層,如圖4所示。
1)設(shè)備層。
圖4 工業(yè)物聯(lián)網(wǎng)控制系統(tǒng)的通用模型。Fig. 4 Universal control system model of industrial IoT
在SCADA系統(tǒng)(數(shù)據(jù)采集與監(jiān)視控制系統(tǒng))或基于云的工業(yè)物聯(lián)網(wǎng)控制系統(tǒng)中,某些基礎(chǔ)設(shè)施無法獨立處理消息,因此需要PLC(可編程邏輯控制器)和RTU(遠(yuǎn)程終端控制系統(tǒng))分析數(shù)據(jù)包或轉(zhuǎn)換信號。其他基礎(chǔ)架構(gòu)可以自己完成此操作。因此,將采集或控制設(shè)備及基礎(chǔ)設(shè)施統(tǒng)一到設(shè)備層中,該層負(fù)責(zé)響應(yīng)來自數(shù)據(jù)請求者的消息。
2)數(shù)據(jù)轉(zhuǎn)發(fā)層。
在SCADA系統(tǒng)中,數(shù)據(jù)通過網(wǎng)絡(luò)通信到達(dá)上位計算機,然后傳遞到監(jiān)視中心。在基于云的工業(yè)物聯(lián)網(wǎng)控制系統(tǒng)中,云負(fù)責(zé)將數(shù)據(jù)從不同的車間轉(zhuǎn)發(fā)到不同的公司。將負(fù)責(zé)這些工作的角色定義為數(shù)據(jù)轉(zhuǎn)發(fā)層。
3)數(shù)據(jù)處理層。
在任何系統(tǒng)中,都有向基礎(chǔ)結(jié)構(gòu)發(fā)出控制命令的數(shù)據(jù)請求者或用戶,但是這些用戶的身份在不同情況下是不同的。具有高權(quán)限的用戶可以讀取所有數(shù)據(jù),并具有對所有設(shè)備的控制權(quán)限。不同類型的運營商對不同區(qū)域或不同類型的基礎(chǔ)結(jié)構(gòu)具有控制權(quán)。將這些具有不同權(quán)限的用戶定義為數(shù)據(jù)處理層。
1)初始化。
特權(quán)最高的用戶H首先將密鑰作為可信用戶分發(fā)給運營商和基礎(chǔ)架構(gòu)。具體來說,H首先運行 Setup功能來生成系統(tǒng)公鑰PK和主密鑰MK。基于每個基礎(chǔ)架構(gòu)和用戶的ID,使用 KeyGen為其生成私鑰SK,并通知每個基礎(chǔ)架構(gòu)和用戶SK和PK。在這一點上,每個用戶和基礎(chǔ)結(jié)構(gòu)都有其自己的公鑰-私鑰對。
由于不同區(qū)域的基礎(chǔ)架構(gòu)由不同的操作組管理,因此H在初始化階段需要為不同區(qū)域的基礎(chǔ)架構(gòu)配置訪問控制權(quán)限。具體地,以A組為例,H首先為A組定義條件集CA={t,IDA},以限制A組成員可以訪問XA的 時間。將條件集簽名并加密為IDXA[σH(CA),PK],然后將其發(fā)送到基礎(chǔ)結(jié)構(gòu) XA。基礎(chǔ)結(jié)構(gòu)XA使用私鑰解密和驗證簽名以獲得條件集CA, 該條件集CA被設(shè)置為加密默認(rèn)條件集。同時,H使用組A和組A中所有用戶的身份信息執(zhí)行I BE.ReKeyGen1和 IBE.ReKeyGen1,并為組A和組A的每個成員生成重加密密鑰RK,然后加密并發(fā)送到數(shù)據(jù)轉(zhuǎn)發(fā)層。數(shù)據(jù)轉(zhuǎn)發(fā)層解密并記錄RK。H對所有基礎(chǔ)結(jié)構(gòu)進行類似處理后,即可完成初始化。
2)運行。
在實施該方案時,本文需要考慮將基礎(chǔ)結(jié)構(gòu)發(fā)送數(shù)據(jù)到一個組,臨時用戶申請對基礎(chǔ)結(jié)構(gòu)的訪問等。分3類總結(jié)實施該計劃可能發(fā)生的情況。
1)運營商A1訪問/控制基礎(chǔ)結(jié)構(gòu)XA。本文記錄來自操作員A1的訪問請求或控制命令為m。A1首先用他的私鑰S KA1簽 名m,以獲得 σA1(m),然后在消息中添加標(biāo)識IDA1,再使用基礎(chǔ)結(jié)構(gòu)的公鑰對消息進行加密。已獲取并發(fā)送給XA。XA收到消息后,首先使用其私鑰解密消息,如果有錯誤,則輸出錯誤符號。之后,XA用IDA1驗證簽名,并證明該消息來自合法的操作員A1,并且如果簽名驗證成功,則接收指令/數(shù)據(jù)請求消息m。本文記錄XA返回給運算符A1的數(shù)據(jù)M。XA使用 IBE.Enc函數(shù)對其進行加密。由于A1來自默認(rèn)組,因此條件集采用默認(rèn)條件集CA。該ID設(shè)置為IDA1, {CTIBE,A1,XA}被發(fā)送到消息轉(zhuǎn)發(fā)層。消息轉(zhuǎn)發(fā)層調(diào)用 IBE.ReEnc1,并根據(jù)目標(biāo)用戶A1查詢對應(yīng)的RK。如果可以成功生成CT′IBE,則表示重新加密成功,并且 {CT′IBE,A1,XA}發(fā)送到A1。當(dāng)A1收到密文時,它將調(diào)用I BE.Dec2 以從XA獲取消息M。
2)操作組A訪問/控制基礎(chǔ)結(jié)構(gòu)XA。與第一種情況類似,不同之處在于消息轉(zhuǎn)發(fā)層中使用了IBE.ReEnc2函數(shù)來生成信息 CT′IBBE,A組的所有成員都可以解密該信息。A組的任何成員在解密時都調(diào)用 IBBE.Dec2以恢復(fù)明文。
3)操作員B1訪問/控制基礎(chǔ)結(jié)構(gòu)XA。為了實現(xiàn)靈活的權(quán)限控制,本文需要在工業(yè)物聯(lián)網(wǎng)控制過程中考慮對用戶的臨時授權(quán)。本文的方案在這種情況下工作,如圖5所示。
圖5 臨時授權(quán)用戶控制接口Fig.5 Temporarily authorized user infrastructure
操作員B1本 人無權(quán)訪問XA,這是在初始化期間設(shè)置好的。因此,當(dāng)B1需要訪問或控制XA時,他首先需要向最高授權(quán)用戶H提出請求。本文將m定義為B1申 請XA的控制權(quán)限的信息,m中包括控制時間,控制設(shè)備,控制范圍等。B1對m進行簽名和加密,并將IDH[σB1(m),IDB1]發(fā)送給H。在H解密并驗證信息源之后,如果H同意此授權(quán),那么他將根據(jù)申請信息m,為用戶B1生 成條件集CB和控制權(quán)限L。條件集CB包含B1設(shè) 備訪問的時間和范圍。H對CB和L進行簽名和加密,然后將IDB1[σH(CB,L),IDH] 返回給B1。然后,H需要重新調(diào)用I BE.ReKeyGen1, 將ID'設(shè)置為IDB1,將C設(shè)置為CB,生成RK,并將其發(fā)送到消息轉(zhuǎn)發(fā)層進行簽名后進行存儲。B1通過解密接收到的授權(quán)密文以獲 得 σH(CB,L) 。在B1得 到 授 權(quán)之后,操作 員B1的訪問請求或控制指令將記錄為m。B1用 他的私鑰S KB1簽名m以獲得 σB1(m) 并在消息中 添 加IDB1,CB。然后B1使用XA的公鑰加密消息,獲得σH(CB,L),IDH],XA} 并將其發(fā)送到XA。收到消息后,XA使 用私鑰對其進行解密。如果解密成功,則XA使用IDH和IDB1來驗證簽名。如果所有身份驗證均成功,則證明該消息確實來自新授權(quán)的用戶B1。若m是控制命令,則XA查看控制權(quán)限L以確定控制命令是否在權(quán)限中。若m是訪問指令,則使用IBE.Enc函數(shù)對訪問結(jié)果m進行加密。由于B1是新授權(quán)的用戶,因此將條件集設(shè)置為CB,將目標(biāo)用戶設(shè)置為B1。XA將 {CTIBE,B1,XA} 發(fā)送到消息轉(zhuǎn)發(fā)層。消息轉(zhuǎn)發(fā)層根據(jù)B1對應(yīng)的RK調(diào) 用 IBE.ReEnc1 。如 果可以成 功 生 成 CT′IBE,則說明重新加密成功,同時說明 {CT′IBE,B1,XA}也已經(jīng)成功發(fā)送給B1。 B1收 到密文后,將調(diào)用 IBE.Dec2以從XA獲取消息M。
1)安全的初始化環(huán)境?;A(chǔ)架構(gòu)和方案的初始化安全性非常重要。本文應(yīng)該確保在初始化階段安全地傳輸密鑰信息和身份信息。許多情況下都假定安全初始化過程是安全的,但這不是事實,這就是對稱密鑰不能直接應(yīng)用于密鑰協(xié)商情況的原因。如果初始化不安全,則不能保證系統(tǒng)運行時安全性。
2)基礎(chǔ)架構(gòu)不應(yīng)在本地存儲太多數(shù)據(jù)?;A(chǔ)架構(gòu)分布在遙遠(yuǎn)的外圍,因此很難統(tǒng)一維護和管理。每個基礎(chǔ)結(jié)構(gòu)被破壞的可能性取決于環(huán)境,與外部網(wǎng)絡(luò)的連接性等,因此無法輕松保證其安全性。如果基礎(chǔ)設(shè)施長時間存儲數(shù)據(jù)或存儲大量關(guān)鍵信息,則可以獲得更多的隱私信息,這對于工業(yè)物聯(lián)網(wǎng)控制系統(tǒng)是不利的。
3)不同的安全等級。不同的工業(yè)物聯(lián)網(wǎng)控制系統(tǒng)對安全性有不同的要求??梢钥紤]使用校驗碼來檢查數(shù)據(jù)完整性,并增強基礎(chǔ)結(jié)構(gòu)本身的安全性,以滿足不同的安全性要求。另外,對于計算能力較弱的基礎(chǔ)架構(gòu),還可以使用混合加密來增加對稱加密在總加密時間內(nèi)的比例,以減輕基礎(chǔ)架構(gòu)的負(fù)擔(dān)。還可以考慮可選的安全級別。本文根據(jù)實際需要選擇不同的加密算法,以實現(xiàn)安全性和性能之間的平衡。
本文討論了不同類型的工業(yè)物聯(lián)網(wǎng)控制系統(tǒng)及其面臨的挑戰(zhàn),并詳細(xì)分析工業(yè)物聯(lián)網(wǎng)控制系統(tǒng)的安全威脅。由于工業(yè)物聯(lián)網(wǎng)控制系統(tǒng)的多樣性以及所使用協(xié)議的復(fù)雜性,現(xiàn)有工作無法為其提供通用的安全機制。因此,本文將不同的工業(yè)物聯(lián)網(wǎng)控制系統(tǒng)抽象為一個通用模型,并定義了工業(yè)物聯(lián)網(wǎng)控制系統(tǒng)應(yīng)滿足的安全要求。基于此通用模型和基于身份的可分組條件代理重新加密,設(shè)計一種安全高效的方案來保護工業(yè)物聯(lián)網(wǎng)控制系統(tǒng)中的數(shù)據(jù)。從理論上證明了本文方案可以有效地防止本文定義的4種攻擊。在評估性能時,本文方案僅引入了最小的開銷。本文總結(jié)了用戶的經(jīng)驗和方案設(shè)計思想,為探索安全高效的工業(yè)物聯(lián)網(wǎng)控制系統(tǒng)方案提供了啟發(fā)。