更簡易安全的嵌入式UEFI BIOS韌體 智慧應用 影音
Mouser
Event

更簡易安全的嵌入式UEFI BIOS韌體

  • DIGITIMES企畫

美商鳳凰科技資訊股份有限公司研發副總 陳健書
美商鳳凰科技資訊股份有限公司研發副總 陳健書

美商鳳凰科技Phoenix SecureCore Technology (Phoenix SCT) 3.0全新UEFI BIOS韌體,以圖形化介面來簡化過去艱深難懂的BIOS設定;同時,透過整合開發環境加速韌體的開發、除錯與客製化,提昇了硬體平台的開機效能、週邊支援性以及系統安全性。Phoenix SCT 3.0更扮演承先啟後的關鍵角色,是業界第一套提供 EDK II 原生支援,更向後支援 EDK 1117的 UEFI BIOS,朝向平板電腦、超薄筆電、嵌入式系統、伺服器的跨界應用…

承先啟後的Phoenix SCT 3.0

過去BIOS給人的既定印象大多是Text mode文字介面,以及僅有工程師才看得懂的設定項目;其操作介面並不符合現今盛行的觸控式行動裝置需求。鳳凰科技 (Phoenix) 研發副總陳健書在會議中提到,Phoenix致力於提供給end-user更簡單、更直覺的BIOS操作介面,於2012年底推出的Phoenix SCT 3.0就具備了圖形化介面的全新BIOS Setup,同時又能兼顧開機速度與系統安全。

陳健書指出,Phoenix SCT 3.0是以最新UEFI規格及下一代建置環境EDKⅡ為核心的UEFI BIOS,同時向後相容上一代的EDK1117規格,獨特的通用建置系統能跨平台支援x86與ARM架構,也同步支援Windows及Linux等不同作業系統,能以單一BIOS核心滿足多平台世代系統開發的需求。

平順銜接移轉至EDKⅡ

陳健書指出EDKⅡ在Packages、Build Tools、函式庫項目與組態設定上,都與舊版的EDK1117有極大差異。而Intel預定最遲於2015年後僅接受EDKⅡ韌體碼,因此確保能平順轉移至EDKⅡ是相當重要的。目前市場上既有的EDK程式碼?函式庫資源尚未全數移轉,若同時使用EDK1117與EDKⅡ兩套系統來撰寫韌體碼,會造成重複投資及管理上的困擾。

鳳凰科技提出通用建構系統 (Universal Build System) 同時支援EDK 1117及EDK II程式碼與驅動程式;程式碼基礎對照IHV的區分原則,再加上兼容舊有SCT的.def與EDKⅡPCD新型態的巨集語言定義,協助客戶平順轉移到EDKⅡ。

對Windows 8的支援與功能強化

陳健書在會議中提到,Phoenix SCT 3.0對Windows 8平台增加許多新功能。例如Fast POST可對USB裝置選擇初始化或不初始化來節省開機時間;微軟以S4休眠模式充當快速開機,可能發生剛安裝完新硬體卻抓不到的情況,而Phoenix SCT 3.0可以韌體方式修正此情況。

許多生產線上的自動測試軟體,會因為BIOS啟用Secure Boot選項而無法作用,Phoenix所設計的Auto Signature Enroll Utility,可設定產品在通過所有測試後,在最後一次關機時才把BIOS設定成啟用Secure Boot。此外,也支援微軟要求的EFI韌體或硬體要提供在開機進入Windows之間的亂數產生器 (Random Generator, RNG) 協定。

在平板電腦啟用BitLocker硬碟編碼機制時,因作業系統下的觸控IC驅動程式被納入TPM編碼防護區塊中因此無法在開機過程初始化,導致剛開機階段無法啟用平板的虛擬鍵盤來輸入密碼,而Phoenix SCT 3.0可以在開機階段就預先啟用觸控機制,透過虛擬鍵盤進行BitLocker解鎖。此外平板電腦需搭配外接USB Lan Dongle (USB轉LAN轉接器) 對外連線,Phoenix SCT 3.0可支援USB轉Lan轉接器下的網路開機 (LanBoot PXE),以及對使用Windows to Go (WTG) 的USB裝置開機的支援。

陳健書提到微軟提出未來將BIOS、TPM、讀卡機晶片甚至LAN網路卡等韌體,透過Windows Update自動下載與更新 (Windows EFI Firmware Update, WUFU);Phoenix SCT 3.0已能完整支援NIST SP 800-147 (Secure BIOS、Secure Flash ) 等安全性規範,以及Non-volatile Capsule Update機制,並預留對未來WUFU的支援;同時也支援微軟定義的ConnectedStandby (待機連線) 所需的S0ix、PUIS (Power Up In Standby) 模式。

摩登設定畫面與絕佳用戶體驗

