搜尋此網誌

2013年8月27日 星期二

安全啟動概述(Secure Boot Overview) --- UEFI

From: http://technet.microsoft.com/en-us/library/hh824987.aspx

適用作業系統: Windows 8, Windows 8.1, Windows Server 2012, Windows Server 2012 R2

安全開機(Secure Boot)是一個在個人電腦上,以UEFI為基礎的功能;它幫助增加個人電腦的安全,以防止未被授權軟體在開機啟動程序期間被執行在個人電腦上。它檢查每個軟體程式區段是否擁有一個有效的簽章,包括作業系統被載入時也須被檢查。

當安全開機(Secure Boot)在個人電腦上被啟動,它會檢查每個軟體程式區段,在韌體中包含Option ROMs、UEFI驅動程式、UEFI應用程式、還有作業系統,違反已知良好簽章的資料庫維持著。如果每個軟體程式區段都是有效,此韌體執行這軟體與這作業系統。

常被問的問題:
• 我是否需要安全開機的功能,才能夠升級到最新版本的Windows系統?
◦ 對於x86與x64方面的PC:安全開機(Secure Boot)不是必備的。它是一個可選擇的功能,它能夠經由OEM製造商去加入它,為了增強PC的安全性,還有你將可以發現它在所有的Windows 8.1 搶先版或者是Windows®8的徽標認證的個人電腦。
◦  對於ARM方面的PC:對於Windows RT 8.1搶先版與Windows RT 8.1零售電腦,這安全開機(Secure Boot)是必備的,不能夠被關閉。
•  如果我的新硬體裝置不被系統信任時,會發生什麼事?
你的個人電腦(PC)可能不能夠被開機,這裡有兩種問題會發生:
◦  此韌體不信任此作業系統、Option ROM,驅動程式、或是應用程式,因為它不是被信任經由安全啟動資料庫(Secure Boot database)。
◦  一些硬體要求核心模式驅動程式,它必須擁有簽章。注意:許多舊識的32位元(x86)驅動程式沒有簽章,因為核心模式驅動程式簽章是為了安全啟動最近才被規定的。關於更多資訊,請參閱"Secure boot feature signing requirements for kernel-mode drivers"。
關於更多資訊,請參閱"Windows 8 with Secure Boot enabled may no longer boot after installing new hardware"。
•  如何我才能夠加入硬體或執行軟體或作業系統,當它們不被系統信任時?
◦  你能夠檢查Microsoft或是PC製造商是否有更新軟體。
◦  你能夠聯絡你的製造商並要求新增的硬體或軟體到安全開機資料庫(Secure Boot database)。
◦  對於x86還是x64的PC,你可能必須關閉安全開機(Secure Boot)的功能。請聯絡你的製造商取得相關操作說明。
◦  在某些情況下,你可能需要去改變在系統任體中的相關設定,例如:開啟Compatibility Support Module (CSM)去支援原始BIOS系統。去使用CSM同時,你可能也需要去重新格式化你的硬碟,使用Master Boot Record (MBR)的格式。然後重新安裝Windows。關於更多資訊,請參閱Windows安裝設定:安裝使用MBR或GPT磁區樣式( Installing using the MBR or GPT partition style)。
•  如何我才能夠建立或編輯安全啟動資料庫(Secure Boot databases)?
消費者應該聯絡他們的製造商取得對於他們的個人電腦的操作說明。

製造的需求
安全開機(Secure Boot)要求一部電腦,它符合UEFI規格2.3.1版,Errata C或更高。
全開機(Secure Boot)被支援對於UEFI類別2與類別3的電腦。關於UEFI類別2的電腦,當它的安全開機(Secure Boot)被致能,這compatibility support module (CSM)必須被除能,所以電腦只能夠啟動經授權的UEFI基礎的作業系統。

安全開機(Secure Boot)不要求一個信任的平台模組(Trusted Platform Module (TPM))
啟動核心除錯模式,致能測試簽章(TESTSIGNING),或去除能NX,你必須關閉安全開機(Secure Boot)。關於更多資訊,請參閱"Windows 8 Secure Boot Key Creation and Management Guidance"。

它怎麼運作?
當安全開機(Secure Boot)在個人電腦上被啟動,它會檢查每個軟體程式區段,在韌體中也包含UEFI驅動程式(被稱為Option ROMs)還有作業系統,違反已知良好簽章的資料庫維持。如果每個軟體程式區段都是有效,此韌體執行這軟體與這作業系統。

簽章資料庫與密鑰(Signature Databases and Keys)
之前個人電腦才開始部署,OEM儲存安全啟動(Secure Boot)資料庫到PC上。此包含簽章的資料庫(signature database (db)),撤銷簽章的資料庫(revoked signature database (dbx)),還有密鑰登入密鑰資料庫( Key Enrollment Key database (KEK))到PC上。在製造時期,這些資料庫被儲存到韌體非揮發的記憶體中。

簽章的資料庫(signature database (db))與撤銷簽章的資料庫(revoked signature database (dbx))列出這些簽章者或影像檔UEFI應用程式、作業系統載入器(例如:微軟作業系統載入器、或開機管理程式),或是UEFI驅動程式,它們能夠在個人電腦上被載入,且撤銷影像檔相關條款,它們不再被信任,還有可能不會被載入。

密鑰登入密鑰資料庫( Key Enrollment Key database (KEK))是一個分割簽章密鑰的資料庫,它能夠被應用在更新數位簽章資料庫與撤銷簽章的資料庫。微軟要求一個具體指明的密鑰被加入在KEK資料庫中,以便在未來微軟可以加入新的作業系統到數位簽章資料庫或添加到已知的惡意影像檔到撤銷簽章的資料庫中。

這些資料庫已被增添之後,與最後的韌體查核與測試之後,OEM鎖住韌體的編輯。除了更新,它必須擁有簽章跟正確的密鑰,經由實際存在的使用者,他使用韌體選單,然後產生一個平台密鑰(platform key (PK))。這PK可以被用來簽署更新KEK或關閉安全啟動(Secure Boot)。

在建立這些資料庫,OEMs應該聯絡他們的製造商關於工具與援助。關於更多資訊,請參閱"Windows 8 Secure Boot Key Creation and Management Guidance"。

啟動順序(Boot Sequence)
  1. 在PC的電源被開啟後,簽章資料庫核對平台的密鑰(platform key: PK)。
  2. 如果韌體不備系統信任,UEFI韌體必須開始OEM的特定復原原來已被信任的韌體。
  3. 如果這裡有一個跟Windows開機管理程式(Windows Boot Manager)的問題,此認體將試圖去啟動一個Windows開機管理程式的備份。如果還是失敗,認體必須開始OEM特定的矯正。
  4. 在Windows開機管理程式已經開始運作,如果這裡有一個跟驅動程式或NTOS核心的問題,Windows恢復環境程式(Windows Recovery Environment (Windows RE))會被載入,以至於這些驅動程式或核心影像能夠被復原。
  5. Windows載入非惡意程式軟體。
  6. Windows載入其他核心程式與初始化使用者模式程序。


關於更多資訊,請參閱白皮書: Secured Boot and Measured Boot: Hardening Early Boot Components Against Malware。

也可以閱讀其他的資源:
UEFI Firmware
Secured Boot and Measured Boot: Hardening Early Boot Components Against Malware

沒有留言:

張貼留言