專利名稱:一種工業控制系統中身份與權限的融合認證方法及系統的制作方法
技術領域:
本發明涉及一種身份和權限的認證技術
背景技術:
為了提供公用網絡用戶目錄信息服務,國際電信聯盟(International Telecommunications Union,簡稱“ITU”)于 1988年制定了 Χ. 500 目錄訪問協議(Directory Access Protocol,簡稱“DAP”)系列標準。其中Χ. 500和X. 509(公鑰基礎設施)是安全認證系統的核心,X. 500定義了一種區別命名規則,以命名樹來確保用戶名稱的唯一性;X. 509 則為X. 500用戶名稱提供了通信實體鑒別機制,并規定了實體鑒別過程中廣泛適用的證書語法和數據接口,X. 509稱之為證書。X. 509給出的鑒別框架是一種基于公開密鑰體制的鑒別業務密鑰管理。一個用戶有兩把密鑰一把是用戶的專用密鑰(私鑰),另一把是其他用戶都可得到和利用的公共密鑰(公鑰)。用戶可用常規加密算法為信息加密,如數據加密標準算法(Data Encryption Standard,簡稱“DES”),然后再用接收者的公鑰對DES算法進行加密并將之附于信息之上, 這樣接收者可用對應的私鑰打開DES密鎖,并對信息解密。該鑒別框架允許用戶將其公鑰存放在證書認證中心(Certificate Authority,簡稱“CA”)的目錄項中。一個用戶如果想與另一個用戶交換秘密信息,就可以直接從對方的目錄項中獲得相應的公鑰,用于各種安全服務。本質上,X. 509證書由用戶公共密鑰與用戶標識符組成,此外還包括版本號、證書序列號、CA標識符、簽名算法標識、簽發者名稱、證書有效期等。用戶可通過安全可靠的方式向CA提供其公鑰以獲得證書,這樣用戶就可公開其證書,而任何需要此用戶的公鑰者都能得到此證書,并通過CA檢驗密鑰是否正確。為了進行身份認證,X. 509標準及公共密鑰加密系統提供了一個稱作數字簽名的方案。用戶可生成一段信息及其摘要(亦稱作信息“指紋”)。用戶用專用密鑰對摘要加密以形成簽名,接收者用發送者的公共密鑰對簽名解密,并將之與收到的信息“指紋”進行比較,以確定其真實性。在過去的幾年里,Internet上使用的一律是上述基于X. 509的身份證書(即公鑰證書)。為了解決利用公鑰證書實現權限認證時存在的不足,1997年,ISO在X. 509V3規范中引入了屬性證書的概念,其定義為由屬性權威(Attribute Authority,簡稱“AA”)簽發的將實體與其共享有的權利屬性綁定在一起的數據結構。該證書不含用戶的公鑰,只包含用戶的一些基本性質,如所用戶標示符、公鑰證書序列號、權限信息等,可以有效地標識一個用戶能夠做什么,因此屬性證書主要用于授權管理。屬性證書是一種輕量級的數字證書,使用時必須和公鑰證書結合使用。屬性證書的有效期比較短,到了有效截止時間,證書將會失效。屬性證書的使用方式主要有兩種一是“推”模式,此方式是將屬性證書發到用戶手中,用戶訪問系統時將公鑰證書和屬性證書一起提交給系統,供系統認證;二是“拉”模式,此方式是將用戶屬性證書統一存放在系統服務器端,用戶訪問時只需要提交公鑰證書, 服務器將根據用戶公鑰證書序列號查找對應的屬性證書來認證。用戶對應某一安全域的公鑰證書只能有一個,由系統的證書權威CA下發,用戶的屬性證書可以有很多個,可以由不同的屬性權威AA下發。屬性證書頒發機構和數字證書頒發機構通常是兩個分離的機構。屬性信息在身份證書的生命周期內的任何時刻都可能被簽名和撤銷,但通常身份證書的存在時間較長,甚至可能幾年,而屬性證書的生命期相對較短。然而在工業領域中,用戶對應的角色是有限的,而每個角色的用戶所對應的權限也是相對固定的,如果權限變化了,通常其身份也要發生變化,因此并不適用現有的身份證書和屬性證書,采用現有技術的身份證書和屬性證書使得工業控制系統必須要同時支持兩個可靠第三方(CA和AA),并需要管理多重證書,使用和管理更不方便。并且,工業領域中所涉及的設備品種多且數量大,用戶的權限種類十分繁復,以操作員為例,不同的操作員可能對不同的設備有不同的操作權限,采用現有的屬性證書的方式進行權限的認證,不能很好羅列所有權限,且在確認其權限時較為不便。
發明內容
本發明主要解決的技術問題是提供一種工業控制系統中身份與權限的融合認證方法及系統,使得工控系統只需支持一個可靠第三方,使用一張證書即能完成用戶的身份認證和工業領域中繁復的權限的認證。為了解決上述技術問題,本發明提供了一種工業控制系統中身份與權限的融合認證方法,包含以下步驟將用戶的角色信息存入用戶的身份證書中,每個用戶對應至少一個角色;將用戶在對應角色下的權限保存在一權限數據庫中;在用戶獲取資源前,對其身份證書進行認證,認證通過后,根據身份證書中的用戶名信息和角色信息關聯權限數據庫,從中提取用戶的權限信息;向所述用戶提供其權限范圍內的資源。作為上述技術方案的改進,在所述用戶申請身份證書時,對其身份進行驗證,在驗證通過后,將其申請的角色信息存入該用戶的身份證書中,將所述包含角色信息的身份證書頒發給該用戶。作為上述技術方案的改進,所述身份證書為基于X. 509標準的數字證書;所述角色信息保存在該基于X. 509標準的數字證書的擴展字段中。作為上述技術方案的改進,該方法還可以包含以下步驟在用戶申請身份證書過程中,通過身份驗證后,為該用戶設置其申請的角色對應的權限;或者在用戶第一次使用所述身份證書時,根據該身份證書中的角色信息,為該用戶設置該角色對應的權限;將用戶名、角色和對應的權限保存到所述權限數據庫。作為上述技術方案的改進,所述權限數據庫中每個角色對應一個子庫,所述將用戶名、角色和對應的權限保存到權限數據庫的步驟中,還包含以下子步驟
在該角色對應的子庫中創建與該用戶名對應的權限表,在該權限表中保存該用戶在該角色下的具體權限信息。所述角色至少包括以下之一安全管理員、系統工程師、配置工程師、操作員、VIP用戶、訪客。本發明還提供了一種工業控制系統中身份與權限的融合認證系統,系統中每個用戶對應至少一個角色,所述用戶的角色信息保存在用戶的身份證書中,該系統包含權限數據庫,用于保存不同角色的用戶對應的權限信息;認證模塊,用于對用戶的身份證書進行身份認證;權限管理模塊,用于在認證模塊通過認證后,根據身份證書中的用戶名信息和角色信息關聯所述權限數據庫,從中提取用戶的權限信息;資源提供模塊,用于向所述用戶提供其權限范圍內的資源。作為上述技術方案的改進,所述認證模塊還可以用于在用戶申請身份證書時,對其身份進行驗證,驗證通過后,將其申請的角色信息存入該用戶的身份證書中,將所述包含角色信息的身份證書頒發給該用戶。作為上述技術方案的改進,所述身份證書為基于X. 509標準的身份證書;所述角色信息保存在該基于X. 509標準的身份證書的擴展字段中。作為上述技術方案的改進,所述權限控制模塊還可以用于在用戶申請身份證書的過程中,所述認證模塊通過對該用戶的身份的驗證后,為該用戶設置其申請的角色對應的權限;或者,在所述身份證書第一次使用時,根據該身份證書中的角色信息,為該用戶設置該角色對應的權限;并將用戶名、角色和對應的權限保存到所述權限數據庫。作為上述技術方案的改進,所述權限數據庫中每個角色對應一個子庫,所述權限控制模塊通過以下方式將用戶名、角色和對應的權限保存到權限數據庫中在該角色對應的子庫中創建與該用戶名對應的權限表,在該權限表中保存該用戶在該角色下的具體權限信息。作為上述技術方案的改進,所述角色至少包括以下之一安全管理員、系統工程師、配置工程師、操作員、VIP用戶、訪客。本發明實施方式與現有技術相比,主要區別及其效果在于將屬性證書與身份證書相融合,在身份證書中存入用戶的角色信息,并設置一權限數據庫,保存不同角色的用戶對應的權限信息,在登錄系統時,用戶使用其身份證書進行身份認證,在認證通過后,根據身份證書中的用戶名信息和角色信息關聯權限數據庫,從中提取用戶的權限信息;系統向該用戶提供與其權限相對應的資源。從而確保工控系統只需支持一個可靠第三方,使用一張證書即能完成用戶的身份認證和工業領域中繁復的權限的認證。將兩張證書合二為一, 管理更方便。在權限數據庫中保存不同角色下用戶的具體權限,權限信息存儲空間更大、信息的保存更完整。
下面結合附圖和具體實施方式
對本發明作進一步詳細說明。圖1是本發明第一實施方式中申請身份證書及設置權限的流程圖2是X. 509身份證書結構示意圖;圖3是本發明第一實施方式工業控制系統中身份與權限的融合認證方法流程圖。
具體實施例方式為使本發明的目的、技術方案和優點更加清楚,下面將結合附圖對本發明的實施方式作進一步地詳細描述。本發明第一實施方式涉及一種工業控制系統中身份與權限的融合認證方法。本實施方式中,將CA與AA相融合構成一個認證中心,將密鑰管理機構(PKI)和權限控制機構 (PMI)融合在一起,構成一密鑰和權限控制機構,并在該機構中設置一權限數據庫,保存不同角色的用戶對應的權限信息。本實施方式中,用戶向管理員發起申請身份證書的請求,由管理員通過客戶端為該用戶申請身份證書并設置相應權限。具體申請身份證書及設置權限的流程如圖1所示, 管理員通過客戶端向認證中心申請X. 509身份證書,其請求中包含所申請的角色信息和權限信息,認證中心按照現有技術對用戶進行身份驗證,在驗證通過后將其申請的角色信息和權限信息發送到密鑰和權限控制機構,由密鑰和權限控制機構為該用戶設置其角色所對應的權限,并將設置后的用戶名、角色和對應的權限保存到權限數據庫,之后認證中心為該用戶分配身份證書,并將其角色信息寫入X. 509身份證書中的擴展字段中,如圖2所示。需要說明的是,用戶的權限設置可以在為其申請身份證書時設置,也可以在用戶初次使用該身份證書時,根據該身份證書中的角色信息,為其設置權限,所設置的權限為用戶角色所對應范圍內的權限,并將設置后的用戶名、角色和對應的權限保存到權限數據庫。本實施方式中,角色的類型為已定的,每個角色的權限范圍也是既定的,一般情況下,角色分為安全管理員、系統工程師、配置工程師、操作員、VIP用戶、訪客等,安全管理員角色的權限范圍為創建用戶和簽發證書等相關權限,配置工程師的權限范圍為配置工程相關權限,操作員的權限范圍為操作控制等權限。用戶的權限范圍與其角色相關。假設該用戶為操作員,則在操作員對應的權限范圍內,為該用戶設置其權限。之后將設置后的用戶名、 角色和對應的權限保存到權限數據庫。具體實施時,在該權限數據庫中每個角色分別對應一個子庫,如表1所示,在用戶對應角色下權限確定后,在該角色對應的子庫中創建與該用戶名對應(可以是同名)的權限表,在該權限表中保存該用戶在該角色下的具體權限信息。
安全管理員子庫系統工程師子庫權限數據庫配置工程師子庫操作員子庫VIP用戶子庫訪客子庫 表 1
以操作員aaa為例,在操作員子庫中創建名稱為aaa的權限表,在表中設置該操作員的操作ID、可操作的設備ID和具體的操作權限,如表2所示。
權利要求
1.一種工業控制系統中身份與權限的融合認證方法,其特征在于,包含以下步驟將用戶的角色信息存入用戶的身份證書中,每個用戶對應至少一個角色;將用戶在對應角色下的權限保存在一權限數據庫中;在用戶獲取資源前,對其身份證書進行認證,認證通過后,根據身份證書中的用戶名信息和角色信息關聯權限數據庫,從中提取用戶的權限信息;向所述用戶提供其權限范圍內的資源。
2.根據權利要求1所述的工業控制系統中身份與權限的融合認證方法,其特征在于, 在所述用戶申請身份證書時,對其身份進行驗證,在驗證通過后,將其申請的角色信息存入該用戶的身份證書中,將所述包含角色信息的身份證書頒發給該用戶。
3.根據權利要求2所述的工業控制系統中身份與權限的融合認證方法,其特征在于, 所述身份證書為基于X. 509標準的數字證書;所述角色信息保存在該基于X. 509標準的數字證書的擴展字段中。
4.根據權利要求2所述的工業控制系統中身份與權限的融合認證方法,其特征在于, 還包含以下步驟在用戶申請身份證書過程中,通過身份驗證后,為該用戶設置其申請的角色對應的權限;或者在用戶第一次使用所述身份證書時,根據該身份證書中的角色信息,為該用戶設置該角色對應的權限;將用戶名、角色和對應的權限保存到所述權限數據庫。
5.根據權利要求4所述的工業控制系統中身份與權限的融合認證方法,其特征在于, 所述權限數據庫中每個角色對應一個子庫,所述將用戶名、角色和對應的權限保存到權限數據庫的步驟中,還包含以下子步驟在該角色對應的子庫中創建與該用戶名對應的權限表,在該權限表中保存該用戶在該角色下的具體權限信息。
6.根據權利要求5所述的工業控制系統中身份與權限的融合認證方法,其特征在于, 所述角色至少包括以下之一安全管理員、系統工程師、配置工程師、操作員、VIP用戶、訪客。
7.—種工業控制系統中身份與權限的融合認證系統,其特征在于,每個用戶對應至少一個角色,所述用戶的角色信息保存在用戶的身份證書中,該系統包含權限數據庫,用于保存不同角色的用戶對應的權限信息;認證模塊,用于對用戶的身份證書進行身份認證;權限管理模塊,用于在認證模塊通過認證后,根據身份證書中的用戶名信息和角色信息關聯所述權限數據庫,從中提取用戶的權限信息;資源提供模塊,用于向所述用戶提供其權限范圍內的資源。
8.根據權利要求7所述的工業控制系統中身份與權限的融合認證系統,其特征在于, 所述認證模塊還用于在用戶申請身份證書時,對其身份進行驗證,驗證通過后,將其申請的角色信息存入該用戶的身份證書中,將所述包含角色信息的身份證書頒發給該用戶。
9.根據權利要求8所述的工業控制系統中身份與權限的融合認證系統,其特征在于, 所述身份證書為基于X. 509標準的身份證書;所述角色信息保存在該基于X. 509標準的身份證書的擴展字段中。
10.根據權利要求8所述的工業控制系統中身份與權限的融合認證系統,其特征在于, 所述權限控制模塊還用于在用戶申請身份證書的過程中,所述認證模塊通過對該用戶的身份的驗證后,為該用戶設置其申請的角色對應的權限;或者,在所述身份證書第一次使用時,根據該身份證書中的角色信息,為該用戶設置該角色對應的權限;并將用戶名、角色和對應的權限保存到所述權限數據庫。
11.根據權利要求10所述的工業控制系統中身份與權限的融合認證系統,其特征在于,所述權限數據庫中每個角色對應一個子庫,所述權限控制模塊通過以下方式將用戶名、 角色和對應的權限保存到權限數據庫中在該角色對應的子庫中創建與該用戶名對應的權限表,在該權限表中保存該用戶在該角色下的具體權限信息。
12.根據權利要求11所述的工業控制系統中身份與權限的融合認證系統,其特征在于,所述角色至少包括以下之一安全管理員、系統工程師、配置工程師、操作員、VIP用戶、訪客。
全文摘要
本發明公開了一種工業控制系統中身份與權限的融合認證方法及系統,通過將屬性證書與身份證書相融合,在身份證書中存入用戶的角色信息,并設置一權限數據庫,保存不同角色的用戶對應的權限信息,在用戶登錄系統時,先對其身份進行認證,在認證通過后,根據身份證書中的用戶名信息和角色信息關聯權限數據庫,從中提取用戶的權限信息;系統向該用戶提供與其權限相對應的資源。從而在保障系統安全等級的情況下,使得工控系統只需支持一個可靠第三方,使用一張證書即能完成用戶的身份認證和工業領域中繁復的權限的認證。將兩張證書合二為一,管理更方便。在權限數據庫中保存不同角色下用戶的具體權限,其權限信息存儲空間更大、信息的保存更完整。
文檔編號H04L29/06GK102420690SQ201010295939
公開日2012年4月18日 申請日期2010年9月28日 優先權日2010年9月28日
發明者梁俊, 王磊 申請人:上海可魯系統軟件有限公司