本發(fā)明是與一種于自動化網(wǎng)絡中操作安全控制的方法及具有這種安全控制的自動化網(wǎng)絡有關,所述自動化網(wǎng)絡具有主用戶和多個從用戶,它們被指定不同的安全完整性層級。
背景技術:
現(xiàn)代的工業(yè)自動化概念(也就是利用軟件的輔助進行技術工序的控制及監(jiān)控)是基于利用分布式傳感器/作動器層級進行中央控制的構想。在這個情況下,用戶通過工業(yè)局域網(wǎng)絡(下文中也稱為自動化網(wǎng)絡)彼此通訊以及與上級系統(tǒng)通訊??刂乒δ苁腔趦蓚€基本構想:地理分散和控制功能的分級區(qū)分。在這種情況下,功能性的分級將自動化任務實質(zhì)上區(qū)分為控制層級和傳感器/作動器層級。工業(yè)局域網(wǎng)絡通常會具有所謂的主/從式通訊網(wǎng)絡,其中主用戶形成控制層級,而從用戶形成傳感器/作動器層級。
對于自動化網(wǎng)絡的一個重要需求為故障安全(fail-safety)。在控制及監(jiān)控技術工序時,必須確認的是,當自動化網(wǎng)絡不正確地操作時,這不會對人類和環(huán)境產(chǎn)生任何風險。自動化網(wǎng)絡一般都根據(jù)所謂的故障安全原則操作,其中在故障事件時,自動化網(wǎng)絡會改變?yōu)榘踩珷顟B(tài)。
為了能夠?qū)碜宰詣踊W(wǎng)絡的危險進行分類,有實施風險分析的強制需求。根據(jù)歐洲標準en1050,必須要以一系列的邏輯步驟實施風險評估,它允許對來自自動化網(wǎng)絡或個人用戶的危險進行系統(tǒng)化調(diào)查。然后,為了確保充分安全的目的,基于風險分析規(guī)定施加于自動化網(wǎng)絡的技術與組織化需求。
在機器及安裝安全的領域中,特別也是可編程電子控制系統(tǒng),標準eniso13849-1及iec/en62061已經(jīng)變成被建置為實施危險分析的國際標準。這些標準同時包括所有安全相關用戶,無論用戶類型是什么,并且將安全相關性能細分類別。接著基于已確定的安全類別規(guī)定自動化網(wǎng)絡中的控制結構,以達成對于安全功能的需求,并且在故障事件中實現(xiàn)需要的系統(tǒng)行為。
標準eniso13849-1及iec/en62062規(guī)定了為降低風險所需要的可編程電子控制系統(tǒng)的安全相關性能。為了細分安全相關性能的目的,這兩種標準定義了安全完整性層級。為了這個目的,自動化網(wǎng)絡的所有安全功能都被視為在它們的執(zhí)行期間會涉及所有用戶。
標準iec/en62061規(guī)定了四個安全完整性層級(sil)sil1至sil4,其中各自層級是由錯誤發(fā)生的可允許殘余錯誤概率所定義。安全完整性層級sil1代表根據(jù)標準的最低需求。然后需求隨層級而增加,直到安全完整性層級sil4。在此情況中,自動化網(wǎng)絡的安全完整性層級是以安全功能中涉及的所有用戶的安全相關特性變量為基礎所決定。除了安全功能中所涉及的所有用戶的安全相關特性變量的知識以外,也需要有與自動化網(wǎng)絡中用戶的邏輯鏈接有關的精確信息來決定自動化網(wǎng)絡的安全完整性層級。安全完整性層級實質(zhì)上也會受到自動化網(wǎng)絡中使用的總線架構影響。
關于安全功能方面,因為對于自動化網(wǎng)絡中的用戶的需求通常都不同,自動化網(wǎng)絡一般都以具有不同sil層級的用戶操作。然而,在此情況中,整體系統(tǒng)的安全完整性層級是由具有最低sil層級的用戶所決定。原因在于自動化網(wǎng)絡中具有不同sil層級的用戶之間的數(shù)據(jù)業(yè)務會導致可觀的安全相關問題。這是因為,若具有低sil層級的用戶對具有高sil層級的用戶傳送數(shù)據(jù)分組,即可為具有高sil層級的接收用戶生成有效的數(shù)據(jù)分組,即使在傳送用戶中生成數(shù)據(jù)分組時發(fā)生了簡單的錯誤,此錯誤在傳送用戶的低sil層級內(nèi)也是可允許的。雖然,接著,由于接收器的高sil層級,在接收器中會有高度可能性偵測到所傳送數(shù)據(jù)分組中的錯誤,但具有低sil層級的用戶的可能數(shù)據(jù)業(yè)務會接著導致不再能夠確保與接收器中所需的高sil層級的相符性,因為本身有效的數(shù)據(jù)分組可由具有低sil層級的用戶形成。
進一步而言,在以進一步的安全相關用戶擴充自動化網(wǎng)絡時,特別是當他們的sil層級與其他用戶的sil層級不同時,一般需要都重組整個系統(tǒng),以避免自動化系統(tǒng)中已經(jīng)存在的用戶所執(zhí)行的安全功能與新加入的用戶的安全功能產(chǎn)生沖突。在此情況中,存在有風險,特別是與舊用戶相同的地址在地址分配期間被分配給新的用戶,這會導致數(shù)據(jù)分組的錯誤定向,然后無法偵測到這些數(shù)據(jù)分組。地址分配是復雜的,特別是當數(shù)據(jù)分組中被指定給用戶的地址僅被隱式地作為安全碼的一部分而傳送時更是如此,安全碼是由數(shù)據(jù)保護機制所產(chǎn)生、及/或無法從外部決定。
技術實現(xiàn)要素:
本發(fā)明的目的在于提供一種操作安全控制方法以及一種自動化網(wǎng)絡,其中具有任何安全完整性層級的用戶都可以經(jīng)由自動化網(wǎng)絡連接,不會不利地影響安全。
這個目的是以如權利要求1所述的方法、以及如權利要求5所述的自動化網(wǎng)絡達成。權利要求附屬項中說明了較佳的發(fā)展。
根據(jù)本發(fā)明,為了在具有實施安全控制的主用戶、被指定第一安全完整性層級的至少一個第一從用戶、以及被指定第二安全完整性層級的至少一個第二從用戶的自動化網(wǎng)絡中操作安全控制,所述主用戶、所述第一從用戶及所述第二從用戶是經(jīng)由數(shù)據(jù)傳送路徑而彼此連接,并且每一者具有安全層與數(shù)據(jù)鏈路層;在傳送模式中,安全碼確定方法被使用于各自用戶的安全層以確定要被傳送的安全數(shù)據(jù)塊的安全碼,并且包含所述安全數(shù)據(jù)塊及所述安全碼的數(shù)據(jù)分組是在各自用戶的數(shù)據(jù)鏈路層中形成,以供于數(shù)據(jù)傳送路徑上傳送;并且在接收模式中,于各自用戶的數(shù)據(jù)鏈路層中,從經(jīng)由數(shù)據(jù)傳送路徑接收的數(shù)據(jù)分組中擷取安全數(shù)據(jù)塊與相關的安全碼,并且在各自用戶的安全層中使用所述安全碼確定方法為所述安全數(shù)據(jù)塊驗證安全碼。在此例中,第一安全碼確定方法是被指定給第一從用戶,而第二安全碼確定方法是被指定給第二從用戶,主用戶與第一從用戶是使用所述第一安全碼確定方法互換安全數(shù)據(jù)塊,而主用戶與第二從用戶是使用所述第二安全碼確定方法互換安全數(shù)據(jù)塊。
根據(jù)本發(fā)明,獨立的安全碼確定方法被用于自動化網(wǎng)絡中具有相同安全完整性層級的用戶之間的通訊。因此特別是排除了具有不同安全完整性層級的用戶的彼此未偵測到的影響。在具有不同安全完整性層級的用戶之間數(shù)據(jù)業(yè)務中的數(shù)據(jù)分組錯誤定向被可靠地偵測到。因此,在自動化網(wǎng)絡中具有任何安全完整性層級的用戶之間也可有數(shù)據(jù)業(yè)務,而沒有安全相關問題。
根據(jù)一個較佳具體實施例,第一及第二安全碼確定方法是循環(huán)冗余校驗方法,第一安全碼生成多項式被分派給所述第一安全碼確定方法,并且第二安全碼生成多項式被分派給所述第二安全碼確定方法。在這個情況下,第一安全碼生成多項式的漢明距離(hammingdistance)較佳是與第二安全碼生成多項式的漢明距離不同。這個程序讓它可針對兩個安全碼確定方法都使用循環(huán)冗余校驗的目前標準安全機制,因而能夠省去額外耗時的安全措施(它們也需要額外的硬件和軟件)。設定第一及第二安全碼生成多項式的漢明距離會使得數(shù)據(jù)分組中的偵測錯誤概率可被確保為如同各自安全完整性層級所需要。
根據(jù)一個較佳具體實施例,具有第一安全完整性層級的用戶的自動化網(wǎng)絡可完全獨立于具有第二安全完整性層級的用戶的自動化網(wǎng)絡的設計而加以設計。接著可于兩個網(wǎng)絡區(qū)域中使用相同的地址,而不會于數(shù)據(jù)業(yè)務中產(chǎn)生錯誤定向,這是因為對每一個網(wǎng)絡區(qū)域都指定了能夠避免此類錯誤定向的獨立安全碼確定方法。
附圖說明
本發(fā)明將以如附圖式更詳細說明如下。
圖1示意說明了根據(jù)本發(fā)明的自動化網(wǎng)絡的結構,所述自動化網(wǎng)絡具有實施安全控制的主用戶、被指定第一安全完整性層級的第一從用戶、以及被指定第二安全完整性層級的第二從用戶。
圖2示出如圖1中所示自動化系統(tǒng)中的數(shù)據(jù)傳送的可能設計。
圖3示出安全完整性層級sil1至sil3中所使用的生成多項式的殘余錯誤率及漢明距離。
具體實施方式
工業(yè)自動化使用網(wǎng)絡,其中以分散形式配置的傳感器/作動器層級的組件(例如i/o模塊、測量值記錄器、閥件、驅(qū)動器等)是經(jīng)由強大的總線系統(tǒng)與控制層級的自動化計算器通訊。較佳地是使用現(xiàn)場總線系統(tǒng)作為自動化網(wǎng)絡中的總線系統(tǒng)。
自動化網(wǎng)絡一般具有階層式結構,并且是根據(jù)主/從式原理來操作。主用戶被指定控制層級,并且是對于自動化網(wǎng)絡中的通訊連接具有接入授權、以及決定數(shù)據(jù)業(yè)務的主動用戶。從用戶是傳感器/作動器層級的一部分,并且形成被動用戶;他們對于總線系統(tǒng)不具有自身的接入授權,并且僅可確認接收數(shù)據(jù)、或可在主用戶請求時對主用戶傳送數(shù)據(jù)。
對于自動化系統(tǒng)的中央需求為安全且可靠的數(shù)據(jù)傳送。為了消除對人類與環(huán)境的風險,必須確保有用數(shù)據(jù)是無錯誤地在傳感器/作動器層級的從用戶以及控制層級的主用戶之間傳送,或是能夠可靠地偵測到數(shù)據(jù)傳送中的錯誤。因此要在自動化系統(tǒng)中實施安全措施,并且確??梢愿叨雀怕蕘韨蓽y數(shù)據(jù)傳送中的錯誤,從而最小化未被偵測到的錯誤的風險。傳送用戶因此利用安全碼(安全碼后續(xù)由接收用戶驗證)提供要傳送的數(shù)據(jù)。循環(huán)冗余校驗方法(也稱為crc方法)一般被使用作為用于確定安全碼的方法。
在crc方法中,在數(shù)據(jù)傳送之前,利用生成多項式的輔助于傳送器中為要傳送的數(shù)據(jù)塊確定校驗字符串,所述校驗字符串接著被附加至所述數(shù)據(jù)塊,并且與數(shù)據(jù)塊一起被傳送至接收器。接收器利用傳送器使用的相同生成多項式的輔助來驗證所傳送的校驗字符串,以計算所傳送數(shù)據(jù)分組的校驗字符串,進以確定數(shù)據(jù)是否已經(jīng)被傳送而無損壞。
一般而言,自動化網(wǎng)絡中并非所有用戶都具有相同安全相關性。自動化網(wǎng)絡中的安全功能數(shù)一般也會小于與安全無關的控制功能數(shù)。
為了分類來自自動化網(wǎng)絡對人類與環(huán)境的危險,有進行風險分析的必要需求。中央標準為iec/en62061,它規(guī)定了需要用來降低風險的可編程電子控制系統(tǒng)的安全相關性能。為了細分安全相關性能,所述標準iec/en62021定義了四個安全完整性層級(sil,sil1至sil4)。在此例中,各別的安全完整性層級規(guī)定了錯誤發(fā)生的可允許殘余錯誤概率。根據(jù)安全完整性層級sil1,每小時的危險故障平均概率(pfhd)為低于10-5,但是必須要大于10-6。對于安全完整性層級sil2而言數(shù)值范圍低于10-6但大于10-7,對于安全完整性層級sil3而言數(shù)值范圍低于10-7但大于10-8,而對于安全完整性層級sil4而言數(shù)值范圍低于10-8但大于10-9。除了標準iec/en62021以外,也常會使用比較易于應用及辨認性能層級a至e的標準eniso13849。
自動化網(wǎng)絡中的各別用戶所需要的安全需求是根據(jù)被指定給各自用戶的安全功能而定,因而自動化網(wǎng)絡通常是以因安全功能而具有不同安全需求的用戶來操作。
圖1示意說明了自動化網(wǎng)絡的基本結構,所述自動化網(wǎng)絡具有形成控制層級的主用戶m、以及代表傳感器/作動器層級的兩個從用戶s1和s2。主用戶m和兩個從用戶s1、s2是經(jīng)由串行總線而彼此連接,在用戶之間經(jīng)由所述串行總線發(fā)生數(shù)據(jù)業(yè)務。在此例中,自動化網(wǎng)絡中的數(shù)據(jù)業(yè)務是由主用戶m以數(shù)據(jù)分組的形式進行組織化,所述數(shù)據(jù)分組是由控制數(shù)據(jù)與有用數(shù)據(jù)組成,數(shù)據(jù)分組中的控制數(shù)據(jù)含有識別傳送器及/或接收器的地址信息項目。
在圖1所示的自動化網(wǎng)絡中,兩個從用戶s1與s2都與安全相關。當然可以提供超過兩個的安全相關從用戶。除了安全相關用戶之外,與安全無關的用戶也可被納入自動化網(wǎng)絡中。自動化網(wǎng)絡中的控制層級也可于多個主用戶間區(qū)分。
數(shù)據(jù)一般是以一致的形式于自動化網(wǎng)絡中傳送,較佳地是以以太網(wǎng)協(xié)議為基礎,在這種情況中,自動化系統(tǒng)中的所有安全相關用戶(也就是主用戶m和兩個從用戶s1、s2)除了用于處理標準數(shù)據(jù)的數(shù)據(jù)鏈路層以外還具有另外的上級安全層以處理安全數(shù)據(jù)。安全層與數(shù)據(jù)鏈路層彼此完全被封閉在安全相關用戶中,以避免在處理安全數(shù)據(jù)時的損壞風險。這種安全相關用戶的設計能夠減少在硬件與軟件上的支出,因為安全數(shù)據(jù)和標準有用數(shù)據(jù)兩者都可利用標準協(xié)議(例如以太網(wǎng)協(xié)議)的輔助而進行傳送。
圖2說明了在圖1所示自動化系統(tǒng)中的數(shù)據(jù)傳送。在傳送器的安全層中利用安全碼確定方法safetycrc的輔助生成要被傳送的安全數(shù)據(jù)塊ndsafety的安全碼fcssafety。若使用循環(huán)冗余校驗方法作為安全碼確定方法safetycrc,如圖2所示,則使用安全數(shù)據(jù)生成多項式來決定安全碼作為安全數(shù)據(jù)塊校驗字符串。安全碼fcssafety接著被附加至安全數(shù)據(jù)塊ndsafety,并且以安全塊的形式被傳送到數(shù)據(jù)鏈路層。
安全塊接著被嵌入傳送器的數(shù)據(jù)鏈路層中的標準數(shù)據(jù)塊ndstandard,較佳地利用另一安全碼確定方法standardcrc的輔助來確定另一安全碼fcsstandard。若再次使用循環(huán)冗余校驗方法作為安全碼確定方法standardcrc,如圖2所示,則使用標準數(shù)據(jù)生成多項式,相比于用于計算安全數(shù)據(jù)塊校驗字符串的安全數(shù)據(jù)生成多項式,標準數(shù)據(jù)生成多項式是改變的。
數(shù)據(jù)鏈路層接著傳送含有嵌入的安全數(shù)據(jù)塊ndsafety及安全碼fcssafety、以及嵌入的標準數(shù)據(jù)塊校驗字符串fcsstandard的標準數(shù)據(jù)分組塊ndstandard,并且通過總線信道將它傳送到接收器。接著在接收器中再次實施兩次循環(huán)冗余校驗,如圖2所示。在接收器的數(shù)據(jù)鏈路層中以循環(huán)冗余校驗standardcrc的輔助利用標準數(shù)據(jù)生成多項式來驗證所傳送的數(shù)據(jù)分組中的標準數(shù)據(jù)塊校驗字符串fcsstandard。接著進一步在接收器的安全層中以循環(huán)冗余校驗safetycrc的輔助利用安全數(shù)據(jù)生成多項式來驗證嵌入在所傳送數(shù)據(jù)分組中的安全數(shù)據(jù)塊校驗字符串fcssafety。若兩次校驗都產(chǎn)生正結果,則可使用所述安全數(shù)據(jù);否則,它們會被舍棄。接收器接著等待另一數(shù)據(jù)分組,使用替代數(shù)據(jù)、或?qū)嵤┌踩胧?/p>
在此例中,安全數(shù)據(jù)生成多項式較佳地是產(chǎn)生具有長度r的安全數(shù)據(jù)塊校驗字符串。然后,較佳地是使用漢明距離(得自標準數(shù)據(jù)塊的校驗字符串的虛擬計算)與長了r的安全數(shù)據(jù)塊的校驗字符串的漢明距離不同的生成多項式作為安全數(shù)據(jù)生成多項式。這個程序確保安全數(shù)據(jù)塊字符串中的失真能夠被可靠地偵測到,即使是在安全相關用戶中的安全層與數(shù)據(jù)傳送彼此分開時,如圖1所示自動化系統(tǒng)中所設置者。
當安全相關用戶在自動化網(wǎng)絡中被指定不同的安全完整性層級,在數(shù)據(jù)業(yè)務中會發(fā)生可觀的安全相關問題。在圖1所示的自動化網(wǎng)絡中,從用戶s1符合安全需求標準sil3,而從用戶s2符合安全需求標準sil2。若具有低sil層級2的從用戶s2產(chǎn)生數(shù)據(jù)分組,則當所述從用戶s2中發(fā)生簡單錯誤時,仍可為具有較高sil層級3的從用戶s1產(chǎn)生有效數(shù)據(jù)分組,所述錯誤作為從用戶中低sil層級2的一部分是可靠的。雖然從用戶s1會以高度概率偵測到來自從用戶s2的所傳送數(shù)據(jù)分組中的錯誤,但因出現(xiàn)高錯誤率而不再符合從用戶s1所需要的高sil層級3。
根據(jù)本發(fā)明,通過被指定第一安全完整性層級的用戶使用第一安全碼確定方法來互換數(shù)據(jù)分組、并且被指定第二安全完整性層級的用戶使用第二安全碼確定方法來互換數(shù)據(jù)分組,即可避免這個問題。若總是使用循環(huán)冗余校驗方法作為安全碼確定方法,則針對具有不同安全需求的用戶使用不同的安全碼生成多項式。這個程序能夠在數(shù)據(jù)傳送期間可靠地偵測到錯誤定向,因為可以藉助不同的安全碼來彼此清楚界定具有不同安全需求的用戶群組之間的數(shù)據(jù)業(yè)務。
在圖1所示自動化系統(tǒng)中,程序是使得主用戶m和從用戶s1使用是適合安全完整性層級sil3的第一生成多項式互換數(shù)據(jù)。相較之下,為了與安全完整性層級為sil2的第二從用戶s2互換數(shù)據(jù),主用戶m和從用戶s2是使用適合安全完整性層級sil2的不同生成多項式。
圖3作為示例說明了三種不同的生成多項式,它們各自被指定給安全完整性層級sil1、sil2與sil3中的其中一個。0x12a23被使用作為sil層級3的生成多項式,0x17b0f被使用作為sil層級2的生成多項式,而0x1571f被使用作為sil層級1的生成多項式。在此例中,對于各別的生成多項式各自申明漢明距離與殘余錯誤概率。在此例中,漢明距離代表在數(shù)據(jù)記錄中有多少字符一定至少是損壞的,因此會發(fā)生未偵測損壞,不管所使用的循環(huán)冗余校驗的安全措施為何。在此例中,選擇生成多項式,使得生成多項式的漢明距離可符合根據(jù)安全完整性層級所需的錯誤發(fā)生的殘余錯誤概率。在此例中,程序基本上是,若對安全完整性層級指定錯誤發(fā)生的不同殘余錯誤概率,所指定的生成多項式的漢明距離也就不同。
對自動化網(wǎng)絡中的不同用戶群組(每個用戶群組代表一個安全完整性層級)指定不同的安全碼確定方法也能夠輕易地擴充自動化網(wǎng)絡。當具有指定安全完整性層級的新的從用戶群組想要連接到所述自動化網(wǎng)絡時,即對加入的群組指定獨立的安全碼確定方法,以與彼此、以及與主用戶互換數(shù)據(jù)。因為有這個程序,當將新的從用戶群組配置于自動化網(wǎng)絡時即不再需要考慮剩下的從用戶,因為不同的用戶群組是各自被指定安全完整性層級,且利用獨立安全碼確定方法的輔助而彼此獨立地執(zhí)行數(shù)據(jù)業(yè)務。只有主用戶必須要對所有用戶群組傳達意見,并且必須能夠?qū)嵤┡c各自用戶群組互換數(shù)據(jù)分組時所規(guī)定的安全碼確定方法。
對通過安全完整性層級而彼此劃界的用戶群組指定不同的安全碼確定方法也使其能夠彼此獨立地將地址分配給各自安全群組中的用戶。通過實施各自獨立的安全碼確定方法,各種群組中的用戶都可接著具有相同地址,例如,因為可通過獨立安全碼確定方法可靠地避免數(shù)據(jù)分組錯誤定向。這在如圖2所示設計中安全數(shù)據(jù)塊是以封閉于標準數(shù)據(jù)塊中的形式進行傳送且地址不再顯式地出現(xiàn)在安全數(shù)據(jù)塊中、而是僅輸入校驗字符串時是特別有利的。在根據(jù)本發(fā)明的地址分配期間,一個安全完整性層級內(nèi)的多個用戶僅需要具有唯一地址。