Skip to main content

工業

簡化關鍵安全系統的設計

當工業系統越發複雜,安全認證亦越發困難。而將關鍵安全與非關鍵功能結合成為一套整合式系統,更特別困難。如今開發人員能利用首款為 SIL 2 認證而設計的 Intel® 處理器——Intel® Xeon® 處理器 D-1529 克服此難題,設計符合 IEC 61508 認證的系統。這套功能安全解決方案提供密切整合的套件,內含硬體、軟體與認證說明文件以簡化安全認證,並讓開發人員以單一硬體平台取代冗餘系統,進而顯著降低成本。

功能安全的基礎概念

介紹新處理器之前,首先看看關鍵安全設計的基礎概念。設計安全的系統之前,首先須從風險評估開始著手。試想 IEC 61508 如何依據事件發生可能性與事件發生之後果而將風險分類(請參閱圖 1)。

圖 1. IEC 61508 將風險分為四類。(資料來源:Wikipedia

為達成 IEC 61508 或其他任何安全法規的要求,開發人員首先必須為已確立的危險事件評估風險。接著,系統的設計本身必須能夠迴避不可接受的風險,並設計各種機制因應可能發生的事件。

認證處理器首創

可靠的系統必須從設計最初即考量安全。為此,安全的第一步即從硬體架構開始。Intel® Xeon® 處理器 D-1529 為 Intel 首款為 IEC 61508 認證所設計的處理器,內建許多一般用途處理器上找不到的功能。其中包含硬體的升級和軟體、工具與說明文件,讓 IEC61508 安全完整性等級 (SIL) 1 和 2 應用的開發更快速。在矽晶片電路方面,此處理器整合了詳盡的硬體診斷功能。其中包含:

  • 過電壓與過電流偵測
  • 處理器溫度報告
  • 機器檢查例外 (MCE)
  • PCIe 進階錯誤報告
  • 平台控制器中樞 (PCH) 錯誤邏輯
  • SATA 及 AHCi 診斷功能

支援處理器所使用的軟體架構當中亦整合安全功能。開發人員能利用可程式控制的錯誤例外及軟體產生的例外,確保應用程式的程式碼可靠動作。支援工具包括 Intel® Software Test Library。此程式庫簡化了啟用離線與線上的軟體診斷工具、軟體檢驗以及錯誤注入等功能。

取代冗餘系統

Intel 的做法一大關鍵優點即是能夠用單一平台取代冗餘系統。在此方面,Kontron 的技術長 Laurent Remont 以該公司針對鐵路應用所開發的安全認證電腦為例。Remont 解釋傳統的做法乃是採用冗餘處理板卡。例如 Kontron 即提供一套配備冗餘刀鋒的 3U VPX 系統(圖 2 的通道 A 與通道 B 刀鋒),透過乙太網路交換器進行連結,並以閘道 CPU 刀鋒進行監控。為進一步保證可用性,更將整組 3U VPX 系統重複配置。

圖 2. Kontron 的鐵路電腦內含多層冗餘。(資料來源:Kontron)

Intel® Xeon® 處理器 D-1529 讓開發人員將通道 A、通道 B、乙太網路交換器以及閘道刀鋒全數縮減為單一刀鋒伺服器。這讓開發人員不必在不同刀鋒執行冗餘程式碼,而可直接在相同處理器的不同核心執行。據 Remont 表示,如此的硬體整合需要處理器核心預先經過 Intel 認證達到獨立與可靠性的標準,並由 Intel 安全程式庫確保其冗餘功能。Remont 指出,單刀鋒解決方案的整體可靠度與成本遠比傳統架構更為最佳化。尤其考量到傳統系統為確保可靠度常混用不同的處理器架構之後,這更是明顯。將所有工作負載在相同架構執行,開發人員就能夠加速上市時間、降低整體擁有成本,並加速認證過程。

執行不同關鍵性的工作負載

工作負載關鍵性高低不一,是使安全認證複雜化的最大原因之一。複雜的系統會內含各種工作負載,而不同工作負載則因其故障機率與後果不一而有不同的安全要求。讓單一硬體控制器能夠容納複數電腦工作負載的虛擬化技術也使設計更加複雜。再加上例如工廠自動化應用所需的 IT 與業務工作負載、物聯網連線等功能,則會再添一層複雜性。能遠端監控工廠設備,就能將即時資料轉化為可行動的情報,進而顯著改善營運效率。但是智慧工廠需要擁有可靠而安全的系統,不能讓系統危害到整體的可靠運作。用來實現各項進階功能的工作負載均可能是第三方軟體,這些軟體則可能不符合嚴謹的安全規格。例如重視將訊息確實送達的通訊程式庫,就可能因此而違反了關鍵的訊息時效性。為緩解此類風險,系統必須能夠將安全工作負載隔離加以保護,防止受到「不安全」工作負載影響。換言之,當使用者介面當機時,故障範圍必須有限,以防主系統採取無法預測的動作。同樣地,當虛擬化環境中的電腦當機,共用相同環境的其他虛擬機器不應受影響。

使用關鍵安全的作業系統

在諸如此類的考量之下,安全機制必須融合於系統的作業系統當中。為此,Wind River 以安全為優先考量所推出的 Linux 及 VxWorks 作業系統均支援 Intel® Xeon® 處理器 D-1529。這些作業系統提供虛擬化環境,以先進的時間與空間分割功能支援多樣的工作負載各自擁有不同的關鍵性高低。Wind River 另外也透過 Simics 虛擬開發環境支援此平台。此平台讓開發人員在硬體上市前模擬 Intel® Xeon® 處理器 D-1529 及其周邊系統。

圖 3.  Wind River Simics 可進行全系統模擬。(資料來源:Wind River

管理複雜性

隨著物聯網普及,安全系統的設計只會變得更加複雜。若能在設計最初即納入安全考量,從零開始整合安全機制,OEM 就能夠確保產品符合今日與未來的安全要求。

作者簡介

Nicholas Cravotta is a veteran of the electronics industry. He has been technical editor for EDN, Embedded Systems Programming, and Communications Systems Design, and was the founding editor-in-chief of Multimedia Systems Design. During his years as an engineer, he designed hard real-time embedded systems, wrote application software for PCs and workstations, built an operating system from the ground up, and developed in-house software and hardware development and test tools, among many other projects. He has written over 600 published articles and has taught programming and technical writing at UC Berkeley. When he isn’t writing about engineering, he is an award-winning game designer for BlueMatter Games where he focuses on innovative ways to engage people, including the home-version of Escape the Room and Houdini, the reconfigurable disentanglement puzzle. He was recently a contestant on the reality TV show, “The Toy Box” showing the Pinata Backpack.

Profile Photo of Nicholas Cravotta