通過檢驗設備對設備特性數據的完整性的檢驗的制作方法
【技術領域】
[0001] 本發明涉及用于在網絡內通過檢驗設備對設備的特性數據的完整性進行檢驗的 方法和檢驗系統。
【背景技術】
[0002] 在設施自動化環境中包含分布式測量或控制設備日益重要。在此,例如智能現場 設備對于實施智能電網是必要的,以及在自動化設施內的帶有控制功能的設備或者用于對 有關業務諸如通信、電流、氣體或水進行結算的計數器是必要的。
[0003] 在此,在網絡內經常傳送安全相關的數據、諸如所收集的測量數據或開關指令。
[0004] 對這樣的設備的操縱對于安全、可靠并且經濟地運行基礎設施(例如自動化設施 或智能能量供應網)是嚴重問題。在此,操縱可以被理解為對設備、諸如測量或控制設備上 的數據的未經授權的修改。例如改變設備特性或設備功能性、諸如代替設備軟件(固件)或 改變設備軟件的各個區域屬于此。此外,設備的配置數據應當被保護免受無意的和未經批 準的修改。
[0005] 對于申請人而言從具有德國專利商標局的官方文件索引號10 2011 077 289.8 的文獻中已知一種用于在自動化設施中識別狀態變化的系統和方法。在此,以有規則的間 隔通過挑戰-響應協議來查問設備軟件或配置數據的完整性。如果通過設備計算的指紋與 由監控設備期望的指紋不一致,則該設備已未經授權地被改變。
[0006] 由專利文獻DE 10 2007 034 525 B4已知一種方法,該方法檢驗在設備的預先確 定的存儲區域中所存儲的數據,其方式是將本地由設備計算的指紋與由檢驗實體計算的指 紋均衡。
[0007] 對于在網絡內的大量待檢驗的設備,尤其是在并行或幾乎同時檢驗時,由檢驗實 體期待高的計算能力。同時,應當通過檢驗確保發現操縱。
【發明內容】
[0008] 以此為背景,本發明的任務在于,提供一種方法和檢驗系統,其能夠實現在大的設 備數量情況下通過檢驗實體對各自設備的完整性的簡化的并且防操縱的檢驗。
[0009] 該任務通過按照在獨立權利要求中說明的特征的方法和檢驗系統來解決。在從屬 權利要求中說明有利的實施方式和改進方案。
[0010] 在下面所提到的優點不必必然地通過獨立權利要求的主題來實現。更確切地說, 這里也可以涉及僅僅通過各個實施方式或改進方案實現的優點。
[0011] 按照本發明,用于通過在包括設備、檢驗設備和帶有另外的特性數據的至少一個 另外的設備的網絡內的檢驗設備來檢驗設備的特性數據的完整性的方法具有下面的步驟, 其中所述特性數據包括程序數據組和配置數據組,其中所述另外的特性數據包括另外的程 序數據組和另外的配置數據組: 借助網絡至少與檢驗設備耦合的站提供特性數據和另外的特性數據。該檢驗設備至少 在程序數據組和另外的程序數據組的一致性(Identidt)方面分析所述特性數據和所述另 外的特性數據并且根據分析的結果分派標記。
[0012] 檢驗設備確定適用于影響哈希函數的檢驗哈希值和哈希值的參數,其中所述參數 根據該標記來構成,并且將參數傳輸給該設備。
[0013] 該設備根據哈希函數和字符串計算哈希值,其中所述字符串包括參數和特性數據 并且在字符串內的順序可以被預先給定,并且將哈希值傳輸給檢驗設備。
[0014] 該檢驗設備根據哈希函數和字符串來計算檢驗哈希值,其中所述字符串包括參數 和特性數據并且在字符串內的順序可以被預先給定。
[0015] 如果哈希值與檢驗哈希值一致,則該檢驗設備確認特性數據的完整性。
[0016] 在本申請中,將如下狀態理解為設備的特性數據的完整性:該狀態不能推斷出對 該設備或其特性數據的操縱。這例如意味著:與特性數據的較早檢驗相比,在檢驗時特性數 據沒有被改變或者被代替或者與所期望的、所確定的或所存儲的狀態相應。
[0017] 設備的設備軟件或固件或者軟件形式的程序數據典型地被理解為特性數據的程 序數據組。配置數據組典型地包含諸如網絡地址、設備標識符或密碼密鑰材料和證書的參 數、以及配置軟件功能性的參數;它們對于設備來說是獨特的。
[0018] 所建議的用于在網絡內對設備進行檢驗的方法能夠實現對網絡內的一個或多個 另外的設備的考慮,其方式是,該檢驗設備不僅分析該設備的特性數據而且分析所述另外 的設備的特性數據并且根據分析的結果開始檢驗的另外的方法步驟。因此提供了如下可能 性:在網絡內鑒于操縱來檢驗設備,其中通過考慮在網絡內的另外的設備來提供大的設備 數量的高效檢驗的前提。因此,操縱及時地被探測。
[0019] 例如,待檢驗的設備在此每次重新確定哈希值,也即在每次檢驗時利用各檢驗所 新預先給定的參數重新進行哈希值的計算。
[0020] 同樣,檢驗設備對于每個檢驗為待檢驗的設備計算檢驗哈希值。檢驗設備在此在 檢驗時刻被更新的狀態下從站來獲得特性數據、諸如尤其是程序數據組以及配置數據組, 所述站在工業自動化設施中例如具有工程站功能。所述站在此通常是網絡的組成部分和在 此提供待檢驗的設備的配置數據以及安裝在設備上的固件和軟件版本。
[0021] 通過共同的檢驗服務器對存在于設施中的設備的檢驗減少了對于一個或幾個設 備由多個單個檢驗系統引起的多重耗費,其中所述共同的檢驗服務器被優化用于并行地檢 驗許多設備。
[0022] 按照一種實施方式,在字符串開始時轉交參數。
[0023] 因此,對于待檢驗的設備來說不可能的是:為了計算哈希值存儲哈希方法的內部 狀態,所述內部狀態僅根據程序數據組和配置數據組被計算,接著改變程序數據組和或配 置數據組,并且然而又接著計算與檢驗哈希值一致的正確的哈希值。這對于在待哈希的字 符串末尾處轉交參數的情況可能是容易實現的。
[0024] 因此,待檢驗的設備在檢驗時必須根據為當前檢驗所轉交的參數以及當前處于該 設備上的程序數據組和配置數據組來計算哈希值。
[0025] 按照一種實施方式,所述參數被構造為隨機數,所述隨機數的長度適配于哈希值。
[0026] 所述隨機數在此典型地是長度128比特至512比特(16至128字節)的數。該長度 在此應當理想地相應于所使用的密碼哈希方法的哈希值的長度。作為安全的哈希算法(安 全哈希算法(Secure Hash AlgorithnOSHA)在此尤其是考慮 SHA-256、SHA-384 或 SHA-512。 如果在反向傳輸之前所確定的哈希值被縮短,因為應當將傳輸的數據量保持得小并且較短 的哈希值也已經提供足夠的安全級別,則也可以將隨機數相應短地來構成。
[0027] 按照一種實施方式,密碼安全地傳輸所述參數和/或哈希值。
[0028] 如果參數的傳輸加密地進行,那么減小了另外的設備獲得關于隨機數的認識的風 險其中對于所述另外的設備來說,關于參數、例如隨機數的信息未被確定。只有帶有適當的 密鑰的設備可以因此獲得關于隨機數的認識。
[0029] 哈希值從待檢驗的設備向檢驗設備的經簽名的傳輸保證待檢驗的設備的應答的 可信度。因此,如果哈希值不由待檢驗的設備傳輸,則可以借助公開密鑰來識別檢驗設 備。這尤其是是有意義的,以便識別或者說防止通過網絡中的其他設備的拒絕服務攻擊 (Denial-Of-Service-Angriffe) 0
[0030] 替換于數字簽名,此外還可設想使用密鑰式(keyed)哈希方法,其中不僅由待 檢驗的設備而且由檢驗設備借助秘密密鑰來計算用于所傳輸的消息的消息認證碼(MAC, Message Authentication Code),并且分別所計算的MAC必須一致。
[0031] 從待檢驗的設備向檢驗設備加密地傳輸哈希值還防止:網絡中的、獲得了相同的 隨機數并且應當擁有相同的程序數據組和配置數據組的另外的設備由于操縱而不再擁有 它們并且因此不再能夠自己計算正確的哈希值,簡單地竊聽哈希值的傳輸并且然后自己將 該哈希值發送給檢驗設備來欺騙檢驗設備。
[0032] 按照一種改進方案,將相同的參數傳輸給該設備和至少一個另外的設備。
[0033] 恰好在并行檢驗許多設備的情況下,相同的參數、例如發送給所有待檢驗的設備 的隨機數使檢驗得以簡化,因為在檢驗設備上的計算耗費被保持得小。
[0034] 按照一種改進方案,為了根據標記計算檢驗哈希值,檢驗設備根據哈希函數、參數 和程序數據組計算內部狀態,并且存儲該內部狀態。
[0035] 程序數據組的大小強烈取決于設備的并且對于待檢驗的設備可以從幾個KB(例如 在RFID標簽的情況下)達到直至幾十個MB (例如在智能現場設備或存儲器可編程控制裝置 (PLC)的情況下)。而配置數據組的大小通常明顯更小。其大多處于程序數據組的最大幾個 百分比的范圍中。參數的大小相對于程序數據組的大小是可忽略地小的。
[0036] 因此,在計算檢驗哈希值時,程序數據組引起最大的計算耗費。
[0037] 在設施內通常存在相對