本發明屬于信息安全技術領域,尤其涉及基于屬性的訪問控制模型在工業4.0系統中的應用方法,可用于對訪問設備的用戶操作權限進行控制并保護用戶隱私。
背景技術:
工業4.0就是將工業和互聯網結合到一起,通過物聯網將各個企業、企業內部的現場設備、以及個人設備等連接起來,每一個設備內部都儲存著自身在外部網絡中的相關數據,這些數據能夠進行實時更新并上傳,實現信息共享。工業4.0系統中,用戶的數量以及設備的數量十分龐大,且設備的種類十分多,龐大數量的用戶信息及設備使用信息存儲于網絡中同時具有高度共享性,必將產生信息安全問題:上傳到網絡中的用戶信息造成用戶隱私泄露,非法用戶竊取合法用戶信息進行越權存取。因此,應該使用訪問控制的方式對用戶進行身份驗證,同時控制用戶對設備的操作權限。
訪問控制通過某種方式約束對客體的訪問能力,在保證系統安全的前提下,實現最大限度的資源共享。訪問控制只允許合法的主體訪問被保護的資源,阻止非法的主體或者非認證的主體訪問資源。目前,在工業4.0系統中對用戶的訪問權限進行控制使用較多的方法為基于身份認證的方式,即用戶使用用戶名以及密碼進行權限認證,系統內部需要事先存儲與用戶相關的二元組信息(id,pw),其中id表示用戶名,pw表示用戶的密碼,用戶x在申請訪問設備時需要輸入其擁有的idx及pwx,設備將內部存儲的二元組信息與用戶x輸入信息比較,若相匹配則允許該用戶登錄,而用戶在登錄后對設備的操作不再受到限制;用戶在對設備進行操作時,輸入到設備的相關數據會通過加密技術進行加密后以密文的方式在網絡中傳輸,提高網絡安全性。但是這種認證方式每次訪問系統時需要輸入靜態口令,且目前工業4.0系統中進行身份認證的用戶名、密碼等大多為系統默認的,這導致非法用戶可能通過偷窺或者破解密碼等方式獲得用戶密碼從而登錄設備,而一旦非法用戶登錄設備,其對設備的操作權限將不再受到限制,這十分不安全;同時雖然用戶數據已經加密,但是攻擊者仍可以采取手段破解網絡中加密的用戶數據,獲取用戶的信息,造成用戶的隱私泄露。
由于基于身份認證的方式在對權限進行控制時仍然存在問題,后來ravis.sandhu提出了基于角色的訪問控制模型(rbac)。rbac從主體的角度出發,將用戶映射到角色,用戶通過角色享有許可。在rbac中,角色的權限關系是被預先定義的,這使得他簡單地將用戶分配給預定義的角色。在rbac中授權是角色與權限、用戶與角色和角色與角色關系,這些關系來共同確定某特定用戶是否被允許訪問某一資源。然而在主客體種類繁多、數量龐大且客體種類變化較為頻繁的系統中,如果使用rbac模型進行權限管理,當資源種類增加或者減少時,安全管理員必須對所有相關角色進行更新。如果客體的屬性發生變化,同時需要將客體不同屬性的數據分配給不同的訪問主體處理時,安全管理員將不得不增加新的角色,并且還必須更新原來所有角色的訪問權限設置以及訪問主體的角色分配設置,這樣的訪問控制管理十分復雜,系統管理員的任務變得過于繁重。
基于屬性的訪問控制模型(abac)相比較之下更加適合于在主客體數量龐大、客體種類繁多的系統中進行權限管理。abac通過對主體、客體、操作和環境這四類對象的屬性進行描述,使用存儲在策略庫中的訪問控制策略進行權限許可判斷,可為訪問控制提供細粒度的控制,具有足夠的靈活性和可擴展性。且由于abac是基于屬性進行授權,用戶可以通過匿名訪問方式來保護隱私。因此abac模型應用于這種使用開放性網絡并具有龐大數量的主體、客體的工業4.0系統中進行訪問權限控制最合適。
技術實現要素:
本發明的目的在于克服上述技術存在的缺陷,提供了基于屬性的訪問控制模型在工業4.0系統中的應用方法,旨在實現對工業4.0系統中設備終端的訪問操作權限控制,杜絕非法用戶對設備的越權存取,并減少用戶的隱私泄露。
本發明的技術思路是:首先根據工業4.0系統的特點對基于屬性的訪問控制模型abac進行改進,獲取改進的abac模型,然后將工業4.0系統與改進的abac模型對應,并為工業4.0系統中成員分配責任,在用戶申請訪問設備時,設備根據改進的abac模型的權限匹配規則驗證用戶是否能夠執行所申請對設備的操作權限,從而細粒度的控制用戶對于設備的訪問權限,防止非法用戶對設備越權存取,同時通過用戶分級方式保護用戶隱私。
根據上述技術思路,實現本發明目的采取的技術方案包括如下步驟:
(1)獲取改進的基于屬性的訪問控制模型abac:
(1a)創建與客體相關聯的權限許可表,將abac模型策略庫中的訪問控制策略作為客體的權限屬性存儲于權限許可表中,同時刪除訪問控制策略中的客體屬性和abac模型中的策略庫;
(1b)刪除abac模型訪問控制策略中的不允許權限,并將允許權限存儲在權限許可表中;
(1c)重新制定權限許可表中權限匹配規則:
permission=(pa,ea),pa=(sa,oa)
其中,permission為權限許可表中的權限屬性,pa為由sa以及oa組成的二元組(sa,oa),sa和oa分別為允許某一種或多種主體進行相應操作的主體屬性和操作屬性,ea為允許主體對客體進行操作時的環境屬性集合;
(2)將工業4.0系統與改進的abac模型相對應:
將工業4.0系統中每個企業內部的權限管理人員作為改進的abac模型的一個系統管理員,每個設備作為改進的abac模型的一個客體,每個設備的用戶作為改進的abac模型的一個主體;
(3)設定工業4.0系統中的各成員的責任:
(i)設定企業內部權限管理人員責任:對本企業的設備進行初始化,包括配置并更新設備中的權限許可表和對權限許可表中權限屬性進行初始化,其中在對權限許可表中權限屬性進行初始化時,權限屬性中的主體屬性為用戶的級別,不同級別用戶具有不同數量主體屬性,其權限級別不同;
(ii)設定設備的責任:設備內部存儲權限許可表;在用戶注冊后自動更新內部權限屬性;使用權限匹配規則判斷是否對用戶授權;
(iii)設定用戶的責任:申請對設備的訪問權限;初次使用設備時選擇用戶級別并進行注冊后申請訪問設備,非初次使用設備時選擇用戶級別后申請訪問設備;
(4)設備對用戶是否具有操作權限進行驗證:
(4a)用戶申請訪問設備:新用戶在設備注冊界面上選擇用戶級別進行注冊并輸入用戶屬性,老用戶選擇用戶級別后輸入用戶屬性;
(4b)設備使用新用戶的屬性代替權限許可表中權限屬性的用戶級別,得到與權限匹配規則相匹配的權限屬性;
(4c)設備根據權限匹配規則,判斷用戶輸入的用戶屬性是否存在于權限許可表的權限屬性中,若是,設備允許用戶登錄,否則提示用戶退出系統,并執行步驟(4i);
(4d)用戶在初始界面申請對設備的操作權限;
(4e)設備收集用戶屬性、用戶申請的操作屬性和當前環境屬性,并根據屬性匹配規則判斷這些屬性是否存在于權限許可表的權限屬性中,若是,給用戶授權,并執行步驟(4f),否則提示禁止用戶獲得操作權限,并執行步驟(4g);
(4f)用戶執行所申請對設備的操作后返回初始界面,若申請下一操作權限則執行步驟(4d),否則執行步驟(4i);
(4g)設備判斷禁止用戶獲得操作權限的原因是否為用戶屬性不正確,而操作屬性和環境屬性正確,若是,提示用戶進行更高級別注冊,并執行步驟(4h),否則執行步驟(4i);
(4h)用戶判斷是否進行更高級別注冊,若是,返回注冊界面,并執行步驟(4a),否則,執行步驟(4i);
(4i)用戶結束對設備的訪問,并退出系統。
本發明與現有技術相比,具有如下優點:
1、本發明利用改進的abac模型對工業4.0系統中的用戶訪問設備權限進行控制,設備使用屬性根據權限匹配規則判斷是否對用戶授權,禁止了非法用戶訪問設備,同時可以對用戶操作設備權限進行細粒度控制,而且非法用戶難以同時竊取合法的用戶屬性、操作屬性以及環境屬性來訪問設備,杜絕了非法用戶對設備的越權存取。
2、本發明在工業4.0系統中設置不同的用戶等級,用戶使用設備時可進行級別選擇,不同用戶級別需要用戶屬性數量不同,用戶可以通過自主決定輸入多少屬性從源頭上控制網絡中的用戶信息量,減少了用戶隱私泄露,同時,在系統受到網絡攻擊時,用戶未提供給設備的屬性不會泄露,泄露的用戶提供的屬性難以實名化,對用戶造成影響較小。
3、本發明由于改進的abac模型不存在策略庫且與客體相關聯的權限許可表中只存在允許權限,因此應用在工業4.0這種主客體數量龐大的系統中,消除了策略庫膨脹及策略沖突對abac模型的影響。
附圖說明
圖1是本發明的實現流程框圖;
圖2是本發明改進的abac模型的結構示意圖;
圖3是本發明設備對用戶是否具有操作權限進行驗證的實現流程圖。
具體實施方式
以下結合附圖和具體實施例,對本發明進行進一步詳細說明。
參照圖1,基于屬性的訪問控制模型在工業4.0系統中的應用方法,包括如下步驟:
步驟1、基于屬性的訪問控制模型,即abac模型如果直接應用于工業4.0系統中,由于工業4.0系統中用戶、設備數量龐大,容易造策略庫膨脹并產生策略沖突,因此根據工業4.0系統的特點對abac模型進行改進,獲取改進后的abac模型,其結構如圖2所示:
步驟1a、創建與客體相關聯的權限許可表,將abac模型策略庫中的訪問控制策略作為客體的權限屬性存儲于權限許可表中,同時刪除訪問控制策略中的客體屬性和abac模型中的策略庫,解決abac模型策略庫膨脹的問題;
步驟1b、刪除abac模型訪問控制策略中的不允許權限,并將允許權限存儲在權限許可表中,解決abac模型策略沖突的問題;
步驟1c、重新制定權限許可表中權限匹配規則:
permission=(pa,ea),pa=(sa,oa)
其中,permission為權限屬性,以((sa,oa),ea)形式存儲于權限許可表中,pa為由sa以及oa組成的二元組(sa,oa),sa和oa分別為允許某一種或多種主體進行相應操作的主體屬性和操作屬性,ea為允許主體對客體進行操作時的環境屬性集合,包括為空和非空兩種狀態,其對應的權限匹配規則分別為:
當ea為空時,權限匹配規則為:
ea為非空時,權限匹配規則為:
步驟2、將改進的abac模型應用到工業4.0系統中,實現工業4.0系統與改進的abac模型的對應:
工業4.0系統使用物聯網將不同企業、以及企業內部的設備都連接在一起,使用改進的abac模型對工業4.0系統中設備終端的訪問操作權限控制,每個企業中對設備的權限控制方式都相同,因此本實施例以一個企業為例進行講解;
將工業4.0系統中企業內部的一個權限管理人員作為改進的abac模型的一個系統管理員,企業中的每個設備作為改進的abac模型的一個客體,設備的每個用戶作為改進的abac模型的一個主體;
步驟3、設定工業4.0系統中的各成員的責任:
(i)設定企業內部權限管理人員責任:對本企業的設備進行初始化,包括配置并更新設備中的權限許可表和對權限許可表中權限屬性進行初始化,其中在對權限許可表中權限屬性進行初始化時,權限屬性中的主體屬性為用戶的級別,不同級別用戶具有不同數量主體屬性,其權限級別不同;
(ii)設定設備的責任:設備內部存儲權限許可表;在用戶注冊后自動更新內部權限屬性,即使用用戶級別代替權限屬性中的用戶屬性,此時設備才能夠使用權限匹配規則判斷是否對用戶授權;使用權限匹配規則判斷申請訪問設備的主體屬性、操作屬性以及當前的環境屬性是否存在于權限屬性中,判斷是否對用戶進行授權;
(iii)設定用戶的責任:申請對設備的訪問權限;初次使用設備時選擇用戶級別并進行注冊后申請訪問設備,非初次使用設備時選擇用戶級別后申請訪問設備,其中選擇用戶級別是為了用戶能夠自主控制上傳到網絡中的用戶屬性,用戶認為是隱私的屬性不會輸入到設備并上傳到網絡中,達到減少泄露隱私的目的;
步驟4、用戶申請訪問設備,設備對用戶是否具有操作權限進行驗證,以達到權限控制的目的,其實現流程圖如圖3所示:
步驟4a、用戶申請訪問設備:新用戶在設備注冊界面上選擇用戶級別進行注冊并輸入用戶屬性,老用戶選擇用戶級別后輸入用戶屬性;
步驟4b、設備使用新用戶的屬性代替權限許可表中權限屬性的用戶級別,得到與權限匹配規則相匹配的權限屬性;
步驟4c、設備根據權限匹配規則,判斷用戶輸入的用戶屬性是否存在于權限許可表的權限屬性中,若是,設備允許用戶登錄,否則提示用戶退出系統,并執行步驟4i;
步驟4d、用戶在初始界面申請對設備的操作權限;
步驟4e、設備收集用戶屬性、用戶申請的操作屬性和當前環境屬性,并根據屬性匹配規則判斷這些屬性是否存在于權限許可表的權限屬性中,若是,給用戶授權,并執行步驟4f,否則提示禁止用戶獲得操作權限,并執行步驟4g;
步驟4f、用戶執行所申請對設備的操作后返回初始界面,若申請下一操作權限則執行步驟4d,否則執行步驟4i;
步驟4g、設備判斷禁止用戶獲得操作權限的原因是否為用戶屬性不正確,而操作屬性和環境屬性正確,若是,提示用戶進行更高級別注冊,并執行步驟4h,否則執行步驟4i;
步驟4h、用戶判斷是否進行更高級別注冊,若是,返回注冊界面,并執行步驟4a,否則,執行步驟4i;
步驟4i、用戶結束對設備的訪問,并退出系統。