亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        一種面向云端輔助工業(yè)控制系統(tǒng)的安全機(jī)制

        2021-04-18 08:30:56屠袁飛楊庚張成真
        自動(dòng)化學(xué)報(bào) 2021年2期
        關(guān)鍵詞:用戶

        屠袁飛 楊庚 張成真

        工業(yè)企業(yè)為了降低運(yùn)營(yíng)成本和相關(guān)費(fèi)用,不斷尋求能夠提供穩(wěn)定性,容錯(cuò)性和靈活性的工業(yè)系統(tǒng)解決方案.云端輔助的工業(yè)控制系統(tǒng)[1]隨之出現(xiàn),即將云計(jì)算服務(wù)、物聯(lián)網(wǎng)與傳統(tǒng)的數(shù)據(jù)采集與監(jiān)控(Supervisory control and data acquisition,SCADA)系統(tǒng)整合,以感知真實(shí)世界中不斷變化的狀態(tài),通過(guò)云計(jì)算、大數(shù)據(jù)分析,實(shí)現(xiàn)動(dòng)態(tài)的優(yōu)化控制,甚至可以將其部署在實(shí)時(shí)閉環(huán)的控制回路中[2?5].在整合過(guò)程中,新舊技術(shù)重疊使用,除具有傳統(tǒng)SCADA系統(tǒng)存在的安全問(wèn)題外,還面臨其他來(lái)源多樣的威脅,包括敵對(duì)政府,恐怖組織,內(nèi)部人士的惡意或意外行為,惡意入侵者,事故和自然災(zāi)害等.依賴云通信使得SCADA 系統(tǒng)更加開(kāi)放,但系統(tǒng)命令和信息也可能在通信過(guò)程中被修改,嗅探或丟失.即使一些工業(yè)云采用了傳統(tǒng)的用戶名密碼的訪問(wèn)控制機(jī)制,進(jìn)入云中的用戶面對(duì)系統(tǒng)全部的數(shù)據(jù),也可能破壞其他不可訪問(wèn)資源的隱私.更重要的是,在工業(yè)系統(tǒng)中執(zhí)行的邏輯對(duì)物理世界有直接的影響,被惡意攻擊的系統(tǒng)會(huì)對(duì)人類的健康安全、環(huán)境、設(shè)備造成嚴(yán)重的破壞及損失,最知名的莫過(guò)于2010年伊朗核系統(tǒng)遭受的Stuxnet病毒事件[6].近年來(lái),世界各國(guó)均提出了一些極具參考意義的指標(biāo)和安全實(shí)踐指南[7],我國(guó)也頒布了《網(wǎng)絡(luò)安全法》,提出加強(qiáng)關(guān)鍵信息基礎(chǔ)設(shè)施安全防護(hù),維護(hù)國(guó)家網(wǎng)絡(luò)安全.

        對(duì)此有學(xué)者提出通過(guò)加密方法來(lái)阻止信息泄露,實(shí)現(xiàn)隱私保護(hù)[8].文獻(xiàn)[9]基于穩(wěn)定性判據(jù)設(shè)計(jì)了一種工業(yè)控制系統(tǒng)中加密傳輸機(jī)制的可行性評(píng)估模型.

        文獻(xiàn)[10]對(duì)SCADA 網(wǎng)絡(luò)安全已有的標(biāo)準(zhǔn)規(guī)范進(jìn)行了綜述,并使用縱深防御理論對(duì)其分別進(jìn)行了評(píng)估.文獻(xiàn)[11]采用粒子濾波算法,建立工控系統(tǒng)網(wǎng)絡(luò)態(tài)勢(shì)感知模型,判斷系統(tǒng)是處于“安全態(tài)勢(shì)”還是“危險(xiǎn)態(tài)勢(shì)”.文獻(xiàn)[12]針對(duì)SCADA系統(tǒng)使用的DNP3通信協(xié)議的安全問(wèn)題,使用密碼學(xué)工具來(lái)防止數(shù)據(jù)在傳輸?shù)倪^(guò)程中被竊聽(tīng),保護(hù)數(shù)據(jù)通信的安全,并做了相關(guān)性能測(cè)試.文獻(xiàn)[13]針對(duì)工業(yè)無(wú)線傳感器網(wǎng)絡(luò)中無(wú)線介質(zhì)的開(kāi)放特性,攻擊者可以容易地竊聽(tīng)通信來(lái)收集關(guān)于傳感器的隱私信息這一問(wèn)題,提出了一種能夠支持網(wǎng)絡(luò)身份驗(yàn)證的假名通信方案.該方案利用代理服務(wù)器為每臺(tái)傳感器分配隨機(jī)ID的方法來(lái)匿名通信,但僅支持傳感器的一跳范圍之內(nèi)的隱私保護(hù).文獻(xiàn)[14]將主流加密算法應(yīng)用在PLC中,對(duì)其性能進(jìn)行了仿真測(cè)試,并在PLC網(wǎng)絡(luò)中實(shí)測(cè)了網(wǎng)絡(luò)吞吐量,結(jié)果表明AES算法是目前最適合PLC的加密方法.然而作為一種對(duì)稱加密算法,如何管理其密鑰是必須考慮的問(wèn)題.

        通過(guò)上述安全控制措施的確能夠檢測(cè)惡意軟件的引入,減輕系統(tǒng)運(yùn)行威脅,但并沒(méi)有將攻擊者拒之門外.文獻(xiàn)[15]表明通過(guò)APT攻擊,攻擊者能夠在不引起數(shù)據(jù)被破壞的情況下,長(zhǎng)時(shí)間地潛伏在系統(tǒng)中竊取數(shù)據(jù).文獻(xiàn)[16]指出用戶的疏忽也是導(dǎo)致信息泄露的重要因素,因此需要設(shè)計(jì)一種覆蓋所有現(xiàn)場(chǎng)設(shè)備的細(xì)粒度訪問(wèn)控制方案,防止任何未經(jīng)授權(quán)的訪問(wèn)行為.文獻(xiàn)[17]提出應(yīng)限制對(duì)打印機(jī)或共享磁盤等公共資源的訪問(wèn),訪問(wèn)者應(yīng)包含在網(wǎng)絡(luò)的已知用戶中,并通過(guò)認(rèn)證方法來(lái)阻止隱蔽信道.文獻(xiàn)[18]針對(duì)關(guān)鍵基礎(chǔ)設(shè)施資產(chǎn)保護(hù)問(wèn)題,采用可信計(jì)算方法來(lái)限制軟件平臺(tái)上的開(kāi)放接口,達(dá)到保護(hù)資產(chǎn)的目的,但并不能提供細(xì)粒度的訪問(wèn)控制.變電站安全標(biāo)準(zhǔn)IEC/TS62351-8[19]建議使用認(rèn)證機(jī)制,尤其是基于角色的訪問(wèn)控制(Role-based access control,RBAC)方法[20]來(lái)降低整個(gè)SCADA網(wǎng)絡(luò)的復(fù)雜性.文獻(xiàn)[21]則針對(duì)樓宇控制系統(tǒng)中各分布式子系統(tǒng)間的通信安全問(wèn)題,為用戶分配預(yù)定訪問(wèn)權(quán)限策略的角色,保護(hù)資源免受未經(jīng)授權(quán)的訪問(wèn).文章缺點(diǎn)在于當(dāng)主體和客體屬性的數(shù)量變大時(shí),角色的數(shù)量呈指數(shù)增長(zhǎng).

        與RBAC不同,從分布式計(jì)算派生的基于屬性的訪問(wèn)控制(Attribute-based access control,ABAC)方法為系統(tǒng)中的每個(gè)實(shí)體分配所謂的“屬性”.用屬性描述的策略可以表達(dá)基于屬性的邏輯語(yǔ)義,靈活地描述訪問(wèn)控制策略[22].在基于密文策略(Ciphertext-policy attribute-based encryption,CP-ABE)的方案中[23],密文中嵌入了訪問(wèn)控制結(jié)構(gòu),即加密之后就確定了哪些用戶能夠?qū)λM(jìn)行解密而不需要借助可信服務(wù)器來(lái)實(shí)現(xiàn)這種控制.

        本文利用基于屬性的加密(Attribute-based encryption,ABE)算法能夠有效實(shí)現(xiàn)細(xì)粒度非交互訪問(wèn)控制[24]的特點(diǎn),為云端輔助的工業(yè)控制系統(tǒng)提出了安全高效的訪問(wèn)控制方案,有效地控制了用戶權(quán)限,保護(hù)了數(shù)據(jù)隱私.方案能夠?qū)υ浦写鎯?chǔ)數(shù)據(jù)進(jìn)行實(shí)時(shí)動(dòng)態(tài)地驗(yàn)證來(lái)識(shí)別損壞數(shù)據(jù)的行為,確保數(shù)據(jù)的完整性.并且為現(xiàn)場(chǎng)設(shè)備與用戶建立了安全的通信連接,通過(guò)對(duì)用戶的嚴(yán)格認(rèn)證,保證現(xiàn)場(chǎng)控制器獲得可信的數(shù)據(jù).最后,文章分析了方案的安全性與性能開(kāi)銷,并給出實(shí)驗(yàn)結(jié)果.

        1 預(yù)備知識(shí)及系統(tǒng)模型

        1.1 預(yù)備知識(shí)

        1.1.1 雙線性映射

        設(shè)G1和G2是兩個(gè)p階循環(huán)群,其中p為一大素?cái)?shù)設(shè)p為G1的生成元,定義雙線性映射e:G1×G1→G2滿足如下條件:

        1)雙線性性:對(duì)任意的P,Q∈G1,a,b∈Zp,滿足e(Pa,Qb)=e(P,Q)ab.

        2)非退化性:e(P,P)=1.

        3)可計(jì)算性:對(duì)任意P,Q∈G1,a,b∈Zp,存在一個(gè)有效的多項(xiàng)式時(shí)間算法計(jì)算出e(P,Q).

        1.1.2 線性秘密共享方案

        一個(gè)基于成員集P的秘密共享方案Π 在Zp上是線性的需要滿足一下兩個(gè)條件:

        1)每個(gè)成員所分得秘密的一部分構(gòu)成一個(gè)Zp上的矩陣.

        2)Π 中存在一個(gè)l×(n+1)秘密共享矩陣M.對(duì)于i=1,···,l,M的第i行表示第i個(gè)成員xi∈P.設(shè)一個(gè)列向量v=(s,r2,···,rn),其中s∈Zp是待分享的秘密,是隨機(jī)的,則M·v把秘密s根據(jù)Π分成l個(gè)部分.(M ·v)i屬于成員xi.

        1.2 系統(tǒng)模型

        如圖1所示,云端輔助的工業(yè)控制系統(tǒng)一般包含四個(gè)實(shí)體:SCADA 系統(tǒng)、私有云(Private cloud,PC)、公有云(Public clouds,PubC)以及數(shù)據(jù)用戶(Data consumers,DC).

        1.2.1 SCADA系統(tǒng)

        SCADA系統(tǒng)作為一個(gè)可以監(jiān)控及控制所有設(shè)備的集中式系統(tǒng),一般包括以下的子系統(tǒng):人機(jī)界面系統(tǒng),遠(yuǎn)程終端控制系統(tǒng)(Remote terminal unit,RTU),可編程邏輯控制器(Programmable logic controller,PLC),分布式控制系統(tǒng)(Distributed control system,DCS)等.對(duì)現(xiàn)場(chǎng)設(shè)備的控制及數(shù)據(jù)采集功能由PLC等控制系統(tǒng)進(jìn)行,包括啟停電機(jī),讀發(fā)送設(shè)備的狀態(tài)報(bào)告等.SCADA系統(tǒng)將采集到的數(shù)據(jù)發(fā)送到企業(yè)私有云平臺(tái),并接收來(lái)自私有云的指令.

        圖1 系統(tǒng)模型Fig.1 System model

        1.2.2 私有云

        私有云是為一個(gè)企業(yè)單獨(dú)使用而構(gòu)建的,能夠提供對(duì)數(shù)據(jù)、安全性和服務(wù)質(zhì)量的最有效控制.私有云具有相對(duì)安全的優(yōu)勢(shì),但不適合大規(guī)模存儲(chǔ).企業(yè)在私有云部署授權(quán)中心(Key generation center,KGC),根據(jù)基于屬性的加密方法,生成公鑰及主密鑰,管理系統(tǒng)中的屬性,構(gòu)建訪問(wèn)策略并以此加密數(shù)據(jù),之后再把密文發(fā)送到公有云存儲(chǔ).

        此外,為防止由于軟件錯(cuò)誤或配置錯(cuò)誤導(dǎo)致的數(shù)據(jù)損壞,私有云對(duì)外包存儲(chǔ)的數(shù)據(jù)進(jìn)行完整性檢查,以確保數(shù)據(jù)是真實(shí)的,或未被未經(jīng)授權(quán)方修改過(guò).

        1.2.3 公有云

        公有云由第三方提供商為企業(yè)提供,包括位置獨(dú)立的數(shù)據(jù)存儲(chǔ),無(wú)處不在的數(shù)據(jù)訪問(wèn),按需的高質(zhì)量服務(wù),成本低廉,動(dòng)態(tài)擴(kuò)展性等優(yōu)勢(shì).企業(yè)在公有云上完成資源租用、應(yīng)用托管和服務(wù)外包.

        在本模型中,我們假設(shè)公有云是誠(chéng)實(shí)但又好奇,且易受到攻擊的.因此由私有云對(duì)數(shù)據(jù)進(jìn)行加密后再發(fā)送到公有云,用戶從公有云中獲取密文.由于訪問(wèn)控制策略包含在密文中,只有具備相應(yīng)屬性的用戶才能獲得訪問(wèn)數(shù)據(jù)的權(quán)限,因此公有云只能對(duì)密文進(jìn)行存儲(chǔ)、轉(zhuǎn)發(fā),其自身也沒(méi)有訪問(wèn)原始數(shù)據(jù)的權(quán)限.此外,公有云接受來(lái)自私有云的審核,配合私有云完成存儲(chǔ)數(shù)據(jù)的完整性檢查.

        1.2.4 數(shù)據(jù)用戶

        數(shù)據(jù)用戶一般為企業(yè)管理人員、工藝員、操作工、監(jiān)管部門等.用戶向KGC聲明其所擁有的屬性,獲得屬性私鑰.如果數(shù)據(jù)用戶的屬性滿足密文中所定義的訪問(wèn)策略,則用戶可通過(guò)該私鑰獲得訪問(wèn)公有云中原始數(shù)據(jù)的權(quán)限,對(duì)數(shù)據(jù)進(jìn)行分析診斷,再將優(yōu)化后的參數(shù)或指令經(jīng)私有云發(fā)送到底層PLC、RTU等設(shè)備.

        2 系統(tǒng)方案

        本文首先在文獻(xiàn)[25]的加密算法基礎(chǔ)上,提出了一種面向云端輔助工業(yè)控制系統(tǒng)的保護(hù)用戶隱私的訪問(wèn)控制方案.一個(gè)支持細(xì)粒度屬性撤銷的ABAC方案由6種多項(xiàng)式時(shí)間算法組成:Setup,KeyGen,Encrypt,Decrypt,ReEnc,ReKeyGen.Setup(1λ)→PK,PK,MK:KGC運(yùn)行初始化算法,輸入安全參數(shù)1λ,輸出公鑰PK、PK和主密鑰MK.KeyGen(MK,S)→SK:KGC運(yùn)行私鑰生成算法,輸入主密鑰MK和用戶屬性集合,輸出用戶屬性私鑰SK.Encrypt(PK,K,Λ)→CT:明文數(shù)據(jù)K的擁有者執(zhí)行加密算法.算法輸入公鑰PK,明文K和訪問(wèn)結(jié)構(gòu)Λ,輸出密文CT.Decrypt(SK,CT)→K:數(shù)據(jù)用戶執(zhí)行解密算法.算法輸入該用戶的屬性私鑰SK和密文CT,若用戶所持有的屬性私鑰SK滿足密文CT中包含的訪問(wèn)結(jié)構(gòu)Λ,算法能夠正確輸出明文K.ReKeyGen(SK,x)→KGC執(zhí)行私鑰更新算法,算法輸入私鑰SK的部分組件以及待撤銷屬性x,輸出更新后的用戶屬性私鑰ReEnc(CT,x)→明文數(shù)據(jù)K的擁有者執(zhí)行重加密算法.算法輸入密文CT的部分組件以及待撤銷屬性x,輸出更新后的密文

        如圖2所示,某生產(chǎn)企業(yè)配方數(shù)據(jù)的訪問(wèn)策略規(guī)定只有工藝部門的技術(shù)員、主任或管理部門經(jīng)理才可以看到其中的具體內(nèi)容,其邏輯表達(dá)式為:{[(工藝部門)AND(技術(shù)員OR 主任)]OR[(管理部門)AND(經(jīng)理)]}.由于配方數(shù)據(jù)已按上述訪問(wèn)策略被加密,因此其他部門人員就無(wú)法對(duì)該密文進(jìn)行解密,從而實(shí)現(xiàn)了靈活、細(xì)粒度的訪問(wèn)控制.

        圖2 訪問(wèn)策略Fig.2 Access policy

        隨著時(shí)間的推移,用戶屬性會(huì)發(fā)生變化,相應(yīng)的訪問(wèn)策略也要有變化,此時(shí)需通過(guò)ReKeyGen算法和ReEnc算法對(duì)用戶屬性私鑰及密文進(jìn)行更新,令被撤銷屬性的用戶不能再訪問(wèn)密文.

        2.1 訪問(wèn)控制方案構(gòu)造

        算法1.系統(tǒng)初始化Setup(1λ)

        設(shè)G,GT是兩個(gè)階為大素?cái)?shù)p的乘法循環(huán)群,g是G的一個(gè)生成元,在G中隨機(jī)選取輔助變量u,定義e:G×G →GT是一個(gè)雙線性映射.KGC隨機(jī)選取α,β,a∈Zp.哈希函數(shù)H:{0,1}?→G作為散列到群G一個(gè)隨機(jī)庫(kù).

        生成系統(tǒng)公鑰為:

        主密鑰為:

        算法2.私鑰生成算法KeyGen(MK,S)

        算法輸入主密鑰的組件α,gα和用戶屬性集S,選取隨機(jī)數(shù)t∈Zp,計(jì)算輸出用戶私鑰為:

        算法3.加密算法Encrypt(PK,K,(M,ρ))

        算法輸入公共密鑰PK,對(duì)稱加密算法的密鑰K,以及LSSS訪問(wèn)結(jié)構(gòu)(M,ρ).令M為一個(gè)l×n階的矩陣,l為用戶屬性數(shù),n為訪問(wèn)策略中的屬性數(shù),函數(shù)ρ將M中的每一行映射到一個(gè)用戶屬性.在Zp上隨機(jī)選擇一個(gè)矢量vv=(s,y2,···,yn)∈用于分享加密元素s,對(duì)i=1,2,···,l,計(jì)算λi=Miv,其中Mi為M的第i行,再隨機(jī)選取r1,···,rl∈Zp,得到密文如下:

        算法4.解密算法Decrypt(SK,CT)

        算法以屬性私鑰以及密文為輸入,擁有的解密者試圖解密,假設(shè)用戶的屬性列表滿足訪問(wèn)結(jié)構(gòu),則存在使得,其中I={i:ρ(i)∈S}解密算法首先計(jì)算:

        再計(jì)算輸出明文:

        算法5.私鑰更新算法ReKeyGen(SK,x)

        對(duì)任意待撤銷屬性x,KGC隨機(jī)選取Vx∈Zp作為其更新值再選取私鑰SK的部件Kx按如下公式與新的屬性值Vx進(jìn)行計(jì)算:

        用?Kx替代原私鑰部件中相對(duì)應(yīng)的Kx算法輸出重定義的用戶私鑰為:

        算法6.重加密算法ReEnc(CT,x)

        算法選取密文CT的部件Di,及算法5中為待撤銷的屬性x選取的值Vx按如下公式計(jì)算:

        此時(shí)重加密之后的密文為

        2.2 用戶讀取數(shù)據(jù)

        ABE算法作為一種公鑰加密算法,本身較復(fù)雜,不適合對(duì)大型文件進(jìn)行加密,而對(duì)稱加密算法又必須解決安全傳遞對(duì)稱密鑰的問(wèn)題,因此本文采用混合加密的方式,首先私有云從密鑰空間中隨機(jī)選取一個(gè)對(duì)稱密鑰K,利用對(duì)稱加密算法AES(K,D)對(duì)現(xiàn)場(chǎng)采集數(shù)據(jù)D進(jìn)行加密.之后根據(jù)ABE 算法,定義該文件的訪問(wèn)結(jié)構(gòu),調(diào)用加密算法3加密上述對(duì)稱密鑰K,得到密鑰密文CT,再按照?qǐng)D3的存儲(chǔ)格式發(fā)送至公有云.

        其中PC →PubC表示由私有云至公有云的數(shù)據(jù)傳輸.

        圖3 數(shù)據(jù)文件的密文格式Fig.3 Format of ciphertext

        用戶向KGC聲明其所擁有的屬性,根據(jù)算法2獲得屬性私鑰.之后從公有云獲取加密數(shù)據(jù),利用算法4得到會(huì)話密鑰K.最后利用會(huì)話密鑰K解密AES(K,D)得到原始數(shù)據(jù)D.

        2.3 數(shù)據(jù)完整性檢查

        用戶可以在將數(shù)據(jù)發(fā)送到云端之前對(duì)數(shù)據(jù)進(jìn)行加密來(lái)保護(hù)數(shù)據(jù),但是它不能防止由于軟件錯(cuò)誤或配置錯(cuò)誤導(dǎo)致的數(shù)據(jù)損壞或惡意用戶的篡改.這就需要對(duì)云中存儲(chǔ)數(shù)據(jù)進(jìn)行完整性檢查,以確保租戶存儲(chǔ)的數(shù)據(jù)是完整可獲取的.通過(guò)密碼學(xué)的挑戰(zhàn)應(yīng)答方式,企業(yè)在私有云上部署完整性檢查服務(wù),由其對(duì)公有云發(fā)送挑戰(zhàn)信息,通過(guò)對(duì)公有云響應(yīng)的嚴(yán)格認(rèn)證,獲得其政策合規(guī)性的技術(shù)保證.認(rèn)證過(guò)程分為2個(gè)階段:初始化階段和挑戰(zhàn)階段,以下將詳細(xì)描述2階段的過(guò)程.

        2.3.1 初始化階段

        步驟1.私有云根據(jù)算法1生成密鑰對(duì){gβ,β}.

        步驟2.私有云對(duì)密文F進(jìn)行分塊,將其分為F={b1,b2,···,bn},隨機(jī)選擇mi∈Zp,為上述每一數(shù)據(jù)塊生成認(rèn)證元數(shù)據(jù)集合Φ={σ1,σ2,···,σn},這里σi=(H(i)·umi)β,H(i)為i對(duì)應(yīng)的哈希運(yùn)算.

        步驟3.私有云將{mi}和{σi}附在密文之后發(fā)送到公有云中存儲(chǔ).

        2.3.2 挑戰(zhàn)階段

        步驟1.私有云作為驗(yàn)證者,周期性地發(fā)起完整性驗(yàn)證.從文件F分塊中隨機(jī)選取t個(gè)索引編號(hào),并為每一個(gè)編號(hào)選取一個(gè)隨機(jī)數(shù)vi∈Zp,將二者組合形成挑戰(zhàn)請(qǐng)求{i,vi}i∈[1,n],并將vi發(fā)送到公有云作為挑戰(zhàn).

        步驟2.公有云利用其存儲(chǔ)的vi做以下運(yùn)算

        然后將{μ,σ}發(fā)送給私有云進(jìn)行驗(yàn)證.

        步驟3.私有云接收到{μ,σ}后,判斷如下等式是否成立

        若等式成立,則認(rèn)為公有云中存儲(chǔ)的數(shù)據(jù)是完整的.

        2.4 用戶與私有云的直接通信

        通過(guò)公有云的分析、優(yōu)化服務(wù),用戶可以更好地掌控生產(chǎn)全局,提供個(gè)性化產(chǎn)品的關(guān)鍵參數(shù),優(yōu)化生產(chǎn)工藝.用戶將關(guān)鍵信息提交給私有云,私有云解析產(chǎn)品數(shù)據(jù)和關(guān)鍵參數(shù),再將數(shù)據(jù)傳輸給底層的工業(yè)機(jī)器人、PLC、RTU控制器開(kāi)展生產(chǎn)流程.在這一過(guò)程中,私有云需對(duì)用戶進(jìn)行身份認(rèn)證,防止惡意用戶的攻擊,保證系統(tǒng)的安全運(yùn)行.為此本文提出一種簡(jiǎn)單且安全的數(shù)據(jù)通信方案,為Internet上傳輸?shù)臄?shù)據(jù)提供可互操作的、基于密碼學(xué)的安全保證,保護(hù)了傳輸數(shù)據(jù)的機(jī)密性、完整性.詳細(xì)步驟如下:

        步驟1.系統(tǒng)根據(jù)算法1進(jìn)行初始化,用戶獲得KGC發(fā)布的屬性私鑰.

        步驟2.用戶向私有云提出更新參數(shù)Para的請(qǐng)求.私有云從密鑰空間中隨機(jī)選取一個(gè)密鑰K1,利用算法3加密KT date=K1||datetime,并將加密后的標(biāo)記發(fā)送到用戶,并保存H(KT date)運(yùn)算值.

        H(·)表示發(fā)送端與接收端協(xié)議預(yù)先約定的哈希函數(shù),datetime為當(dāng)前時(shí)間.

        步驟3.用戶得(Encrypt(KT date))|PC→DC后,通過(guò)算法4解密密文,并做哈希運(yùn)算,再發(fā)回私有云,供其讀取驗(yàn)證:H=H(KT date)|DC→PC.

        步驟4.私有云讀取用戶返回的信息后,比較H與H是否相等.如果相等,私有云和用戶便可將標(biāo)記K1作為雙方直接通信的會(huì)話密鑰進(jìn)行安全的加密通信.

        步驟5.用戶按如下格式將參數(shù)Para、目標(biāo)控制器編號(hào)IDs、用戶編號(hào)IDc,當(dāng)前時(shí)間datetime串聯(lián)并按如下格式發(fā)送到私有云.

        步驟6.私有云解密消息得到新的參數(shù)Para,然后比較(H=H(IDs||IDc||Para))是否與H相等,如果相等,則證明消息的真實(shí)性、完整性.

        步驟7.私有云將新的參數(shù)Para傳送到目標(biāo)控制器中,執(zhí)行指令.

        2.5 對(duì)稱密鑰的有效期

        作為一種非對(duì)稱加密算法,ABE的加解密時(shí)間長(zhǎng)、速度慢,計(jì)算復(fù)雜度高.因此在第2.2節(jié)用戶讀取數(shù)據(jù)一節(jié)中,采用ABE算法加密對(duì)稱密鑰,再用對(duì)稱密鑰完成對(duì)現(xiàn)場(chǎng)采集數(shù)據(jù)的加密.由于訪問(wèn)控制策略包含在密文中,只有具備相應(yīng)屬性的用戶才能得到對(duì)稱密鑰,從而獲得現(xiàn)場(chǎng)數(shù)據(jù).在實(shí)際使用中,為保證通信的安全,對(duì)稱密鑰在使用一段時(shí)間后就應(yīng)被撤銷.私有云可定時(shí)更新對(duì)稱密鑰,用戶需重新通過(guò)KGC的身份認(rèn)證后才能獲得新密鑰.在此過(guò)程中,密鑰的有效期越短,系統(tǒng)的安全性越高,但是系統(tǒng)開(kāi)銷也會(huì)增大.

        在第2.4節(jié)用戶與私有云的直接通信一節(jié)中,也采用了上述的混合加密方法.在用戶發(fā)往私有云的參數(shù)密文中,包含了當(dāng)前的傳送時(shí)間.因此通信雙方可約定用戶指令的有效時(shí)間,當(dāng)私有云接收用戶指令達(dá)到約定時(shí)間后,即可撤銷用于該直接通信的密鑰K1.

        3 方案分析

        3.1 正確性分析

        以下對(duì)算法4解密過(guò)程的正確性進(jìn)行驗(yàn)證:在沒(méi)有屬性撤銷情況下:

        當(dāng)需對(duì)某用戶的屬性x進(jìn)行撤銷時(shí),算法4求解A的過(guò)程將分為如下兩部分:

        若ρ(i)=x:

        若ρ(i)=x:

        此時(shí):

        然后求解下式:

        以下對(duì)數(shù)據(jù)完整性驗(yàn)證的式(11)進(jìn)行證明:

        3.2 安全性分析

        3.2.1 數(shù)據(jù)的機(jī)密性

        本方案中,數(shù)據(jù)文件的機(jī)密性取決于對(duì)稱加密算法(AES),而對(duì)稱加密算法的機(jī)密性則主要取決于對(duì)稱密鑰K的安全性.密鑰K的加密采用了ABE算法,該算法已被證明是安全的,未認(rèn)證用戶(如攻擊者)的屬性集不滿足訪問(wèn)策略,無(wú)法在解密過(guò)程中恢復(fù)e(g,g)ast的值,從而不能訪問(wèn)數(shù)據(jù)文件.同理,撤銷屬性的用戶所擁有的屬性私鑰已無(wú)法與重加密密文中的組件進(jìn)行匹配運(yùn)算,因此也不能成功解密.

        本方案利用公有云存儲(chǔ)密文數(shù)據(jù),一方面它對(duì)所存文件的內(nèi)容是好奇的,另一方面它也會(huì)誠(chéng)實(shí)地執(zhí)行企業(yè)私有云安排的任務(wù).公有云除存儲(chǔ)密文外,僅負(fù)責(zé)接受私有云的完整性檢查挑戰(zhàn),返回相應(yīng)的密文數(shù)據(jù)塊,不參與任何與加密相關(guān)的行為,也不會(huì)獲得任何有效的屬性私鑰,因此其無(wú)法解密密文.

        3.2.2 抗合謀攻擊

        基于屬性的加密算法最大的挑戰(zhàn)是防止合謀用戶的攻擊.在CP-ABE中,秘密共享值s嵌入在密文中.為了解開(kāi)密文,用戶或者合謀攻擊者需要將e(g,g)ast恢復(fù)出來(lái).合謀攻擊者必須利用密文中的組件Cl,Dl和其他合謀用戶的私鑰組件L,Kρ(i)做相應(yīng)的雙線性配對(duì)運(yùn)算.但是,每一個(gè)用戶的私鑰都通過(guò)一個(gè)隨機(jī)數(shù)t唯一生成,每個(gè)用戶的t不同,因此即使用戶合謀,e(P,P)ast的值也不會(huì)被恢復(fù).只有當(dāng)該用戶具有的屬性滿足訪問(wèn)策略時(shí)e(P,P)ast值才會(huì)被恢復(fù).

        3.2.3 數(shù)據(jù)的完整性

        在云存儲(chǔ)環(huán)境中,由于用戶失去了對(duì)外包數(shù)據(jù)的本地控制,會(huì)擔(dān)心數(shù)據(jù)是否一直正確地存儲(chǔ)在云中.為了檢測(cè)甚至防止這種情況發(fā)生,需要定期審核云數(shù)據(jù)的完整性.因此用戶如何驗(yàn)證云數(shù)據(jù)的完整性成為了云存儲(chǔ)中一個(gè)關(guān)鍵問(wèn)題.

        該方案通過(guò)數(shù)據(jù)分塊、分別編碼及抽查文件隨機(jī)子集技術(shù)來(lái)確保云服務(wù)系統(tǒng)中數(shù)據(jù)的持有性和可恢復(fù)性,能夠進(jìn)行無(wú)限多次完整性驗(yàn)證,同時(shí)有效地確保了數(shù)據(jù)的內(nèi)容不被驗(yàn)證者察知,用戶甚至可以將繁瑣的數(shù)據(jù)審計(jì)任務(wù)交由可信的第三方管理者來(lái)完成.

        3.2.4 通信認(rèn)證

        大多數(shù)SCADA元件不認(rèn)證發(fā)給他們的命令,無(wú)論命令是否合法,它們?nèi)詫?zhí)行發(fā)送給他們的任何命令.本方案中,當(dāng)用戶發(fā)送指令到現(xiàn)場(chǎng)控制器時(shí),需先通過(guò)私有云的認(rèn)證,才能完成指令更新.在這一過(guò)程中,考慮到密鑰K1可能會(huì)被用戶泄露或者被攻擊者離線破解來(lái)獲得,因此隨機(jī)選取了密鑰K1并加入失效時(shí)間來(lái)保證通信安全.

        在SCADA 系統(tǒng)中,拒絕服務(wù)攻擊是最常見(jiàn)的攻擊方式.這種攻擊一般不能對(duì)系統(tǒng)進(jìn)行控制,但會(huì)降低整個(gè)系統(tǒng)的性能,甚至令其故障.攻擊者利用大量合理的服務(wù)請(qǐng)求來(lái)占用過(guò)多的服務(wù)資源,或頻繁發(fā)送命令來(lái)限制各種SCADA 系統(tǒng)所需的資源,從而導(dǎo)致系統(tǒng)無(wú)法執(zhí)行預(yù)定的任務(wù)[26].本方案不用實(shí)時(shí)在線檢測(cè)用戶身份,且采用了隨機(jī)密鑰和失效時(shí)間的設(shè)置,如果攻擊者不能在規(guī)定的時(shí)間內(nèi)提交會(huì)話密鑰,則不能訪問(wèn)系統(tǒng).對(duì)于頻繁提交認(rèn)證請(qǐng)求的攻擊者,也可撤銷其屬性,拒絕訪問(wèn)請(qǐng)求.

        3.3 性能分析

        3.3.1 通信消息長(zhǎng)度

        用戶訪問(wèn)公有云獲取數(shù)據(jù)時(shí),需首先利用式(9)獲取對(duì)稱加密密鑰K,根據(jù)式(4)和式(9),可以計(jì)算出密鑰密文總長(zhǎng)度為:

        在實(shí)際應(yīng)用場(chǎng)景中,為達(dá)到足夠的訪問(wèn)屬性數(shù)目與較低的計(jì)算開(kāi)銷,令訪問(wèn)屬性數(shù)l=10.

        式(14)中的每個(gè)參數(shù)長(zhǎng)度是可變的,本方案的評(píng)估中,雙線性映射e采用基于橢圓曲線上的Tate對(duì),橢圓曲線定義在有限域Fp上,G和GT的階p是一個(gè)20 Byte 的素?cái)?shù).為了達(dá)到1 024-bit RSA的安全等級(jí),p應(yīng)為一個(gè)64 Byte的素?cái)?shù),其中GT是一個(gè)定義在有限域上的乘法群的p階子群.設(shè)定p為有限域上長(zhǎng)度為42.5 Byte的素?cái)?shù),以及有限域上長(zhǎng)度為20 Byte 的素?cái)?shù).因此,式(14)計(jì)算出的總密文長(zhǎng)度可表示為22|p|Byte,大小范圍為440 Byte到1 408 Byte.

        信道建立后,在下次會(huì)話生成之間的通信,由于用戶擁有了對(duì)稱密鑰,其通信密文長(zhǎng)度可表示為:

        其長(zhǎng)度為16 Byte.

        當(dāng)用戶需與私有云進(jìn)行通信時(shí),同理根據(jù)式(3)和式(11)可計(jì)算出私有云與用戶之間通信時(shí)的密文長(zhǎng)度如下:

        按照相同的分析方法,從式(16)以計(jì)算出總密文長(zhǎng)度為22|p|+16 Byte,大小范圍為456 Byte 到1 424 Byte.

        數(shù)據(jù)用戶成功建立鏈接之后,其發(fā)送到私有云的密文長(zhǎng)度為:

        此處將IDs和IDc的長(zhǎng)度分別設(shè)為1 Byte,這已能滿足實(shí)際使用.從以上分析可見(jiàn),在用戶與公有云建立鏈接完成認(rèn)證這一過(guò)程中,通信的密文長(zhǎng)度為22|p|Byte,建立安全鏈接后,二者之間通信的密文長(zhǎng)度為16 Byte.而在用戶與私有云建立鏈接完成認(rèn)證的過(guò)程中,通信的密文長(zhǎng)度為22|p|+16 Byte,建立安全鏈接后,二者之間通信的密文長(zhǎng)度為34 Byte.

        各通信階段的消息長(zhǎng)度如表1所示,為了建立安全的通信連接,本方案會(huì)形成一個(gè)較大的消息密文,但當(dāng)連接建立之后,用戶和云之間通信的消息密文長(zhǎng)度會(huì)大大縮短.

        表1 密文長(zhǎng)度Table 1 Length of ciphertext

        密文長(zhǎng)度與不同安全強(qiáng)度的關(guān)系如圖4所示,可以看出,在建立通信鏈接進(jìn)行認(rèn)證時(shí),密文長(zhǎng)度與安全強(qiáng)度成線性關(guān)系,安全強(qiáng)度越高,密文越長(zhǎng)當(dāng)用戶完成認(rèn)證進(jìn)行數(shù)據(jù)傳輸時(shí),密文長(zhǎng)度不依賴于安全強(qiáng)度.

        圖4 密文長(zhǎng)度與安全強(qiáng)度關(guān)系圖Fig.4 Relationship between the ciphertext size and the security level

        3.3.2通信消耗

        該方案的通信消耗主要集中在用戶從公有云獲取密文的通信及用戶發(fā)送指令到私有云的通信,因此密文長(zhǎng)度直接影響了通信消耗.

        表1可以看出,為了建立安全的通信連接,本方案會(huì)形成一個(gè)較大的密文長(zhǎng)度,但當(dāng)連接建立之后,用戶和公有云之間的通信密文長(zhǎng)度會(huì)大大縮短,由于密文長(zhǎng)度直接決定了通信能量損耗與計(jì)算開(kāi)銷,因此在通信相對(duì)頻繁時(shí),本方案較短的密文長(zhǎng)度能夠保證更低的能量損耗與更小的計(jì)算開(kāi)銷.

        3.3.3 計(jì)算開(kāi)銷

        該節(jié)將本方案與傳統(tǒng)的基于證書的認(rèn)證、基于默克爾樹的認(rèn)證和基于身份的認(rèn)證方法進(jìn)行比較,分析計(jì)算開(kāi)銷.根據(jù)文獻(xiàn)[27],在主頻400 MHz的32位微處理器上計(jì)算Tate對(duì)大約需要62.04 ms,校驗(yàn)一次ECDSA-160簽名需要耗時(shí)18.48 ms,由于哈希算法和對(duì)稱加密算法有著極低的計(jì)算開(kāi)銷,此處忽略了哈希算法和對(duì)稱加密算法的開(kāi)銷.

        假設(shè)每個(gè)數(shù)據(jù)用戶進(jìn)行N次數(shù)據(jù)交互,在基于證書的算法中,計(jì)算開(kāi)銷主要由兩次ECDSA簽名認(rèn)證產(chǎn)生,總開(kāi)銷為2×18.48N=36.96Nms;在基于默克爾樹的認(rèn)證方法中,計(jì)算開(kāi)銷主要是一次ECDSA 簽名認(rèn)證,因此開(kāi)銷為18.48Nms;基于身份的認(rèn)證方法中,計(jì)算開(kāi)銷主要為兩次Tate對(duì)計(jì)算,總計(jì)算開(kāi)銷為2×62.04N=124.08Nms.本文提出的算法中,數(shù)據(jù)用戶與公有云或私有云通信進(jìn)行身份認(rèn)證的計(jì)算開(kāi)銷主要為22次Tate對(duì),總開(kāi)銷為22×62.04N=1 364.88Nms,認(rèn)證完成后,在會(huì)話密鑰更新之前,用戶無(wú)需再計(jì)算Tate對(duì)表2展示了計(jì)算開(kāi)銷對(duì)比.

        從表2可以得出以下結(jié)論:在數(shù)據(jù)傳輸次數(shù)較少時(shí),本方案由于注重安全性認(rèn)證,因此產(chǎn)生較大的計(jì)算開(kāi)銷,在認(rèn)證完成后,無(wú)需再進(jìn)行重復(fù)認(rèn)證,因此隨著數(shù)據(jù)傳輸次數(shù)的增加(N >11),在相同傳輸次數(shù)條件下,本文方案計(jì)算開(kāi)銷低的優(yōu)勢(shì)逐步體現(xiàn).

        表2 計(jì)算開(kāi)銷Table 2 Computation overhead

        3.4 實(shí)驗(yàn)仿真

        本節(jié)通過(guò)仿真實(shí)驗(yàn)驗(yàn)證算法整體的計(jì)算開(kāi)銷.實(shí)驗(yàn)采用斯坦福大學(xué)開(kāi)發(fā)的基于JAVA的雙線性對(duì)密碼庫(kù)(PBC Library),橢圓曲線采用Type A:y2=x3+x.實(shí)驗(yàn)環(huán)境為Inter (R)Core(TM)i5-3230M 2.60 GHz CPU,12.00 GB內(nèi)存,Windows7 64 bit操作系統(tǒng).實(shí)驗(yàn)中對(duì)稱加密采用128 bit AES加密算法,不計(jì)實(shí)際應(yīng)用中的數(shù)據(jù)傳輸延時(shí).實(shí)驗(yàn)對(duì)算法最關(guān)鍵的初始化、私鑰生成、加密、解密這4個(gè)步驟進(jìn)行仿真,結(jié)果如圖5~8所示.算法在屬性個(gè)數(shù)不斷增加的情況下,消耗時(shí)間也隨之增加.這是因?yàn)殡S著屬性個(gè)數(shù)增多,算法需生成的屬性值、密文組件及需解密的組件均隨之增多.

        圖5 系統(tǒng)初始化時(shí)間Fig.5 Setup time

        圖6 私鑰生成時(shí)間Fig.6 Private key generation time

        圖7 加密時(shí)間Fig.7 Encryption time

        從以上仿真可見(jiàn),當(dāng)屬性個(gè)數(shù)達(dá)到100,系統(tǒng)仍能夠保持一個(gè)較短的運(yùn)行時(shí)間,在實(shí)際應(yīng)用中,數(shù)據(jù)屬主可靈活設(shè)定訪問(wèn)策略,實(shí)現(xiàn)細(xì)粒度的訪問(wèn)控制.

        圖8 解密時(shí)間Fig.8 Decryption time

        4 結(jié)束語(yǔ)

        本文為面向云端輔助的工業(yè)控制系統(tǒng)的數(shù)據(jù)傳輸、存儲(chǔ)、訪問(wèn)設(shè)計(jì)了一種安全機(jī)制,利用基于屬性的訪問(wèn)控制方法,對(duì)用戶進(jìn)行身份授權(quán)及認(rèn)證,為其與控制系統(tǒng)之間建立安全的通信連接,并對(duì)存儲(chǔ)數(shù)據(jù)進(jìn)行完整性檢查,解決了數(shù)據(jù)的機(jī)密性、完整性保護(hù)問(wèn)題.通過(guò)性能分析并與已有方案的比較,本方案的性能隨著數(shù)據(jù)傳輸次數(shù)的增加(N >11),其優(yōu)勢(shì)逐步體現(xiàn).

        猜你喜歡
        用戶
        雅閣國(guó)內(nèi)用戶交付突破300萬(wàn)輛
        車主之友(2022年4期)2022-08-27 00:58:26
        您撥打的用戶已戀愛(ài),請(qǐng)稍后再哭
        關(guān)注用戶
        商用汽車(2016年11期)2016-12-19 01:20:16
        關(guān)注用戶
        商用汽車(2016年5期)2016-11-28 09:55:15
        兩新黨建新媒體用戶與全網(wǎng)新媒體用戶之間有何差別
        關(guān)注用戶
        商用汽車(2016年6期)2016-06-29 09:18:54
        關(guān)注用戶
        商用汽車(2016年4期)2016-05-09 01:23:12
        挖掘用戶需求尖端科技應(yīng)用
        Camera360:拍出5億用戶
        100萬(wàn)用戶
        亚洲av网站在线观看一页| 中文岛国精品亚洲一区| 亚洲av熟女天堂系列| 蜜桃视频第一区免费观看| 宅男66lu国产在线观看| 少妇被爽到高潮动态图| 日韩亚洲国产av自拍| 国产优质av一区二区三区| 久久99精品久久久久久清纯| 国产精品久久久久久久久免费| 精品国产福利久久久| 中文字幕一区二区在线看| 国产一区二区三区日韩精品| 亚洲人成电影在线观看天堂色 | 日韩精品成人无码AV片| 亚洲国产精品av麻豆一区| 在厨房拨开内裤进入毛片| 蜜桃视频一区二区三区在线观看| 亚洲精品成AV无在线观看| 亚洲一区二区视频免费看| 夜夜夜夜曰天天天天拍国产| 欧美巨大xxxx做受中文字幕| 自慰高潮网站在线观看| 亚洲一区二区三区在线看| 亚洲视频在线观看| 伊人久久网国产伊人| 综合激情中文字幕一区二区| 日本国产亚洲一区二区| 亚洲精品乱码久久久久久蜜桃图片 | 亚洲婷婷五月综合狠狠爱| 久久中文字幕乱码免费| 日韩精品夜色二区91久久久| 国产精品黑丝美女啪啪啪| 国产精品无码成人午夜电影| 亚洲福利天堂网福利在线观看| 久久综合五月天啪网亚洲精品| 亚洲人成国产精品无码果冻| 成人无码午夜在线观看| 亚洲二区三区在线播放| 日本一区二区三区免费精品| 国产精品国产午夜免费看福利|