余丹 尚志斌
摘 ? 要:文章從邊緣計(jì)算環(huán)境出發(fā),分析邊邊協(xié)同中端到端通信的可信及安全問題,提出了一種通過準(zhǔn)入認(rèn)證、訪問授權(quán)、端到端加密的可信安全通信方法。該方法基于集中管理、分布計(jì)算、端端協(xié)作的思想設(shè)計(jì),具有可信、安全、可管理等特點(diǎn),已經(jīng)得到了實(shí)際部署應(yīng)用。
關(guān)鍵詞:物聯(lián)網(wǎng);邊緣計(jì)算;端到端加密;身份驗(yàn)證;訪問授權(quán)
中圖分類號(hào): TP39 ? ? ? ? ?文獻(xiàn)標(biāo)識(shí)碼:B
Abstract: Around the edge computing environment, this paper analyzes the trustworthiness and security of end-to-end communication in edge computing cooperation. This paper presents a trusted and security communication method through access authentication, access authorization and end-to-end encryption. With the idea of centralized management, distributed computing and end-to-end cooperation, the method has the characteristics of trustworthiness, security and manageability in edge computing, and applied practically.
Key words: IOT; edge computing; end to end encryption; authentication; authorization
1 引言
邊緣計(jì)算是一種在物理上靠近數(shù)據(jù)源頭的網(wǎng)絡(luò)邊緣側(cè),融合網(wǎng)絡(luò)、計(jì)算、存儲(chǔ)、應(yīng)用核心能力的開放平臺(tái),就近提供邊緣智能服務(wù)的計(jì)算模式。邊緣計(jì)算發(fā)生的位置稱為邊緣結(jié)點(diǎn),它可以是數(shù)據(jù)產(chǎn)生源頭和云中心之間任一具有計(jì)算資源和網(wǎng)絡(luò)資源的結(jié)點(diǎn)。
隨著物聯(lián)網(wǎng)和5G的發(fā)展,邊緣計(jì)算在各行各業(yè)得到了廣泛的應(yīng)用。邊緣產(chǎn)生的海量數(shù)據(jù),被大量在邊緣部署的本地化應(yīng)用使用,邊邊協(xié)同讓邊緣計(jì)算發(fā)揮出更大的價(jià)值。但通過端到端通信實(shí)現(xiàn)的邊邊協(xié)同,在可信安全通信方面也面臨更大的挑戰(zhàn)。
相對(duì)于云端,邊緣計(jì)算端的設(shè)備/服務(wù)應(yīng)用面臨更多的安全問題。
(1)邊緣環(huán)境復(fù)雜,邊緣設(shè)備容易被入侵、被替換,導(dǎo)致設(shè)備身份難以確認(rèn)。
(2)邊緣與邊緣之間的訪問缺乏統(tǒng)一的授權(quán)機(jī)制,增加了訪問難度。
(3)缺乏可靠的身份驗(yàn)證以及訪問授權(quán),即使實(shí)現(xiàn)端到端加密也難保證訪問的可信度。
基于以上問題,本文提出了在邊緣環(huán)境中解決計(jì)算端身份確認(rèn),端到端訪問授權(quán)以及端到端加密的方案。
2 問題描述
本文描述的三個(gè)問題場(chǎng)景解釋為:
(1)證書獲取的問題
線上獲取證書,容易出現(xiàn)信息被泄漏盜取。邊緣計(jì)算使用單位需要線下獲得證書,這個(gè)過程需要通過系統(tǒng)的證書管理完成。
(2)準(zhǔn)入認(rèn)證的問題
邊緣計(jì)算設(shè)備獲得證書后,需要完成準(zhǔn)入認(rèn)證后才可以進(jìn)行通信。準(zhǔn)入認(rèn)證將完成設(shè)備注冊(cè),身份確認(rèn)以及與使用單位的歸屬關(guān)系。準(zhǔn)入認(rèn)證是設(shè)備可信的首要條件。
(3)安全通信
安全通信不只是加密。即便是已經(jīng)通過準(zhǔn)入認(rèn)證的設(shè)備在通信前還需要做身份確認(rèn)。是否可以訪問其他計(jì)算端還需要邊緣計(jì)算使用單位進(jìn)行訪問授權(quán)。只有得到授權(quán)后,端和端之間才能交換密鑰進(jìn)行加密通信。
3 一種端到端的可信和安全通信方案架構(gòu)
3.1 整體架構(gòu)
根據(jù)上文的描述,本文提出一種端到端的可信和安全通信方案整體架構(gòu),如圖1所示。
系統(tǒng)由管理層、通信層、邊緣層和計(jì)算層組成。管理層的任務(wù)是管理設(shè)備準(zhǔn)入、認(rèn)證設(shè)備身份、確定設(shè)備歸屬以及授權(quán)設(shè)備訪問。通信層架構(gòu)在現(xiàn)有通信網(wǎng)絡(luò)之上,利用現(xiàn)有網(wǎng)絡(luò)實(shí)現(xiàn)端到端通信。邊緣層架構(gòu)在使用者邊緣環(huán)境中,比如辦公室、車間等。計(jì)算層由邊緣層里具有計(jì)算及網(wǎng)絡(luò)能力的邊緣設(shè)備構(gòu)成,這些邊緣層的設(shè)備被稱為邊緣計(jì)算端或計(jì)算端。
系統(tǒng)體現(xiàn)了集中管理、分布計(jì)算、端端協(xié)作的思想,有效利用了邊緣計(jì)算環(huán)境的資源及優(yōu)勢(shì)。
3.2 系統(tǒng)組件
(1)證書管理
設(shè)備的準(zhǔn)入由證書管理實(shí)現(xiàn),只有獲得系統(tǒng)頒發(fā)證書的設(shè)備才可以進(jìn)入系統(tǒng)。證書管理同時(shí)配合計(jì)算端設(shè)備的加密芯片可以保證設(shè)備的可信度。
(2)身份管理
證書和設(shè)備綁定后,設(shè)備的身份將被確定。設(shè)備身份信息比如硬件信息、操作系統(tǒng)信息通常不會(huì)發(fā)生變化;如果發(fā)生變化將影響設(shè)備的可信度,身份管理將通知設(shè)備使用單位確認(rèn)變化。
(3)歸屬管理
計(jì)算端設(shè)備都會(huì)歸屬于某個(gè)使用單位,使用單位可以對(duì)設(shè)備進(jìn)行管理。
(4)訪問管理
計(jì)算端之間是否可以相互訪問,由訪問管理決定。只有使用單位在訪問管理中授權(quán),兩個(gè)計(jì)算端之間才可以互相訪問。
(5)計(jì)算端
使用加密芯片防止邊緣設(shè)備上的數(shù)據(jù)被篡改、被復(fù)制,保護(hù)設(shè)備安全。
(6)邊緣通信網(wǎng)絡(luò)
為端到端的通信提供通道。局域網(wǎng)和VPN都可以實(shí)現(xiàn)。目前有種新興應(yīng)用層隧道通信技術(shù)也可以實(shí)現(xiàn)邊緣通信網(wǎng)絡(luò),并且該技術(shù)完全在應(yīng)用層實(shí)現(xiàn),在應(yīng)用之間建立通信隧道。
4 一種端到端的可信安全通信具體方案
4.1 證書申請(qǐng)
邊緣計(jì)算使用單位,從證書管理中心申請(qǐng)計(jì)算端身份證書,并將證書歸屬到使用單位名下,同時(shí)保存證書公鑰的Hash值,在將來計(jì)算端身份驗(yàn)證時(shí),計(jì)算端和身份驗(yàn)證系統(tǒng)握手時(shí)使用。
4.2 證書導(dǎo)入
使用單位線下將計(jì)算端身份證書導(dǎo)入計(jì)算端,并存入加密芯片中。利用加密芯片的防復(fù)制防篡改的特性防止證書被盜用。
4.3 計(jì)算端準(zhǔn)入認(rèn)證
計(jì)算端準(zhǔn)入認(rèn)證分為三個(gè)階段:握手、注冊(cè)、綁定。
(1)握手階段。
步驟一:計(jì)算端發(fā)起連接,請(qǐng)求與身份管理系統(tǒng)握手。
步驟二:身份管理系統(tǒng)回應(yīng)一次性不會(huì)重復(fù)使用的握手密鑰給計(jì)算端。
步驟三:計(jì)算端將證書公鑰拼接握手密鑰后再Hash為握手響應(yīng)信息:
hash(證書公鑰+握手密鑰)=握手響應(yīng)信息
然后發(fā)送公鑰Hash及握手響應(yīng)信息給身份管理系統(tǒng):
negotiate(Hash(證書公鑰)+握手響應(yīng)信息)
步驟四:身份管理系統(tǒng)使用公鑰Hash作為索引獲得對(duì)應(yīng)的身份證書,再使用證書公鑰拼接握手密鑰Hash后與握手響應(yīng)信息對(duì)比:
match(hash(證書公鑰+握手密鑰),握手響應(yīng)信息)
如果結(jié)果不匹配將拒絕計(jì)算端認(rèn)證。
步驟五:身份管理系統(tǒng)使用證書私鑰加密握手密鑰產(chǎn)生握手確認(rèn)信息:
encrypt(證書私鑰, 握手密鑰) = 握手確認(rèn)信息
并發(fā)送給計(jì)算端。
步驟六:計(jì)算端使用公鑰解密握手確認(rèn)信息,并與握手密鑰對(duì)比:
match(decrypt(公鑰), 握手密鑰)
如果結(jié)果不匹配,計(jì)算端將拒絕注冊(cè)。
握手的目的是實(shí)現(xiàn)計(jì)算端和系統(tǒng)的雙向有效性驗(yàn)證,同時(shí)防止無效認(rèn)證及惡意認(rèn)證的行為。
(2)注冊(cè)階段
握手完成后,計(jì)算端將加密芯片ID、硬件系統(tǒng)信息、操作系統(tǒng)信息加密發(fā)給身份管理系統(tǒng):
encrypt(公鑰,[加密芯片ID,硬件系統(tǒng)信息,操作系統(tǒng)信息])=注冊(cè)信息
身份管理系統(tǒng)揭秘注冊(cè)信息并保存。
(3)綁定階段
由于加密芯片具有防侵入、防篡改、防復(fù)制的能力,身份管理系統(tǒng)會(huì)將加密芯片ID作為計(jì)算端ID與計(jì)算端綁定。而計(jì)算端通過身份證書與邊緣計(jì)算使用單位形成綁定管理。在之后的通信中,計(jì)算端ID可以當(dāng)做通信地址使用,使用單位可以通過訪問管理系統(tǒng)為抵制添加訪問策略及授權(quán)。
綁定完成后。使用端位可以在歸屬管理系統(tǒng)解除綁定關(guān)系,這樣計(jì)算端將無法通信,必須重新獲得證書,并在此完成準(zhǔn)入認(rèn)證。準(zhǔn)入認(rèn)證結(jié)束后,計(jì)算端的可信度得到保證。
4.4 安全通信
端到端的安全通信將完成四個(gè)階段。
(1)訪問授權(quán)
如果有A端訪問B端:
步驟一:A端與訪問管理系統(tǒng)之間完成握手,握手的機(jī)制與準(zhǔn)入認(rèn)證的握手機(jī)制相同。
步驟二:A端加密B端的ID產(chǎn)生訪問權(quán)限請(qǐng)求信息:
encrypt(A端公鑰, B端ID) = 訪問權(quán)限請(qǐng)求信息
A端發(fā)給訪問權(quán)限請(qǐng)求信息給訪問管理系統(tǒng)。
步驟三:訪問管理系統(tǒng)解密訪問權(quán)限請(qǐng)求信息,并查找A端到B端的權(quán)限。如未授權(quán),拒絕A端訪問B端。
步驟四:如有權(quán)限,訪問管理系統(tǒng)將產(chǎn)生一次性不會(huì)重復(fù)使用的握手密鑰。并將此握手密鑰與A端的ID一起用B端的私有加密發(fā)送給B端:
encrypt(B端公鑰, [A端ID,握手密鑰])
= B端訪問握手預(yù)備信息
再用A端的私鑰加密握手密鑰:
encrypt(A端公鑰,握手密鑰) = A端訪問握手預(yù)備信息
發(fā)送給A端。
步驟五:A端收到A端訪問握手預(yù)備信息后解密,將A端ID、B端ID、訪問握手密鑰一起Hash:
hash(A端ID、B端ID、訪問握手密鑰)=訪問握手碼
然后將訪問握手碼發(fā)送給B端。B端收到訪問握手碼后,用從訪問管理系統(tǒng)收到的B端訪問握手信息里的A端ID、訪問握手密鑰和B端ID一起進(jìn)行Hash并與從A端收到的訪問握手碼比對(duì):
match(hash(A端ID、B端ID、訪問握手密鑰), 訪問握手碼)
如果匹配失敗,B端拒絕A端訪問。如果匹配成功,B端回應(yīng)訪問握手確認(rèn)碼:
hash(B端ID、A端ID、訪問握手密鑰)= 訪問握手確認(rèn)碼
A端收到訪問握手確認(rèn)信息,將本端信息Hash后與之比較:
match(hash(B端ID、A端ID、訪問握手密鑰), 訪問握手確認(rèn)碼)
如果匹配A端將開始與B端建立安全通道,否則A端將中斷連接。
(2)二次身份驗(yàn)證
訪問握手確認(rèn)后,A/B端相互交換密鑰建立安全通道。
步驟一:A端為此次通信產(chǎn)生一對(duì)臨時(shí)的公鑰/私鑰,并將臨時(shí)公鑰發(fā)送給B端。
步驟二:B端收到A端的臨時(shí)公鑰后,首先也為端為此次通信產(chǎn)生一對(duì)臨時(shí)的公鑰/私鑰,然后使用A端臨時(shí)公鑰加密訪問握手碼進(jìn)行二次身份驗(yàn)證碼:
encrypt(A端臨時(shí)公鑰, 訪問握手碼)=二次身份驗(yàn)證碼
并將B端的臨時(shí)公鑰與二次身份驗(yàn)證碼發(fā)送給A端:
exchange(B端的臨時(shí)公鑰, 二次身份驗(yàn)證碼)
步驟三:A端收到B端的臨時(shí)公鑰及二次身份驗(yàn)證碼后,首先校對(duì)二次身份驗(yàn)證碼:
match(decrypt(A端臨時(shí)私鑰, 二次身份驗(yàn)證碼),訪問握手碼)
如果匹配不成功,A端將中斷連接。如果匹配成功,A端使用B端臨時(shí)公鑰加密訪問握手確認(rèn)碼進(jìn)行二次身份驗(yàn)證確認(rèn):
encrypt(B端臨時(shí)公鑰, 訪問握手確認(rèn)碼)=二次身份驗(yàn)證確認(rèn)碼
并將二次身份驗(yàn)證確認(rèn)碼發(fā)送給B端。
步驟四:B端收到二次身份驗(yàn)證確認(rèn)碼后,對(duì)二次身份驗(yàn)證確認(rèn)碼進(jìn)行校驗(yàn):
match(decrypt(B端臨時(shí)私鑰, 二次身份驗(yàn)證確認(rèn)碼),訪問握手確認(rèn)碼)
如果不匹配B端將拒絕A端訪問,如果匹配B端將與A端進(jìn)行通信密鑰交換。
(3)通信密鑰交換
B端產(chǎn)生對(duì)稱加密密鑰,并用A端臨時(shí)公鑰加密:
encrypt(A端臨時(shí)公鑰,對(duì)稱加密密鑰)=通信密鑰信息
然后發(fā)送給A端。A端收到通信密鑰信息后解密并保存。
(4)加密通信
A/B端使用雙方交換的對(duì)稱加密密鑰對(duì)通信數(shù)據(jù)進(jìn)行加密解密。
通信完畢,A/B斷開連接,雙方清除所有對(duì)方信息,等待下一次連接。
4.5 安全性總結(jié)
本研究從三個(gè)方面提升了邊緣計(jì)算環(huán)境中端到端通信的可信及安全。
(1)設(shè)備可信。使用加密芯片可以防止邊緣設(shè)備上的數(shù)據(jù)被篡改、被復(fù)制。同時(shí)設(shè)備被替換也很容易被識(shí)別出來。使用數(shù)字證書可以保證設(shè)備認(rèn)證時(shí)的數(shù)據(jù)真實(shí)性及可靠性。數(shù)字證書與安全芯片的綁定保證了設(shè)備的唯一可用性,這也提升了系統(tǒng)對(duì)邊緣設(shè)備的可信度。
(2)訪問可信。使用握手機(jī)制,確認(rèn)端的可信度,防止惡意連接及無效連接,同時(shí)避免了潛在的攻擊及入侵行為。訪問管理,使端到端的訪問需要先得到授權(quán)才能進(jìn)行連接,保證訪問的有效性,避免惡意訪問及未授權(quán)訪問。二次身份驗(yàn)證,防止計(jì)算端在完成訪問授權(quán)后被劫持,保證計(jì)算端的可信性。
(3)通信加密。端到端加密,保證了在整個(gè)通信過程中,數(shù)據(jù)不會(huì)泄漏,不會(huì)被篡改。
5 結(jié)束語
本文提出的方案不僅可以用在端到端的直連場(chǎng)景下,也是物聯(lián)網(wǎng)中心平臺(tái)的重要組成部分。在物聯(lián)網(wǎng)的應(yīng)用中經(jīng)常會(huì)出現(xiàn)平臺(tái)級(jí)聯(lián)中心點(diǎn)的場(chǎng)景,而基于本文提出的方法,可以將權(quán)限垂直管理,實(shí)現(xiàn)數(shù)據(jù)的扁平化傳輸,同時(shí)減少了系統(tǒng)總線帶寬,提高報(bào)警推送的實(shí)時(shí)性,減少由于多媒體流轉(zhuǎn)發(fā)需要大量的硬件資源投入。該技術(shù)方案已在國內(nèi)某安全可控物聯(lián)網(wǎng)平臺(tái)上部署實(shí)施,可復(fù)合多種通訊通道,提升通訊能力及可靠性,建立無樞紐無中心(亦即多樞紐多中心),具有自適應(yīng)、自修復(fù)的能力。
參考文獻(xiàn)
[1] N. Sammaknejad, Y. Zhao, and B. Huang, A review of the expectation maximization algorithm in data-driven process identi?cation[J].Journal of Process Control, 2019,73:123-136.
[2] Stinson D R. Cryptography-Theory and Practice[M].Boca Raton. Florida: CRC Press.1995.
[3] 盧明欣,來學(xué)嘉,肖國鎮(zhèn),等. 基于DNA技術(shù)的對(duì)稱加密方法[J]. 中國科學(xué):技術(shù)科學(xué), 2007, 37(2):175-182.
[4] Z. Li, Z. Yang, and S. Xie, Computing resource trading for edge-cloud-assisted internet of things[J]. IEEE Transactions on Industrial Informatics, 2019,15(6): 3661–3669.
[5] 趙梓銘,劉芳,蔡志平,等. 邊緣計(jì)算:平臺(tái)、應(yīng)用與挑戰(zhàn)[J].計(jì)算機(jī)研究與發(fā)展,2018,55(2):327-337.
[6] 呂華章,陳丹,范斌,等. 邊緣計(jì)算標(biāo)準(zhǔn)化進(jìn)展與案例分析[J].計(jì)算機(jī)研究與發(fā)展,2018,55(3):487-3351.
[7] L. Zhao, H. Huang, X. Li, S. Ding, H. Zhao, and Z. Han, An accurate and robust approach of device-free localization with convolutional autoencoder[J]. IEEE Internet of Things Journal, 2019,6(3): 5825–5840.