摘要
為了協助保護 Windows 作業系統的安全性,先前已使用 SHA-1 (SHA-1 和 SHA-2 雜湊演算法來簽署更新) 。 簽章是用來驗證更新是否來自 Microsoft,且未在傳遞期間遭到竄改。 由於 SHA-1 演算法有缺點,而且符合產業標準,我們已變更 Windows 更新的簽署方式,以獨佔使用更安全的 SHA-2 演算法。 這項變更是在 2019 年 4 月到 2019 年 9 月的階段中完成 (請參閱「產品更新排程」一節,以進一步瞭解) 。
執行舊版作業系統版本 (Windows 7 SP1、Windows Server 2008 R2 SP1 和 Windows Server 2008 SP2) 的客戶,必須安裝裝置上的 SHA-2 程式碼簽署支援,才能安裝 2019 年 7 月或之後發佈的更新。 沒有 SHA-2 支援的任何裝置將無法在 2019 年 7 月當天或之後安裝 Windows 更新。 為了協助準備您進行這項變更,我們已從 2019 年 3 月發行 SHA-2 的登錄支援,並做了增量改良。 Windows Server Update Services (WSUS) 3.0 SP2 將會收到 SHA-2 支援,以安全地提供 SHA-2 簽署的更新。 請參閱 SHA-2 僅移移時程表的「產品更新排程」一節。
背景詳細資料
Secure Hash 演算法 1 (SHA-1) 是開發為無法恢復的雜湊函數,並廣泛做為程式碼簽核的一部分。 很抱歉,SHA-1 雜湊演算法的安全性隨著時間而變得較不安全,因為演算法有缺點、處理器的提升以及雲端運算的出現。 較強的替代方案#A0 例如安全雜湊演算法 2 (SHA-2) 現在較佳,因為它們不會遇到相同的問題。 有關 SHA-1 已由來已用之詳細資訊,請參閱 雜湊和簽章演算法。
產品更新排程
從 2019 年初開始,移移至 SHA-2 支援的過程會分期開始,且將會以獨立更新提供支援。 Microsoft 正在針對下列排程提供 SHA-2 支援。 請注意,下列時程表可能會有所變更。 我們會繼續根據需要更新此頁面。
目標日期 |
事件 |
適用于 |
2019 年 3 月 12 日 |
Windows 7 SP1 Windows Server 2008 R2 SP1 |
|
2019 年 3 月 12 日 |
獨立更新 KB4484071 適用于支援提供 SHA-2 簽署的更新的 WSUS 3.0 SP2 Windows 更新目錄。 對於使用 WSUS 3.0 SP2 的客戶,此更新不應晚于 2019 年 6 月 18 日手動安裝。 |
WSUS 3.0 SP2 |
2019 年 4 月 9 日 |
針對維護堆疊 推出 SHA-2 程式碼支援之獨立更新 KB4493730 (SSU) 已發行為安全性更新。 |
Windows Server 2008 SP2 |
2019 年 5 月 14 日 |
推出獨立安全性更新 KB4474419, 推出 SHA-2 程式碼支援。 |
Windows Server 2008 SP2 |
2019 年 6 月 11 日 |
重新發行 獨立安全性更新 KB4474419,以新增遺失的 MSI SHA-2 程式碼支援。 |
Windows Server 2008 SP2 |
2019 年 6 月 18 日 |
Windows 10 更新簽章從雙簽署 (SHA-1/SHA-2) 變更為 SHA-2。 不需要客戶動作。 |
Windows 10 版本 1709 Windows 10 版本 1803 Windows 10 版本 1809 Windows Server 2019 |
2019 年 6 月 18 日 |
必填: 對於使用 WSUS 3.0 SP2 的客戶 ,KB4484071 必須在此日期之前手動安裝,以支援 SHA-2 更新。 |
WSUS 3.0 SP2 |
2019 年 7 月 9 日 |
必填: 舊版 Windows 的更新會要求安裝 SHA-2 程式碼簽署支援。 (年 4 月和 5 月發行的支援 需要 KB4493730 和 KB4474419) 才能繼續接收這些 Windows 版本的更新。 目前所有舊版 Windows 更新簽章都從 SHA1 和雙簽署的 (SHA-1/SHA-2) 變更為 SHA-2。 |
Windows Server 2008 SP2 |
2019 年 7 月 16 日 |
Windows 10 更新簽章從雙簽署 (SHA-1/SHA-2) 變更為 SHA-2。 不需要客戶動作。 |
Windows 10 版本 1507 Windows 10 版本 1607 Windows Server 2016 Windows 10 版本 1703 |
2019 年 8 月 13 日 |
必填: 舊版 Windows 的更新會要求安裝 SHA-2 程式碼簽署支援。 (年 3 月發佈的 支援需要 KB4474419 和 KB4490628) 才能繼續接收這些 Windows 版本的更新。 如果您有使用 EFI 開機的裝置或 VM,請參閱常見問題區段,瞭解避免裝置無法啟動之問題的其他步驟。 目前所有舊版 Windows 更新簽章都從 SHA-1 和雙簽署的 (SHA-1/SHA-2) 變更為 SHA-2。 |
Windows 7 SP1 Windows Server 2008 R2 SP1 |
2019 年 9 月 10 日 |
舊版 Windows 更新簽章從雙簽署 (SHA-1/SHA-2) 變更為 SHA-2。 不需要客戶動作。 |
Windows Server 2012 Windows 8.1 Windows Server 2012 R2 |
2019 年 9 月 10 日 |
獨立安全性更新KB4474419已重新發行,以新增遺失的 EFI 開機管理器。 請確定已安裝此版本。 |
Windows 7 SP1 Windows Server 2008 R2 SP1 Windows Server 2008 SP2 |
2020 年 1 月 28 日 |
Microsoft根信任程式的憑證信任清單 (CTLS) 上的簽章從雙簽署 (SHA-1/SHA-2) 變更為僅 SHA-2。 不需要客戶動作。 |
所有支援的 Windows 平臺 |
2020 年 8 月 |
已停用 Windows Update SHA-1 型服務端點。 這只會影響尚未更新為適當安全性更新的較舊 Windows 裝置。 詳細資訊請參閱KB4569557。 |
Windows 7 Windows 7 SP1 Windows Server 2008 Windows Server 2008 SP2 Windows Server 2008 R2 Windows Server 2008 R2 SP1 |
2020 年 8 月 3 日 |
Microsoft 已停用 Windows 簽署的安全雜湊演算法 1 (SHA-1) Microsoft 下載中心提供的內容。 詳細資訊請參閱將于 2020年 8 月 3 日淘汰的 Windows IT 專業人員部落格 SHA-1 Windows 內容。 |
Windows Server 2000 Windows XP Windows Server 2003 Windows Vista Windows Server 2008 Windows 7 Windows Server 2008 R2 Windows 8 Windows Server 2012 Windows 8.1 Windows Server 2012 R2 Windows 10 Windows 10 Server |
現狀
Windows 7 SP1 和 Windows Server 2008 R2 SP1
安裝 2019 年 8 月 13 日或更新版本的任何更新之前,必須先安裝下列必要的更新,然後重新開機裝置。 必要的更新可以任何順序安裝,而且不需要重新安裝,除非有新版必要的更新。
-
維護堆疊更新 (SSU) (KB4490628) 。 如果您使用 Windows Update,系統會自動提供您所需的 SSU。
-
2019 年 9 月 10 (KB4474419) SHA-2 更新。 如果您使用 Windows Update,系統會自動提供所需的 SHA-2 更新。
重要:安裝所有必要的更新之後,您必須先重新開機裝置,才能安裝任何每月匯總、安全性更新、每月匯總或獨立更新預覽版。
Windows Server 2008 SP2
安裝 2019 年 9 月 10 日或更新版本發行的任何匯總之前,必須先安裝下列更新,然後重新開機裝置。 必要的更新可以任何順序安裝,而且不需要重新安裝,除非有新版必要的更新。
-
維護堆疊更新 (SSU) (KB4493730) 。 如果您使用 Windows Update,系統會自動提供您所需的 SSU 更新。
-
KB4474419 (2019年 9) 10 日發行的最新 SHA-2 更新。 如果您使用 Windows Update,系統會自動提供所需的 SHA-2 更新。
重要:安裝所有必要的更新之後,您必須先重新開機裝置,才能安裝任何每月匯總、安全性更新、每月匯總或獨立更新預覽版。
常見問題
一般資訊、規劃和問題防護
SHA-2 程式碼簽署支援會提早提供,以確保大部分客戶在 Microsoft 變更為 SHA-2 簽署以更新這些系統之前,及早獲得支援。 獨立更新包含一些額外的修正程式,並且提供這些修正,以確保所有 SHA-2 更新都只提供少量可輕鬆識別的更新。 Microsoft 建議維護這些 OS 之系統映射的客戶,將這些更新適用于影像。
從 Windows Server 2012 上的 WSUS 4.0 開始,WSUS 已經支援 SHA-2 簽署的更新,而且這些版本不需要客戶動作。
只有 WSUS 3.0 SP2 需要 安裝 KB4484071,才能支援 SHA2 僅簽署的更新。
假設您執行 Windows Server 2008 SP2。 如果您使用 Windows Server 2008 R2 SP1/Windows 7 SP1 進行雙開機,這種類型的系統的開機管理員會來自 Windows Server 2008 R2/Windows 7 系統。 若要成功更新這兩個系統以使用 SHA-2 支援,您必須先更新 Windows Server 2008 R2/Windows 7 系統,讓開機管理員更新至支援 SHA-2 的版本。 然後,使用 SHA-2 支援更新 Windows Server 2008 SP2 系統。
與雙開機案例類似,Windows 7 PE 環境必須更新為 SHA-2 支援。 然後,Windows Server 2008 SP2 系統必須更新為 SHA-2 支援。
-
在安裝 2019 年 8 月 13 日或更新之前,執行 Windows 安裝程式以完成並開機至 Windows
-
開啟系統管理員命令提示視窗 ,執行 bcdboot.exe。 這會從 Windows 目錄複寫開機檔案,並設定開機環境。 請參閱 BCDBoot Command-Line選項以 進一步查看詳細資料。
-
安裝任何其他更新之前,請安裝 Windows 7 SP1 與 Windows Server 2008 R2 SP1 的 KB4474419和KB4490628的 2019 年 8 月 13 日重新發行。
-
重新開機作業系統。 需要重新開機
-
安裝任何剩餘的更新。
-
在磁片上安裝影像並開機至 Windows。
-
在命令提示符中,bcdboot.exe。 這會從 Windows 目錄複寫開機檔案,並設定開機環境。 請參閱 BCDBoot Command-Line選項以 進一步查看詳細資料。
-
安裝任何其他更新之前,請安裝 2019 年 9 月 23 日重新發行適用于 Windows 7 SP1 與 Windows Server 2008 R2 SP1 的KB4474419和KB4490628。
-
重新開機作業系統。 需要重新開機
-
安裝任何剩餘的更新。
是,您必須安裝必要的更新,才能繼續:SSU (KB4490628) 和 SHA-2 更新 (KB4474419) 。 此外,安裝必要的更新之後,您必須重新開機裝置,才能安裝任何進一步的更新。
Windows 10 版本 1903 自發行起即支援 SHA-2,且所有更新都已經過 SHA-2 的簽署。 此版本的 Windows 不需要執行任何動作。
Windows 7 SP1 和 Windows Server 2008 R2 SP1
-
在安裝任何 2019 年 8 月 13 日或更新之前啟動至 Windows。
-
安裝任何其他更新之前,請安裝 2019 年 9 月 23 日重新發行適用于 Windows 7 SP1 與 Windows Server 2008 R2 SP1 的KB4474419和KB4490628。
-
重新開機作業系統。 需要重新開機
-
安裝任何剩餘的更新。
Windows Server 2008 SP2
-
安裝任何 2019 年 7 月 9 日或更新之前,請啟動至 Windows。
-
安裝任何其他更新之前,請安裝 2019 年 9 月 23 日重新發行適用于 Windows Server 2008 SP2 的 KB4474419和KB4493730。
-
重新開機作業系統。 需要重新開機
-
安裝任何剩餘的更新。
問題復原
如果您看到錯誤訊息0xc0000428出現「Windows 無法驗證此檔案的數位簽章」訊息。 最近的硬體或軟體變更可能安裝了未正確簽署或損毀的檔案,或是來自不明來源的惡意軟體。」 請遵循下列步驟復原。
-
使用修復媒體啟動作業系統。
-
安裝任何其他更新之前,請安裝更新KB4474419,更新日期為 2019 年 9 月 23 日或更新日期,使用 Windows 7 SP1 與 Windows Server 2008 R2 SP1 的部署映射維護與管理 (DISM) 。
-
在命令提示符中,bcdboot.exe。 這會從 Windows 目錄複寫開機檔案,並設定開機環境。 請參閱 BCDBoot Command-Line選項以 進一步查看詳細資料。
-
重新開機作業系統。
-
停止部署至其他裝置,不要重新開機尚未重新開機的任何裝置或虛擬機器。
-
使用 2019 年 8 月 13 日或更新版本發佈的更新,找出重新開機擱置中的裝置和虛擬機器,並開啟提升許可權的命令提示
-
使用更新的 KB 編號使用下列命令來尋找您想要移除的更新套件身分識別 (以您目標 KB 號碼取代 4512506, 如果不是 2019 年 8 月 13 日發佈的每月匯總套件) : dism /online /get-packages | findstr 4512506
-
使用下列命令移除更新,將<套件身分識別>取代為上一個命令中的內容:Dism.exe /online /remove-package /packagename:<套件身分識別>
-
您現在必須安裝所嘗試安裝之更新的此更新區段中列出的所需更新,或本文的目前狀態欄段中列出的所需更新。
注意您目前收到錯誤或正在0xc0000428或正在進入復原環境的任何裝置或 VM,您必須遵循常見問題中的步驟,以找到錯誤0xc0000428。
如果您遇到這些錯誤,您需要安裝您嘗試安裝之更新的此更新區段中列出的所需更新,或本文的目前狀態欄段中列出的所需更新。
如果您看到錯誤訊息0xc0000428出現「Windows 無法驗證此檔案的數位簽章」訊息。 最近的硬體或軟體變更可能安裝了未正確簽署或損毀的檔案,或是來自不明來源的惡意軟體。」 請遵循下列步驟復原。
-
使用修復媒體啟動作業系統。
-
使用 Windows 7 SP1 和 Windows Server 2008 R2 SP1 的部署映射維護與管理 (DISM) ,安裝 2019 年 8 月 13 日當天或之後發行的最新 SHA-2 更新 (KB4474419) 。
-
重新開機到修復媒體。 需要重新開機
-
在命令提示符中,bcdboot.exe。 這會從 Windows 目錄複寫開機檔案,並設定開機環境。 請參閱BCDBoot Command-Line選項以進一步瞭解詳細資料。
-
重新開機作業系統。
如果您遇到此問題,您可以開啟命令提示視窗,然後執行下列命令來安裝更新 (將 <msu 位置> 預留位置取代為更新的實際位置和檔案名) :
wusa.exe <msu 位置> /quiet
這個問題在 2019 年 10 月 8 日發佈的 KB4474419中已經解決。 此更新將會自動從 Windows Update 和 Windows Server Update Services (WSUS) 。 如果您需要手動安裝此更新,您必須使用上述的解決方法。
注意如果您先前已安裝于 2019 年 9 月 23 日發佈的 KB4474419,表示您已有最新版本的此更新,因此不需要重新安裝。