阮黎翔,沈奕菲,王自成,李廣華
(1.國網(wǎng)浙江省電力有限公司電力科學研究院,杭州 310014;2.南京南瑞繼保電氣有限公司,南京 211102)
近年來,隨著IEC 62351 標準的不斷迭代更新,對變電站自動化安全通信技術的研究和應用也在不斷進步和成熟。IEC 62351系列標準主要針對變電站內(nèi)IEC 61850 等通信規(guī)約的協(xié)議安全問題[1-2],大大提高了協(xié)議和通信的安全性。
文獻[3]對IEC 62351 安全通信認證與加密兩方面的關鍵技術進行了總結;文獻[4]驗證了基于IEC 62351標準的安全通信技術能夠滿足站控層實時通信的性能要求;文獻[5]總結了參加IEC 62351 國際互操作大會取得站控層安全通信互操作的成功經(jīng)驗,證明了IEC 62351 安全通信的可行性;文獻[6]設計了一種就地式PKI(公鑰基礎設施)證書管理系統(tǒng)并進行了工程應用,探索了智能變電站網(wǎng)絡安全系統(tǒng)的密鑰管理方案。總的來說,當前變電站站控層安全通信研究以IEC 62351—3[7]和IEC 62351—4[8]標準為主,通 過采用基于TLS(傳輸層安全協(xié)議)[9]的加密通信和基于數(shù)字證書與簽名[10]體系的身份認證等手段增強變電站自動化通信系統(tǒng)的安全性。
但這些通信模式下,依然面臨著一旦客戶端設備連接上服務端設備,將無差別獲得全部訪問控制權限的問題。在實際應用中,出于管理和運維安全的考量,存在對不同客戶端設備的訪問控制權限進行區(qū)分的需求,比如有些客戶端具備遠方控制權限,有些客戶端則不應具備遠方控制權限。
針對上述安全通信所面臨的問題,本文以IEC 62351—8[11]標準提出的RBAC(基于角色的訪問控制)為理論依據(jù)開展了面向IEC 61850 站控層通信鏈接的RBAC 技術的研究與應用。變電站內(nèi)的IEC 61850 站控層通信設備依據(jù)IEC 62351—3和IEC 62351—4 標準進行安全通信加固,其中IEC 62351—3 提出的加密通信和IEC 62351—4 提出的安全認證都可實現(xiàn)雙方數(shù)字證書的相互驗證機制,對其中任何一種機制的數(shù)字證書進行合適擴展,均可成為基于角色訪問控制技術的實現(xiàn)載體。
客戶端設備(站控層后臺、遠動等)被分配合適的角色,并使用擴展包含角色信息訪問令牌的數(shù)字證書向服務端設備(間隔層二次設備等)發(fā)起建立安全通信鏈接的請求。服務端設備收到安全通信鏈接請求報文后,從其中包含的客戶端設備數(shù)字證書中識別客戶端的角色,并按照服務端設備內(nèi)預置的角色與權限映射關系,賦予客戶端相應的訪問權限。以此達到針對IEC 61850站控層通信鏈路的分層級、分權限的遠方訪問控制功能,提升了電力系統(tǒng)設備遠方訪問控制的安全性和可控性。該研究已成功應用到浙江省湖州市110 kV上柏變電站的測控裝置、后臺系統(tǒng)和遠動系統(tǒng)中,該站現(xiàn)已投入運行。
RBAC 是一種有效的權限管理模型,其基本思想是:對系統(tǒng)操作的各種權限不是直接授予具體的用戶,而是在用戶與權限之間建立一個角色,每一種角色對應一組相應的權限。一旦用戶被分配了適當?shù)慕巧?,該用戶就擁有此角色的所有操作權限。這樣的優(yōu)勢在于:不必在每次創(chuàng)建用戶時都進行分配權限的操作,只需分配用戶相應的角色即可,而且角色的權限變更比用戶的權限變更要少得多,從而簡化用戶的權限管理,減少系統(tǒng)的開銷。
IEC 61850 基于RBAC 的安全通信流程如圖1所示。
圖1 IEC 61850基于RBAC的通信流程
其應用流程可分為以下幾個步驟:
1)角色分配:在某個用戶使用客戶端設備與服務端設備建立連接前,首先根據(jù)應用需要為該用戶分配合適的角色。之后通過證書管理系統(tǒng)為該用戶頒發(fā)數(shù)字證書,其中包含用戶的角色信息。這部分操作在實際建立通信之前完成。
2)安全通信:用戶通過客戶端設備與服務端設備建立安全通信連接時,會使用步驟1)中所頒發(fā)的含有角色信息的數(shù)字證書。在IEC 62351安全通信體系下,無論是基于IEC 62351—3 的傳輸層安全加密,還是基于IEC 62351—4 的應用層身份認證,都會利用數(shù)字證書進行身份驗證,如果數(shù)字證書不合法,安全通信連接將無法成功建立。
3)權限分配:服務端設備通過安全通信中客戶端設備使用的數(shù)字證書獲取客戶端的角色信息,并依據(jù)服務端設備內(nèi)預定義的角色與權限映射關系賦予該客戶端設備相應訪問權限。傳輸層安全加密和應用層身份認證過程中使用的數(shù)字證書,均可用于攜帶客戶端的角色信息。
4)應用操作:客戶端設備發(fā)起應用服務請求時,服務端設備按照步驟3)中分配給客戶端設備的權限,判斷其是否能夠?qū)χ付ǖ臄?shù)據(jù)對象進行訪問操作,如果具備權限,則執(zhí)行應用操作,否則拒絕執(zhí)行應用操作。
通過對不同的客戶端設備頒發(fā)不同的角色證書,即可實現(xiàn)為特定用戶分配特定訪問權限的目的,從而達到分層、分權限的訪問控制能力。
圖2 展示了針對IEC 61850 站控層通信的RBAC模型。
圖2 IEC 61850的RBAC的模型
主體是想要發(fā)起訪問的具體個體,包括用戶、自動化系統(tǒng)或軟件應用程序,在電力系統(tǒng)中,例如具體的操作人員、SCADA(數(shù)據(jù)采集與監(jiān)控系統(tǒng))、調(diào)試客戶端軟件等。
角色與具體的工作職能相關聯(lián),主體與角色有映射關系,通常在建立通信之前就已經(jīng)為主體分配好具體的角色;角色與具體的權限也有映射關系,這部分映射通常在服務端通信設備內(nèi)預先進行實現(xiàn)。圖2展示了預定義的7種默認角色。
權限是分配給特定對象的操作,如讀取數(shù)據(jù)、寫入數(shù)據(jù)、對控制對象發(fā)出控制命令等,操作可以被允許或拒絕,取決于發(fā)起操作的角色與權限的映射關系。圖2展示了預定義的11種默認權限。
預定義的每個角色所具備的權限都是圖2 中11 種預定義權限的子集,圖3 展示了每個角色所對應的權限。
圖3 角色及其對應權限
一個角色是否能夠?qū)δ硞€對象執(zhí)行具體的操作,取決于這個角色與權限的映射關系,如果角色具備該權限,則可以執(zhí)行具體的操作,否則會被拒絕。
圖3 中,前4 個角色與實際應用關系較為密切,訪問的是應用數(shù)據(jù)或文件;后3個角色則與安全功能相關,一般訪問的是與安全相關的數(shù)據(jù)或文件。通常實際應用以前4個角色為主。
權限是針對特定對象所進行的特定操作。在站控層IEC 61850 通信中,特定對象一般對應IEC 61850模型的數(shù)據(jù)對象或文件等,特定操作對應IEC 61850的通信服務。
圖4列出了每一種權限所對應的IEC 61850通信服務及其針對的數(shù)據(jù)對象。
圖4 權限對應的服務與對象
從IEC 61850 基于RBAC 的通信流程可知,實現(xiàn)RBAC 的關鍵在于角色信息的傳遞,為此IEC 62351—8提出了訪問令牌的概念。
訪問令牌用來傳輸用戶的角色信息。其功能要求為:訪問令牌由身份管理工具創(chuàng)建和管理;所有訪問令牌都有生命周期,并且有可能過期;在驗證訪問令牌本身之前,傳輸訪問令牌的用戶必須通過對象的身份驗證。
如前文所述,目前大多數(shù)的安全通信研究和實踐主要通過加密通信和身份驗證增強通信鏈接的安全性,這其中會用到數(shù)字證書,而基于數(shù)字證書的安全通信同樣具備如下特點:數(shù)字證書由PKI 證書管理系統(tǒng)統(tǒng)一頒發(fā)和管理;數(shù)字證書具備有效期的限定;基于數(shù)字證書的安全通信會進行雙向身份認證。上述這些特點與RBAC 訪問令牌的要求是一致的,因此通過對數(shù)字證書進行適當?shù)膬?nèi)容擴展,RBAC 的訪問令牌就可以用數(shù)字證書作為載體,在建立安全通信鏈路時得到應用。
RBAC 的訪問令牌基于數(shù)字證書的配置方法是通過擴展數(shù)字證書來實現(xiàn)的,需要遵循X.509v3證書[12]的語法規(guī)則。X.509標準證書允許對證書的Extensions(擴展)進行擴展用來攜帶獨有的信息。因此可利用這種特性,通過數(shù)字證書傳遞角色的訪問令牌。X.509證書的擴展語法規(guī)則如下:
通過上述語法可知,訪問令牌的擴展需要兩部分內(nèi)容:第一,明確對象ID(OID)。訪問令牌的標識是使用OID 實現(xiàn)的,IEC 62351 OID 樹的根是1.0.62351?;贗EC 62351—8 標準的訪問令牌定義的OID即為:1.0.62351.8.1(為了向前兼容,還需要識別1.2.840.10070.8.1)。第二,擴展具體的訪問令牌內(nèi)容。擴展的內(nèi)容中需要能夠完整地描述一個訪問令牌。圖5展示了一個完整的訪問令牌所必須包含的內(nèi)容。
按照是否需要對X.509證書進行擴展,訪問令牌的屬性可分成兩類:
1)無需對證書進行擴展的屬性:令牌持有者、令牌頒發(fā)者、有效期起始時間、有效期起始時間。這4 個屬性分別與X.509 證書的本體內(nèi)容中的主體、頒發(fā)者、有效期對應,因此無需對這4個屬性進行額外定義。
2)需要對證書進行擴展的屬性:角色ID、修訂版本號、角色定義、職責范圍。這4 個屬性在X.509證書中并不包含,因此需要在證書的Exten?sions 中進行擴展定義。圖5 對上述需要擴展定義的內(nèi)容進行了釋義,并就如何取值進行了詳細地說明。
圖5 訪問令牌定義
由上文可知,訪問令牌的擴展主要針對的是角色ID、修訂版本號、角色定義、職責范圍,因此在X.509證書的Extensions中擴展訪問令牌可按照以下格式進行,具體的取值方法見圖5。
1)訪問令牌OID的值格式
訪問令牌的具體擴展遵循ASN.1[13]語法,這里以同時包含兩個角色,即觀察者(ID 為0)和操作員(ID 為1)的訪問令牌為例,其取值以及對應的ASN.1語法結構如下:
RBAC 變電站安全通信技術已應用于浙江省湖州市110 kV 上柏變電站,并已投入實際運行。圖6 所示為該變電站RBAC 網(wǎng)絡安全通信體系架構。
圖6 變電站RBAC安全通信體系架構
站內(nèi)客戶端通信設備主要包括站控層的監(jiān)控后臺、遠動以及調(diào)試客戶端等,需要根據(jù)實際應用需求為這些設備分配合適的角色。間隔層二次設備是服務端通信設備,在通信過程中對客戶端的角色進行識別,并分配相應的訪問權限,其本身無需分配角色,頒發(fā)用于安全通信的不包含角色訪問令牌的數(shù)字證書即可。
1)監(jiān)控后臺的角色分配
監(jiān)控后臺的使用者通常分為管理員、操作員和普通運維人員,理論上應為每個使用者單獨分配角色以及數(shù)字證書。為簡化實際的管理和運維工作程序,該站按照監(jiān)控后臺所有使用者功能所需的最大通信服務權限分配通信角色,即觀察者和操作員的組合角色,僅對監(jiān)控后臺頒發(fā)一份同時包含觀察者和操作員訪問令牌的數(shù)字證書用于安全通信。同時,監(jiān)控后臺根據(jù)登入賬號的使用者類型,賦予每個登入賬號不同的訪問權限,防止越權訪問。
2)遠動的角色分配
與監(jiān)控后臺類似,遠動同樣只頒發(fā)一份包含觀察者和操作員角色訪問令牌的證書。由遠動設備識別遠方登入賬號的角色,并限定其訪問能力,保障不越權訪問。
3)調(diào)試客戶端角色分配
調(diào)試客戶端也需要使用數(shù)字證書與站內(nèi)的間隔層設備進行安全通信。相對于監(jiān)控后臺和遠動,調(diào)試客戶端需要根據(jù)實際調(diào)試內(nèi)容為其頒發(fā)包含適當角色的數(shù)字證書,其中可能包含的角色有觀察者、工程師、安裝者或者這些角色的組合。同時,還需要對數(shù)字證書設置合理的到期時間,即到期后將無法使用該數(shù)字證書與站內(nèi)二次設備進行安全通信。
該站部署了一套PKI證書管理系統(tǒng)(本文主要介紹RBAC 安全通信技術,對PKI 證書管理系統(tǒng)不做過多贅述),為站內(nèi)所有安全通信設備頒發(fā)證書:一方面為每個通信客戶端頒發(fā)包含其角色訪問令牌的數(shù)字證書,另一方面為間隔層設備頒發(fā)普通的數(shù)字證書用來進行安全通信。本站實際應用過程中,對應用層安全認證過程中使用的數(shù)字證書進行了擴展,用以攜帶RBAC的角色信息。
監(jiān)控后臺、網(wǎng)關機以及調(diào)試電腦等客戶端設備與站內(nèi)間隔層服務端設備使用各自被頒發(fā)的數(shù)字證書建立雙向認證的安全通信,安全通信符合IEC 62351—3 與IEC 62351—4 標準的安全通信流程。其中包括對數(shù)字證書和數(shù)字簽名進行校驗,服務端設備僅允許校驗通過的客戶端繼續(xù)保持通信,對校驗不通過的客戶端斷開通信連接??蛻舳嗽O備也會對服務端設備進行相同的校驗操作。
站內(nèi)的服務端設備根據(jù)客戶端設備使用的數(shù)字證書中攜帶的角色訪問令牌,按照服務端設備內(nèi)置的角色與權限映射關系,賦予每個通信客戶端相應的訪問控制權限。在通信過程中,對于滿足訪問控制權限要求的客戶端操作請求給予肯定響應,對于不滿足訪問控制權限要求的客戶端操作請求給予否定響應。角色與訪問控制權限之間的映射關系見圖6,符合本文1.4章節(jié)的論述。
通過使用上述安全通信技術,上柏變電站內(nèi)的所有測控裝置、后臺系統(tǒng)和遠動系統(tǒng)之間構建了較為完善的安全通信體系。一方面,未經(jīng)授權的客戶端接入站內(nèi)網(wǎng)絡后,將被服務端設備拒絕進行訪問操作;另一方面,獲得授權的客戶端僅能在其分配的角色對應的權限范圍內(nèi),對服務端設備進行有限的訪問。該技術解決了變電站內(nèi)通信的權限管理問題,提升了站內(nèi)安全通信的安全性和可控性。
傳統(tǒng)的訪問控制系統(tǒng)通常是對就地操作的訪問控制及相應角色與權限的分配,但在通信層面不具備訪問控制的能力。如,第三方客戶端接入站內(nèi)通信網(wǎng)絡后,可與后臺、遠動設備具有相同的訪問權限,無法對其接入與控制站內(nèi)系統(tǒng)起到訪問限制作用。本站采用的RBAC 安全通信技術使得間隔層設備在通信層面也具備了訪問控制能力,所有外部接入的通信客戶端需要使用安全通信方式才能與間隔層設備進行通信,而安全通信則需要PKI 證書管理系統(tǒng)為其頒布合法的證書并授予適當?shù)慕巧?,以此達到控制所有通信客戶端的合法接入和訪問權限控制的效果,從而使站內(nèi)的安全訪問控制體系更加立體化。
文獻[4]詳細分析了基于IEC 62351—3加密通信與IEC 62351—4 身份認證的安全通信技術應用于變電站內(nèi)站控層網(wǎng)絡的通信性能,證明安全通信技術能夠滿足站控層各類應用需求。而在此基礎上增加的RBAC 安全通信技術,按照其流程對通信性能的影響分析如下:
1)角色的分配
角色的分配流程實際是基于PKI 證書管理系統(tǒng)進行證書頒布,獨立于具體的應用通信過程,因此不影響實際通信性能。
2)權限的分配
在通信鏈接建立階段,服務端設備需要從數(shù)字證書中解析出客戶端的角色信息,并為客戶端分配相應的訪問權限。由于安全通信過程本身就要對證書進行解析和校驗,僅需增加對擴展內(nèi)容中角色信息的額外解析,且角色與權限的映射關系已提前預置,只需根據(jù)角色進行相應的查表檢索,占用的性能開銷不大。此外,在正常運行工況下,站控層的通信鏈接一般不會頻繁建立,因此對于角色信息的解析及權限的分配流程不會對通信性能產(chǎn)生顯著影響。
3)權限的生效
在通信過程中,服務端設備在收到客戶端發(fā)起的應用通信服務請求時,根據(jù)客戶端具備的權限,判斷是否允許繼續(xù)操作。由于權限的分配在鏈接建立階段已經(jīng)完成,權限的生效在實現(xiàn)過程中直接進行判別即可,對通信性能的影響微乎其微。
此外,RBAC 技術本身僅影響通信流程,不會增加額外的通信報文,對通信網(wǎng)絡的流量不會產(chǎn)生影響。
綜合以上分析可知,在實現(xiàn)安全通信的基礎上,RBAC 技術對通信性能不會產(chǎn)生大的影響,能夠滿足站控層應用需求。
基于IEC 62351—3、IEC 62351—4 的安全通信技術極大提升了變電站內(nèi)通信的安全性,以此為基礎,本文針對基于角色的訪問控制技術進行了研究,以IEC 62351—8 標準為理論依據(jù),為站內(nèi)每個通信客戶端設備分配適當?shù)慕巧?,并對安全通信中使用的?shù)字證書進行擴展,定義了RBAC的訪問令牌。在通信鏈接建立階段,服務端通信設備根據(jù)客戶端設備所使用數(shù)字證書中的RBAC訪問令牌進行角色識別,并依據(jù)服務端設備預置的角色與權限映射關系進行權限分配,實現(xiàn)了針對IEC 61850站控層通信鏈路的分權限訪問的安全通信,提升了電力系統(tǒng)設備遠方訪問的安全性和可控性,有利于安全通信技術在變電站內(nèi)的工程化實施,為安全通信技術的推廣應用提供有價值的參考。