陳健書強調Phoenix SCT 3.0可因應客戶需要,隱藏某些敏感?關鍵性設定選項,透過特殊熱鍵 (Hotkey) 才能顯示出來。在某些應用案例中,還可將檔案總管 (File Explorer) 內嵌於BIOS設定畫面,提供類似Windows檔案總管的功能,有助於用戶在開機尚未載入OS階段,就能先對硬碟內的驅動程式做目錄、檔案整理,從網路下載或刪除。

另外,Phoenix SCT 3.0在開機階段就可直接驅動觸控IC啟始化並加以支援,提供BIOS設定的觸控按鍵熱區 (Hot-zone),即便在沒有鍵盤的情況下,用戶手指碰觸螢幕邊角即可觸發不同功能,像碰觸螢幕右上角進入BIOS Setup,碰觸右下角進入Boot Menu,碰觸左下角則觸發Windows Key。陳健書也提到,由於Intel UEFI韌體碼所預設的文字尺寸為19點,在7.5吋的小平板上觀看不易,也不容易精確觸控,而Phoenix SCT 3.0提供可調整縮放字體的瀏覽模式。

Phoenix SCT 3.0最大的改變在於全新的Windows 8風格GUI BIOS Setup,與Windows 8一致的動態磚操作介面,藉由手指觸控、滑鼠點選,或者按出浮動鍵盤的方式來點選功能、進行BIOS設定,就連手勢操控 (Gesture) 也在未來的支援計畫中。

OEM/ODM系統開發商更可透過可自訂圖形使用者介面核心引擎Phoenix Desktop Manager (PDM) 輕鬆設計專屬的圖形化介面,WYSIWYG所見即所得的即時調整文字?顏色,其操作方式跟Windows幾乎一致。

以BIOS Applications創造嵌入式系統加值

PDM的另一項特點是作為OEM廠商建置在開機進入Windows之前,預先載入執行UEFI apps程式的延伸平台,創造許多加值與差異化的空間。例如計算機與QR Code判讀程式,不需要等待進入Windows的時間,直接在BIOS階段執行即可。

過去搭配生產線做自動化測試時,為拿掉某些預設預載的EFI驅動程式,幾乎都要重新修改BIOS韌體。透過Phoenix SCT 3.0開發環境下的通用訂製化系統 (Universal Customized System;UCS),以UCS做好幾種驅動程式、功能組合的選項,並寫進BIOS韌體內,再藉由Runtime Feature Control跳線位元 (Jumper bit) 定義,當系統開機時,BIOS韌體會依照產線在主機板上的Jumper跳接設定,Phoenix SCT 3.0執行對映的驅動程式?功能組合,這樣產線不必坐等BIOS工程師修改韌體後才能進行測試。

提昇系統整合性與安全性

在提昇系統完整性 (System Integrity) 的部份,Sure Boot提供了BIOS Auto Fail-Over (BIOS失效自動回復),也就是連續幾次開機不成功後,系統會選擇最保守的出廠預設值來進行開機;Safe Recover BIOS2提供雙重韌體備援?修復機制,減少日後因BIOS毀損而送回RMA回修的機率;Debug Support Capability,在Windows 8環境下發生死當的藍色畫面時,會將錯誤的暫存器與狀態旗號、記憶體位址、發生可能等偵錯資訊,透過UEFI BIOS Capsule Update,寫入非揮發性記憶體封存起來;非揮發性資料封存 (Non-Volatile Capsule),將參數設定值直接寫到受保護的GPT硬碟分割區 (GPT Partition) 並且重新開機,取代S3睡眠甦醒的開機模式。

在其他安全性加強部份,像從Tiano (UEFI) 所定義的Secure Boot階段,就確保了可靠的軟韌體才能夠執行,並且加入了針對BIOS系統參數寫入的保護,以及UEFI RAID OPROM等密碼支援。

陳健書指出,Phoenix SCT 3.0作為因應嵌入式市場的解決方案,在於其通用建構系統,可協助嵌入式系統開發商從現有Legacy/EDK 1117韌體平順轉移到EDK II,更同步支援Windows 8 Embedded;可延展的文字設定畫面、觸控式介面到圖形化設定介面,從嵌入式行動裝置到平板電腦都能應用;BIOS毀損自動修復機制與預留未來WUFU的支援性,強化系統可靠性;同時支援Windows 8的安全需求。

以EDKⅡ架構開發的Phoenix SCT 3.0 UEFI BIOS,能夠平順移轉過去EDK1117的軟體碼資源,兼顧未來ARM架構的跨平台移植性,同時提供更好的連接性(Connectivity)與用戶體驗,支援伺服器及嵌入式應用,並為客戶創造差異化的產品價值。

(本文提供英譯版本,請按此連結閱讀英譯版本內容)