張澤林 王化群
(南京郵電大學計算機學院 南京 210023)
2020 年4 月,“新基建”被正式提出,工業互聯網技術越來越得到國家的重視,未來將成為國家經濟發展的重點,也是各國發展工業的新優勢.而隨著工業互聯網技術的發展,工業互聯網數據也迅速地增長,數據安全逐漸成為工業互聯網發展的重要保障[1].
本文主要針對鋼鐵生產中的智能設備點檢系統數據傳輸安全,傳統設備點檢工作主要是通過專業人員去現場實時采集數據、分析數據,發現問題通知專業設備人員進行處理,處理完畢再進行驗收反饋.點檢人員操作繁瑣,工作效率低;人工輸入數據,工作錯誤率高;各部門沒有有效的監督機制,容易出現遺漏;工作環境惡劣,容易出現燙傷、密閉空間窒息等安全隱患.智能點檢系統通過網絡傳輸信息,通過傳感器將設備運行狀態實時傳輸到服務器中,工作人員可以遠程實時查看設備運行數據.目前,智能點檢系統在某些鋼鐵企業得到應用,大量的信號采集,實時傳輸使得設備的可靠性以及生產的效率得到了顯著提升,尤其是點檢人員的點檢效率也得到了提高,及時發現并解決故障,使設備得到更長的使用壽命,預防了設備事故的發生.
由于智能點檢需要大量的傳感器,傳感器的數據需要進行整合分析上傳到服務器,并且傳感器設備之間也需要進行實時有效安全的傳輸數據.比如:點檢系統中涉及鐵水脫硫、混鐵爐、轉爐冶煉、吹氬、精煉以及連鑄等多個工序,工序之間的傳感器設備之間需要有效地及時信息交互,才能準確地判斷設備生產狀態.因此,數據安全是保障煉鋼點檢智能化發展的重要前提.與普通互聯網不同的是,一旦智能系統上的機密數據遭到泄露,可能將會導致企業失去核心競爭力,并且生產過程中的設備控制權限、狀態參數如果被不法分子截獲篡改,則會影響設備安全運行,導致嚴重的安全事故,危害國家安全、經濟發展以及社會穩定.
現在的工業現場通信面對大量的節點設備,需要建立安全可靠的信息傳輸.密鑰管理在工業互聯網中便起到了重要作用[2-3].近幾年,互聯網中的密鑰管理引起了眾多研究者的興趣.密鑰管理主要分為集中式密鑰管理和分布式密鑰管理2 種類型.
集中式密鑰管理即為由單一中心節點負責生成、分發和更新系統中節點所用的加密密鑰或者會話密鑰[4-8].Sun 等人在文獻[4]中提出了一種多組密鑰管理方案,實現了分層的組通信訪問控制.在文獻[5]中,Je 等人提出一種安全組播通信的密鑰樹管理協議以及一種高效計算存儲的密鑰樹結構;接著,馮力等人在文獻[6]中提出基于單項散列函數的多級密鑰管理方案,根據訪問控制矩陣實現安全高效的多密級授權訪問;然后,Gao 等人在文獻[7]中提出一種基于橢圓曲線的匿名多播方案,利用多項式進行分發,具有更高的效率.
分布式密鑰管理即為無單一中心節點,密鑰由所有成員共同管理[9-12].Lou 等人在文獻[9]中提出了一種基于區塊鏈的密鑰管理方案,解決通信實體之間缺乏信任的問題.Zhao 等人在文獻[10]中設計了一種輕量級高效可恢復的密鑰管理方案,用于保護醫療數據隱私信息.Lei 等人在文獻[12]中提出一種基于車聯網的組密鑰管理方案,利用區塊鏈實現了異構車輛通信系統中的分布式密鑰管理方案.
集中式密鑰管理方案的優點是較低的計算和傳輸的成本開銷.但是需要一個可信第三方來充當密鑰生成中心(key generation center,KGC),在注冊階段與每個用戶建立成對的共享密鑰.在組通信階段,由KGC 首先選擇生成組密鑰并通過共享密鑰加密后分發給每個組用戶.因此,需要可信第三方KGC 來保證通信系統的安全.但是,一旦KGC 被攻陷,則會導致整個通信系統的崩潰.在工業通信現場,任何節點隨時都有可能遭到攻擊,因此去中心化的密鑰管理方案是非常有必要的.
近幾年,隨著5G 技術的普及,工業互聯網中大多數應用程序都是將數據通過一個集中的云服務器進行存儲或者處理的.然而,集中處理的服務器對于大規模系統也存在著單個中心節點被攻陷的威脅.而且對于大型應用如煉鋼產業、車聯網等需要低延遲網絡通信來說,集中式密鑰管理方案可能并不是最優的.
利用邊緣計算結合區塊鏈則可以解決通信延遲的問題.邊緣節點一般具有較高的存儲以及計算能力,可以給較低存儲以及較低計算能力的傳感器節點提供低延遲的服務,并且可以為云服務器減少計算負擔[13].區塊鏈可以保證存儲數據的公開透明以及不可篡改.兩者相結合可以為工業互聯網提供更高的性能以及安全性[14-15].最近,新興的邊緣計算[16-17]以及區塊鏈技術[18]已經得到了廣泛的研究.Ning 等人在文獻[19]中提出在車聯網中部署高計算、高存儲的路邊單元(road side unit,RSU),實現車輛通過路邊單元進行高效的信息傳輸.Ning 等人在文獻[20]提出一種基于邊緣計算的5G 健康監測系統.在文獻[21]中,Yang 等人提出通過邊緣節點與云之間的相互交互來處理工業互聯網的大數據流;接著,Pan 等人在文獻[22]中設計了一種基于區塊鏈以及智能合約的邊緣物聯網框架,有效地將邊緣計算以及區塊鏈的優勢整合到了物聯網中.
本文通過引入區塊鏈技術結合邊緣計算,有效避免中心節點會被攻陷而產生的安全問題.通過使用二元多項式產生密鑰,保證較快的處理速度和時效性,并且能夠有效適應節點的出入,保證節點之間的有效通信與系統通信的安全性.
本文給出一種不同于傳統的新的訪問結構,使用非對稱雙變量多項式構建子份額,由初始元節點(一般選擇使用壽命長、工作環境較好、不會輕易下線的傳感器設備)共同產生多項式,而非單個中心節點產生,使每個節點有效獲得安全的子份額.在有節點丟失子份額時,可通過其他節點有效恢復子份額.非對稱雙變量多項式中雙變量中不同的階數提供不同的閾值,一方面保證在短時間大量節點加入時多項式密鑰的安全性;另一方面保證在穩定狀態,即無節點出入時期,能有效恢復份額,進行有效通信.而且,在新節點加入時,節點獲得的高閾值份額不能夠獲取其他節點的任何有效信息,但是仍能夠與已加入節點進行有效通信.
本文主要貢獻有3 個方面:
1)提出一種基于二元多項式的去中心化密鑰管理方案.節點的份額由二元多項式生成,具有較快的處理速度以及較低的存儲開銷,因為無需存儲大量成對的共享密鑰,只需要通過存儲二元多項式的系數即可.初始的二元多項式由所有元節點共同生成,并分發給其他普通節點,使密鑰管理具有去中心化特點.
2)通過閾值切換,有效抵御節點出入對通信系統的威脅.方案使用的是非對稱二元多項式,具有2個不同階數的變量,能夠有效地進行不同閾值的切換,提高通信系統的安全性.
3)利用區塊鏈技術以及Kate 承諾,實現安全的點對點通信以及多組通信.由于區塊鏈去中心化、不可篡改的特點,再結合Kate 承諾能夠保證節點之間更安全有效的信息交互.
區塊鏈[23]是一種去中心化、不可篡改的數字賬本.不同于傳統系統的中心化的特征,區塊鏈能夠在無信任環境下進行安全可驗證的交易計算.隨著區塊鏈的快速發展,區塊鏈在大數據、云計算等領域都得到了廣泛的應用.
目前,區塊鏈主要分為3 種鏈,分別是公有鏈、私有鏈以及聯盟鏈.在公有鏈上,各節點可以自由進出并且參與鏈上數據的讀寫;私有鏈必須得到授權的節點才能加入,讀寫權限也只能有選擇地開放;聯盟鏈是基于多個不同的機構共同管理的區塊鏈,數據只允許不同的機構進行讀寫.許多商業業務根據需求選擇使用不同的區塊鏈[24-25]來改善傳統信息化系統,通過區塊鏈保護用戶的密鑰以及敏感隱私數據.
Kate 承諾是Kate 等人[26]在2010 年提出的多項式承諾方案.
方案主要分4 個步驟:
1)Setup.選擇一個合適的雙線性對群組(p,G,GT,e,g),其中生 成元為G,配對函數e:G×G=GT,假設多項式最大階數為t,隨機選擇一個私鑰sk=s,則公鑰.將公鑰公開,并銷毀(遺忘)私鑰.
3)CreateWitness(φ(i),i,pk).計算目標 多項式x=i處的多項式值φ(i),并計算
設Wi=gω(s).其中Wi即為多項式φ(x) 在x=i處的證據.
4)VerifyEval(C,i,φ(i),Wi).輸入φ(i),承諾C以及證據Wi.驗證等式是否成立:
若等式成立,則承諾C所表示的多項式φ(x)在i處的值φ(i)是正確的.
其驗證的公式推導過程為:
Shamir 秘密分享[27]是基于多項式的可信第三方D在 Zq上生成的一個t?1階多項式f(x),并且令f(0)=s,其中s即為秘密并且s∈Zq.D生成不同的份額f(xi),i=1,2,…,n,其中xi是每個成員相應的公開信息.任意t個成員可通過拉格朗日插值法恢復秘密值,即.Shamir 秘密分享需要滿足2 個安全要求:1)擁有大于等于t個份額即可恢復秘密;2)擁有少于t個份額則不能夠獲得該秘密的任何信息.
本系統將需要通信的設備節點分為3 種:普通節點、元節點以及新節點,它們的關系如圖1 所示.
1)普通節點.所有分布在煉鋼產業線上點檢系統的傳感器.對現場的設備進行檢查、采集數據,并上傳到數據庫中.
2)元節點.從普通節點中選取的一部分(也可以是全部)作為元節點,一般選擇使用壽命長、工作環境較好、不會輕易下線的傳感器設備作為元節點.元節點需要互相合作生成初始的多項式,并將份額分發給其他所有節點,以達到節點之間互相通信的目的.本系統可容忍元節點為半誠實節點(honest-butcurious)(誠實且好奇的節點),即使部分元節點離線或者被攻陷,仍無法影響其他節點持有份額信息的安全以及通信系統的正常運作.
3)新節點.需要加入點檢系統的新的傳感器節點.新節點的加入需要一定數量的普通節點的幫助.如果普通節點的數量不夠,則全部的元節點也可以幫助新節點成功加入通信系統.
系統模型如圖1 所示.其中,低閾值份額與高閾值份額定義為:
1)低閾值份額.非對稱雙變量多項式中,2 個變量的階數分別為t,n′,滿足t 2)高閾值份額.與1)同理,當且僅當獲得n’階的份額時,即為高閾值份額. 首先,選取部分或者全部的傳感器節點作為元節點,多個元節點共同生成隨機多項式,并將低閾值份額發送給所有其他節點.其他節點收到并計算出自己相應的完整份額,并且不可能得知不屬于自己的份額信息.節點通過自己份額可計算出與其他節點的成對的共享密鑰,并按照約定通過共享密鑰進行點對點通信.其次,節點之間可以通過成對的共享密鑰協商組密鑰,并且通過區塊鏈上摘要來驗證發起者發送的組通信信息的正確性,進行安全的組通信.再次,新節點要加入時,需要一定數量的普通節點發送份額信息來幫助新節點獲得部分高閾值份額,并通過發送到區塊鏈上的承諾來驗證份額信息的正確性,進而計算出可與通信系統中的部分節點進行通信的新節點自己的部分份額,而加入期間獲得的部分高閾值份額保證通信系統可容忍較多節點同時加入且不影響通信系統安全.如果普通節點數量不夠,可通過所有的元節點發送信息獲得份額.最后,節點加入完畢后,一定數量的普通節點可幫助新節點恢復全部份額,進而新節點則成功加入通信系統與所有其他節點進行有效通信.如果普通節點數量不夠,則可通過所有元節點發送信息恢復全部份額. 本文方案使用的是端—邊—云的層次區塊鏈結構,如圖2 所示,系統總共包含3 層:設備層、邊緣區塊鏈層以及云區塊鏈層.具體描述為: 1)設備層.設備層一般包括各種各樣的基礎設備節點(例如工業計算機和邊緣路由器等),本文方案中主要包含普通節點以及元節點.將設備層部署在工業產業中,執行檢測、取樣等相關工作.由于計算以及存儲能力有限,可將節點之間密鑰協商所需要的驗證數據發送到邊緣層的邊緣節點中.邊緣層的存在使得設備區的節點查詢或者區塊鏈數據的上傳變得更加快捷方便. Fig.1 Dynamic key management model of industrial network based on blockchain圖1 基于區塊鏈的工業互聯網動態密鑰管理模型 Fig.2 Blockchain deployment structure圖2 區塊鏈部署結構 2)邊緣區塊鏈層.邊緣區塊鏈層是由大量的邊緣節點(如基站)組成,它們一般有著較大的存儲空間以及計算能力,接受設備層傳來的數據,并可以低延遲地對數據進行集合、封裝等相關處理.邊緣計算節點通常更靠近基礎設備節點,因此可有效降低通信時延,提高通信效率. 3)云區塊鏈層.云區塊鏈層借助其具有數據一致性以及防篡改的特點,保證信息的完整性、時序性.在本文方案中主要用于協助實現節點認證以及消息驗證等功能. 在工業互聯網環境中部署基于邊緣計算的層次區塊鏈,一方面,利用邊緣服務器固有的較高計算能力以及存儲空間,為基礎設備節點提供低延遲的服務,并為云服務器分擔計算負擔;另一方面,區塊鏈是可靠的分布式記賬本,通過共識機制來保證事務數據的不可篡改等特性. 本節提出的本文方案的安全需求具體描述為: 1)可防御性.任何時期,敵手攻陷低于一定數量的節點(包含部分元節點)時無法獲取任何其他節點的信息. 2)可恢復性.任何時期,有節點丟失份額時都可以通過其他節點幫助恢復原有份額信息. 3)保密性.組通信時期,只有組成員知道組密鑰并且知曉所有組內成員身份,組外成員無法得知密鑰以及組內成員的身份. 本文方案系統的閾值切換如圖3 所示,其中t 1)穩定期間即無節點出入期間,敵手最多可以攻陷t個節點(包含部分元節點),串通攻擊無法得知其他任何節點的份額信息. 2)節點出入期間,敵手最多可以攻陷n′個節點(包含部分元節點),串通攻擊依舊無法得知其他節點的份額信息. 3)即使敵手攻陷部分元節點,仍無法得到任何其他節點的份額信息. Fig.3 Schematic diagram of threshold switching圖3 閾值切換示意圖 本節主要提出適應工業互聯網動態節點的密鑰管理方案.方案分為4 個階段:密鑰生成、組密鑰協商、節點變更、份額恢復. 1)密鑰生成.無需單個中心節點,通過初始元節點共同生成二元多項式,并分發給所有節點,節點自行構建子份額.節點可以通過子份額得到節點之間成對的共享密鑰. 2)組密鑰協商.節點可以發起組通信,通過成對的共享密鑰進行組密鑰協商,利用區塊鏈實現可靠的組通信. 3)節點變更.當有節點加入時,可以容忍大量節點同時加入,不會危及到通信系統任何其他節點的密鑰安全,并且能及時與部分原有節點進行有效通信. 4)份額恢復.節點變更完畢,系統穩定以后,通過其他節點來恢復新加入節點的全部份額,保證新加入節點跟其他所有節點的有效通信. 具體結構為:令p是一個大素數,是節點成員集合,是新加入的節點成員.為了閱讀方便,在表1 總結了這些符號以及對應的描述. 1)選取{Pi}i∈[n]中部分節點{Pi}i∈[r](r≤n)為元節點,然后每個元節點Pi隨機生成一個非對稱雙變量多項式fi(x,y)=其中x的階數為t,y的階數為n′,ai,j∈GF(p),并且滿足t Table 1 Symbols and Their Descriptions表1 符號及其描述 2)Pi根據其他節點Pj相應的公開信息xj計算出fi(xj,y)以及fi(x,xj),其中滿足j∈[n]且j≠i.并將生成的子份額i≠j通過安全信道發送給相應的節點Pj. 3)Pj收到其他所有節點發送的子份額{fi(xj,y),首先檢查收到子份額是否滿足x的階數為t,y的階數為n′,若滿足,則繼續計算 其中F(xj,y)階數為n′,F(x,xj)階數為t.并根據Kate 承諾協議計算F(xj,y) 與F(x,xj)的承諾以及(計算方法參考1.2 節),將其上傳到區塊鏈上.然后生成一個隨機數rj,滿足rj≠0,并將隨機數rj廣播給其他成員. 4)每個節點Pi根據其他節點相應的公開信息xj,并通過持有的份額F(xi,y)以及F(x,xi),計算出ki,j=F(xi,xj)或者kj,i=F(xj,xi).ki,j,kj,i即為Pi與Pj的共享密鑰,并約定如果i 假設Pi要發起組密鑰通信,其中組通信成員設為節點子集其中1 ≤m≤n. 此時,短時間新節點只要不超過n′個,則所有新節點串通起來也永遠無法得知關于其他節點的任何相關份額信息.如果再串通原有的t個被攻陷的普通節點,則新節點中攻陷節點不能超過n′?t個.并且新節點一旦加入即可與部分其他原有節點建立共享密鑰,進行有效通信. 新節點加入需要t+1個誠實的普通節點或者所有的元節點.值得注意的是,普通節點也包含元節點,只要保證系統中存在大于閾值t的普通節點即能夠幫助新節點加入,因此即使部分元節點被攻陷,也不能影響節點變更階段.并且由于份額是由所有元節點共同生成,因此攻陷部分元節點也無法獲取其他節點的份額信息. 節點變更完畢,所有節點{Pi}i≤[n+m]穩定以后,要恢復所有成員全部份額. 由于存在節點出入,故此階段不一定存在足夠的普通節點幫助新節點恢復份額,故當數量不足時,需要元節點幫助恢復新節點的份額. 此時,所有節點成員都持有自己的全部子份額,可根據子份額與其他任意成員構建共享會話密鑰,并進一步構建組會話密鑰. 新加入的節點恢復份額需要至少n′+1個普通節點(包括新加入的節點)或者所有的元節點. 定理1.密鑰生成階段,每個節點得到的多項式是多項式的子份額. 證畢. 每個節點得到的多項式子份額都是由所有初始元節點共同決定的,即因此,只要有一個元節點是誠實的,那么就能夠保證每個節點得到的子份額是隨機的,并且每個節點只能夠知道自己的份額. 證畢. 定理3.節點變更階段可以通過2 種方式獲得份額:1)通過t+1個普通節點發送來的子份額;2)通過r個元節點發送相應的子份額. 證明.分析2 種方式獲得份額: 定理4.節點恢復階段,可以通過2 種方式獲得份額:1)通過n′+1個普通節點發送來的子份額;2)通過r個元節點發送相應的子份額. 證畢. 定理5.可防御性.任何時期,敵手攻陷低于一定數量的節點,無法獲取任何其他節點的信息. 證明.對穩定時期和節點出入時期進行分析. 1)穩定時期(即無節點出入時期),可以抵御t個以下攻陷節點串通企圖恢復多項式F(x,y)的攻擊. 2)節點出入時期,可以抵御n′以下個攻陷節點串通企圖恢復多項式F(x,y)的攻擊. 考慮最壞的情況下,節點變更階段之前,攻陷節點的個數為t個,新加入節點中攻陷節點的個數為n′?t個,那么攻陷節點總共可以獲得多項式F(xi,y)的任意t個份額以及F(x,xj)的任意n′?t+t個份額,由于多項式F(x,y)是非對稱二元多項式,其中x的階數為t,y的階數為n′,那么剛好無法恢復其他任何誠實節點的份額.因此總共可以抵御n′個以下攻陷節點的串通攻擊. 同時,在3.3 節的節點變更階段中,當原有通過普通節點閾值時,通過元節點獲得份額,而元節點生成的fi(x,y)的階數與F(x,y)的階數一樣,因此也具有同樣的性質. 證畢. 定理6.可恢復性.任何時期,有節點丟失份額,都可以通過其他節點幫助恢復原有份額信息. 證明.普通節點(包括元節點)Pi丟失持有的份額F(xi,y)以及F(x,xi),可通過其他普通節點Pj發送相應的份額信息F(xi,xj)以及F(xj,xi)插值計算 重新獲得F(xi,y)以及F(x,xi). 如果由于節點出入,導致普通節點數量不夠,則可通過r個元節點Pj發送相應的子份額fj(xi,y)以及fj(x,xi),并計算 重新獲得F(xi,y)以及F(x,xi). 證畢. 定理7.保密性.組通信時期,只有組成員知道組密鑰并且知曉所有組內成員身份,組外成員無法得知密鑰以及組內成員的身份. 證明.分析內部攻擊以及外部攻擊: 1)內部攻擊.由定理5 可以知道密鑰生成階段每個節點持有的子份額可以抵御小于等于t個攻陷節點恢復秘密多項式F(x,y)的攻擊.因此,任何不在組內的節點都無法恢復組內任何節點所持有的份額信息.由于組密鑰是由發起者生成,通過與授權節點成對的共享密鑰加密后傳輸,因此,未被授權的節點無法得知其不在組內的組密鑰.而發起者傳輸的信息除了傳輸組密鑰信息,還將組內成員的信息進行散列函數生成摘要后上傳至區塊鏈,使得任何組外節點都無法模仿組內成員在組中通信. 2)外部攻擊.由于每個組密鑰都是由發起者生成,并通過節點之間成對的通信密鑰加密傳輸.同時將組成員信息加密后RH=H(rl1,rl2,…,rlm,K)上傳至區塊鏈,組內成員可以對組內的其他成員進行驗證.因此,任何沒有有效份額的外部節點,都無法得知其未被授權的組密鑰K,也無法得知組內成員身份信息. 證畢. 定理8.節點變更階段,如果原有普通節點閾值那么一定有至少t+1個誠實節點給新節點發送正確的信息成功幫助新節點重建否則只能通過元節點幫助重建份額. 證畢. 表2 將本文方案與其他文獻方案從5 個方面進行了功能對比. Table 2 Functions Comparison of Schemes表2 方案的功能對比 1)從生成方式而言.目前多數方案都是基于單變量多項式來實現密鑰協商的,文獻[28?30]中要生成會話密鑰都需要通過多個單變量多項式進行交互生成,文獻[31]是通過單變量多項式的Shamir 秘密共享來實現密鑰分發.而本文方案每個節點持有并計算使用的都是確定了一個變量值的二元多項式.因此,在計算復雜度方面與其他一元多項式方案相近. 2)從去中心化而言.基于單變量多項式的方案都無法實現去中心化,由于需要通過單變量多項式進行有效的密鑰協商,必須要可信第三方進行合理分配每個節點的份額.文獻[28?31]中,需要可信第三方針對不同節點分配不同的份額信息來保證組成員能夠獲取相同的組密鑰以及確保通信的保密性.但是一旦可信第三方被攻陷,系統中所有節點的份額信息以及密鑰信息都會失效,導致整個通信系統的崩潰.而本文方案通過多個元節點共同生成二元多項式,實現去中心化,無需通過單個中心節點進行份額分配.因此,即使部分元節點被攻陷也能保證其他節點的密鑰安全. 3)從成對共享密鑰而言.節點之間成對的共享密鑰能夠增強節點協商組密鑰的安全性,而基于單變量多項式的文獻[28?31]中,節點之間不存在成對的共享密鑰,只能通過可信第三方幫助生成共享會話密鑰通信.而本文方案基于二元多項式,能夠在節點之間高效生成成對的共享密鑰進行通信,進而提高組密鑰協商的安全性. 4)從多組通信而言.上述文獻[30]需要把所有組的組員信息一次性提交給可信第三方,可信第三方才能一次生成多個組密鑰發放給不同組的成員.而文獻[31] 只能通過可信第三方交互信息來獲取組密鑰,并且1 輪通信只能獲取單個組的組密鑰.本文方案中,節點得到自己的份額,可隨時通過成對的共享密鑰進行安全有效的組密鑰協商,自由發起多組通信. 5)從閾值切換而言.閾值的切換對于基于多項式的密鑰協商方案而言是至關重要的,可以在節點出入階段切換至不同的閾值,抵御節點出入對通信系統的威脅.從表2 方案中,只有文獻[31]以及本文方案可以實現在節點出入期間閾值的切換,其中本文方案基于非對稱二元多項式,2 個變量可具備2 個不同的閾值,因此在切換時具有更高的效率. 如表3 所示,選出具有代表性的一元多項式文獻[31]以及對稱二元多項式文獻[32]進行了安全性比較. 1)從可防御性而言.對于文獻[31],需要通過一個可信中心KGC 來分發密鑰,整個通信系統的安全完全依賴于一個中心節點是不安全的,敵手只需攻破一個中心節點即可攻破整個通信系統.文獻[32]是通過多個元節點來生成一個二元多項式,有效克服了單個中心節點對系統的威脅,但是由于對稱多項式本身的屬性,即2 個變量的階數相同,因此在節點出入期間,如果再有惡意節點加入系統,則會導致超過閾值t的攻陷節點,那么系統的安全性就不能夠得到保證.本文方案基于非對稱二元多項式,即2 個變量的階數不同,代表2 個不同的閾值,可以實現閾值切換,在穩定期間閾值為t,在節點出入時期,閾值提高為n’,其中n’>t.因此本文方案相比其他方案具有更強的可防御性. Table 3 Comparison of Scheme in Safety表3 方案的安全性比較 2)從可恢復性而言.對于文獻[31],如果某個節點密鑰丟失,那么只能通過向可信中心進行重新申請,因此需要要求中心節點不可下線.而本文方案與文獻[32]方案一樣,都是可以通過系統中足夠的任意普通節點發送相關的份額來恢復丟失的密鑰,因此可有效抵御由于部分節點下線導致無法恢復密鑰問題的威脅.本文方案由于持有的份額F(xj,y)與F(x,xj)階數不同,因此可能需要更多的普通節點來恢復密鑰.由于初始時設有元節點,因此也可以通過所有的元節點來恢復丟失的密鑰. 3)從保密性而言.文獻[31]方案雖然使用了Shamir 秘密共享,但是在秘密重建階段所使用的份額依舊是基于計算困難問題假設的,因此其組密鑰以及會話密鑰都是可證明安全的.而本文方案與文獻[32]方案構建的會話密鑰是根據初始的分發份額產生的,只有節點被攻陷達到閾值數量時才能攻破密鑰,因此每個節點的會話密鑰是無條件安全的. 如表4 所示,將本文方案與文獻[31?32]方案在計算開銷方面進行了比較.表4 中TSC表示執行對稱加密操作所需的時間,表示計算一個階數為l的多項式會話密鑰所需要的時間,表示一次通過l個點進行插值計算所需要的時間,TM表示執行一次橢圓曲線上的倍點運算所需要的時間,Tgh表示執行一次散列函數所需要的時間.表示一次通過t個點進行插值計算所需要的時間,表示一次通過n個點進行插值計算所需要的時間,表示計算一個階數為n′的多項式會話密鑰所需要的時間,表示計算一個階數為n的多項式會話密鑰所需要的時間.由表4 可知,安全性不如本文方案的文獻[32]方案在組密鑰協商階段計算開銷與本文方案相近.而文獻[31]方案則在組密鑰協商階段的計算開銷遠遠大于本文方案.由于涉及到不同階數的多項式插值計算,無法直觀地了解方案之間的效率關系,接下來將通過實驗分析來證明. Table 4 Comparison of Computational Cost表4 計算開銷比較 本文使用codahale 庫在 裝有Intel Core i7-6700K 4.00 GHz 處理器和8GB 內存的Windows 系統上進行仿真實驗. 在通信開銷方面,文獻[31]方案如果需要與其他節點構建會話密鑰,那么需要預先協商并存儲與不同節點的會話密鑰,這需要消耗非常大的存儲開銷.而本文方案以及文獻[32]方案都只需要存儲多項式的系數,利用秘密共享來生成會話密鑰,本文方案和文獻[31?32]方案相比,文獻[31]方案有著明顯的通信開銷方面的優勢.在計算開銷方面,通過仿真實驗,如圖4 和圖5所示,將本文方案與文獻[31]方案以及文獻[32]方案分別在組密鑰協商階段以及節點變更階段中密鑰生成所消耗的時間進行了對比.設定文獻[32]方案以及本文方案所需要的閾值t=n/2,n′=3n/4,例如n=100,t=50,n′=75.由圖4 可知,本文方案在組密鑰協商階段的效率與文獻[32]方案基本持平,并且遠高于文獻[31]方案.由圖5 可知,本文方案在節點變更階段密鑰生成的效率低于文獻[32]方案,但仍然高于文獻[31]方案. Fig.4 Time comsumption comparison in group key agreement phase圖4 組密鑰協商階段所消耗的時間對比 Fig.5 Time comsumption comparison of key generation in node alternation phase圖5 節點變更階段密鑰生成所消耗的時間對比 由于本文方案比文獻[32]方案具有更高的安全性,涉及到了更高階數的插值運算,因此效率上略低于文獻[32]方案,但安全性與效率上均高于文獻[31]方案,因此本文方案在工業互聯網動態節點密鑰管理場景中具備明顯的優勢. 從工業互聯網的安全可靠的信息傳輸出發,確保節點之間能夠安全有效地通信.本文結合區塊鏈技術以及秘密共享技術,提出一種基于區塊鏈的工業互聯網動態密鑰管理方案.基于非對稱二元多項式生成密鑰,通過閾值切換,有效抵御節點出入對通信系統的威脅,具有較低的成本開銷.此外,通過區塊鏈以及Kate 承諾實現安全的點對點通信以及多組通信.最后,通過具體的安全性分析表明,本文提出的基于區塊鏈的工業互聯網動態密鑰管理方案是安全的,并且通過仿真實驗和對比分析表明,本文方案是高效的.接下來,我們將對如何實現更高效率的安全密鑰管理協議作進一步研究. 作者貢獻聲明:張澤林提出算法思路、完成實驗并撰寫論文;王化群指導研究方案、設計并修改論文.2.2 區塊鏈部署結構


2.3 安全模型

3 基于區塊鏈的動態密鑰管理方案
3.1 密鑰生成

3.2 組密鑰協商
3.3 節點變更
3.4 份額恢復
4 安全性分析
4.1 正確性證明
4.2 安全性證明
5 性能評估
5.1 功能對比

5.2 安全性對比

5.3 效率分析

5.4 性能分析


6 結語