摘要
為了幫助保護 Windows 作業系統的安全性,以前對更新進行了簽名(同時使用 SHA-1 和 SHA-2 雜湊演算法)。 簽名用於驗證更新是否直接來自 Microsoft,在交付過程中未被篡改。 由於 SHA-1 演算法中的弱點,以及為符合 Microsoft 行業標準,Microsoft 只會使用更安全的 SHA-2 演算法來簽署 Windows 更新。 此更改從 2019 年 4 月到 2019 年 9 月分階段完成,以便順利遷移(有關更改的更多詳細資訊,請參閱「產品更新排程」部分)。
執行舊版 OS 版本(Windows 7 SP1、Windows Server 2008 R2 SP1 和 Windows Server 2008 SP2)的客戶,必須在其裝置上安裝 2019 年 7 月或更新的 SHA-2 程式碼簽署支援。 沒有 SHA-2 支援的裝置將無法安裝 2019 年 7 月或更新的 Windows 更新。 為了協助您面對此項變更,我們將發布 2019 年 3 月簽署的 SHA-2 支援,並已經進行改進。 Windows Server Update Services(WSUS)3.0 SP2 將會收到 SHA-2 支援,以正確地提供 SHA-2 簽署的更新。 請參閱 SHA-2 僅遷移時間表的「產品更新排程」部分。
背景詳細資料
安全雜湊演算法1(SHA-1)是做為無法復原的函數,而且廣泛用做程式碼簽署的一部分。 很遺憾,由於算法中存在的弱點、處理器性能的提高以及雲計算的出現,SHA-1雜湊算法的安全性隨著時間的推移而變得不安全。 目前更安全的替代方案如雜湊演算法 2(SHA-2)更受青睞,因為它們不會受到同樣問題的影響。 如需棄用 SHA-1 的詳細資訊,請參閱《雜湊算法和簽章運算法》。
產品更新排程
從 2019 年開始,移轉至 SHA-2 的程序將分階段進行 ,而支援將在獨立更新中提供。 Microsoft 針對以下排程提供 SHA-2 支援。 請注意,下面的時間表可能會變更。 我們會視需要更新本文。
| 目標日期 | 活動 | 適用於 |
|---|---|---|
| 2019 年 3 月 12 日 | 獨立安全性更新 KB4474419 和 KB4490628 已發佈,引入 SHA-2 程式碼簽署支援。 | Windows 7 SP1 Windows Server 2008 R2 SP1 |
| 2019 年 3 月 12 日 | 獨立更新,KB4484071可在支援傳送 SHA-2 簽名更新的 WSUS 3.0 SP2 目錄中取得Windows Update。 對於使用 WSUS 3.0 SP2 的客戶,應在 2019 年 6 月 18 日之前手動安裝此更新。 | WSUS 3.0 SP2 |
| 2019 年 4 月 9 日 | 獨立更新, KB4493730引入服務堆疊(SSU)的 SHA-2 程式碼簽署支援已作為安全更新發布。 | 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 程式碼簽署支援。 需要四月和五月發行的支援 (KB4493730 和 KB4474419) 以便繼續接受這些 Windows 版本的更新。 此次舊版 Windows 更新簽署從雙簽署(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-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 可信任的根計畫的憑證信任清單(CTL)上的簽名僅從雙簽名(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 簽署的 Secure Hash Algorithm 1 (SHA-1) ,來自 Microsoft 下載中心。 更多資訊請參閱 Windows IT 專業部落格 SHA-1 Windows 內容,預計於 2020 年 8 月 3 日退休。 | 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 伺服器 |
目前狀態:
Windows 7 SP1 和 Windows Server 2008 R2 SP1
在安裝 2019 年 8 月 13 日或更新版本發佈的任何彙總前,必須安裝以下更新,並且必須重新開機。 所需的更新可以按任意順序安裝,並且不需要重新安裝,除非有所需更新的新版本。
- 服務堆疊更新(SSU)(KB4490628)。 如果使用 Windows Update,最新的 SSU 將會自動提供給您。
- 2019 年 9 月 10 日發行的最新 SHA-2 更新 (KB4474419)。 如果使用 Windows Update,會自動為您提供所需要的 SHA-2 更新。
重要事項 安裝所有必要更新後,您必須重新啟動裝置,才能安裝任何每月彙整、僅安全性更新、每月匯總預覽或獨立更新。
Windows Server 2008 SP2
在安裝 2019 年 9 月 10 日或更新版本發佈的任何匯總之前,必須安裝以下更新,並且必須重新開機。 所需的更新可以按任意順序安裝,並且不需要重新安裝,除非有所需更新的新版本。
- 服務堆疊更新(SSU)(KB4493730)。 如果使用 Windows Update,所需要的 SSU 將會自動提供給您。
- 2019 年 9 月 10 日發行的最新 SHA-2 更新 (KB4474419)。 如果使用 Windows Update,所需要的 SHA-2 更新將會自動提供給您。
重要事項 安裝所有必要更新後,您必須重新啟動裝置,才能安裝任何每月彙整、僅安全性更新、每月匯總預覽或獨立更新。
常見問題集
一般資訊、規劃和問題預防
1. KB3033929 和 KB4039648 的更新與三月和四月發布的獨立更新有何不同?
早期發布了 SHA-2 程式碼簽署支援,以確保大多數客戶在微軟變更為 SHA-2 簽署獲得系統更新支援。 獨立更新包括一些其他修復程序,並且可用於確保所有 SHA-2 更新都包含少量易於識別的更新。 Microsoft 建議維護這些操作系統的系統映像的客戶進行映像更新。
2. 其他版本的 WSUS 會加入 SHA-2 支援嗎?
從 Windows Server 2012 上的 WSUS 4.0 開始,WSUS 已支援 SHA-2 簽署更新,而這些版本不需要任何客戶動作。
只有 WSUS 3.0 SP2 需要安裝 KB4484071 以支援僅 SHA2 簽名的更新。
3. 我有一台Windows Server 2008 年的 SP2 系統,可以雙重開機Windows Server 2008 R2 (或 Windows 7) 。我該如何更新到 SHA-2 支援?
假設您的電腦搭載 Windows 伺服器 2008 SP2 如果使用 Windows 伺服器 2008 R2 SP1/Windows 7 SP1 進行雙重開機,則此類系統的啟動管理器來自 Windows 伺服器 2008 R2/Windows 7 系統。 為了成功更新這兩個系統以使用 SHA-2 支援,您必須首先更新 Windows 伺服器 2008 R2/Windows 7 系統,以便引導管理器更新到支援 SHA-2 的版本。 然後,使用 SHA-2 支援更新 Windows 伺服器 2008 SP2 系統。
4. 我的系統有兩個分割區,一個是 2008 Windows Server SP2,另一個是 Windows 7 PE (WinPE) 開機環境。如何?更新到 SHA-2 支援?
與雙重開機情況類似,Windows 7 PE 環境必須更新為 SHA-2 支援。 然後,Windows 伺服器 2008 SP2 系統必須更新為 SHA-2 支援。
5. 我正在使用安裝檔來執行 Windows 7 SP1 或 Windows Server 2008 R2 SP1 的全新安裝。我使用的映像檔已經透過更新自訂,例如 (dism.exe) 。如何?更新到 SHA-2 支援?
- 於 2019 年 8 月 13 日安裝或更高版本的更新之前,Run Windows 設置以完成並啟動至 Windows 中
- 打開管理員命令提示字元視窗,執行 bcdboot.exe。 這將從 Windows 目錄複寫開啟檔並設置開啟環境。 有關詳細資訊,請參閱《BCDBoot 命令列選項》。
- 在安裝任何額外更新前,請先安裝 2019 年 8 月 13 日重新發行的 Windows 7 SP1 KB4474419 和 KB4490628 Windows Server 2008 R2 SP1。
- 重新開啟作業系統 必須重新開機。
- 安裝任何剩餘的更新。
6. 我正在直接安裝 Windows 7 SP1 或 Windows Server 2008 R2 SP1 的映像檔到磁碟,且沒有執行安裝。如何?讓這種情況運作?
- 在硬碟上安裝映像檔並開機為 Windows 。
- 在命令提示字元後輸入bcdboot.exe。 這將從 Windows 目錄複寫開啟檔並設置開啟環境。 有關詳細資訊,請參閱《BCDBoot 命令列選項》。
- 在安裝任何額外更新前,請先安裝 2019 年 9 月 23 日重新發行的 Windows 7 SP1 KB4474419 和 KB4490628 Windows Server 2008 R2 SP1。
- 重新開啟作業系統 必須重新開機。
- 安裝任何剩餘的更新。
7. 我的 x64 裝置或虛擬機使用 EFI Boot,是否受到 Windows 7 SP1 和 Windows Server 2008 R2 SP1 的 SHA-2 更新支援?
是的,你需要先安裝必要的更新才能繼續:SSU (KB4490628) ,SHA-2 更新 (KB4474419) 。 此外,請在安裝所需的更新後重新開機,然後再安裝任何其他更新。
8. Windows 10,版本 1903 未列於上表,是否支援 SHA-2 更新?需要採取任何行動嗎?
Windows 10 版本 1903 自發行後持續支援 SHA-2,且所有更新都僅對 SHA-2 進行簽名。 此版本的 Windows 不需要任何操作。
9. 我正在用 dism.exe /online 安裝一個線上 () 系統更新。如何?讓這種情況運作?
Windows 7 SP1 和 Windows Server 2008 R2 SP1
- 在安裝任何 2019 年 8 月 13 日或更高版本的更新之前,開機啟動 Windows。
- 在安裝任何額外更新前,請先安裝 2019 年 9 月 23 日重新發行的 Windows 7 SP1 KB4474419 和 KB4490628 Windows Server 2008 R2 SP1。
- 重新開啟作業系統 必須重新開機。
- 安裝任何剩餘的更新。
Windows Server 2008 SP2
問題修復
1. 我的 x86 或 x64 裝置或虛擬機 (虛擬機) 無法啟動,且在安裝 2019 年 8 月 13 日或之後更新後重啟時,收到錯誤0xc0000428 (STATUS_INVALID_IMAGE_HASH) 或裝置進入復原環境。我已安裝 KB4474419 和 KB4490628以包含 SHA-2 支援。如何?恢復我的安裝?
如果您看到錯誤 0xc0000428,並顯示訊息「Windows cannot verify the digital signature for this file. 最近的硬體或軟體變更可能安裝了錯誤或損壞的檔案,或是來自未知來源的惡意軟體。」 請遵循以下步驟恢復。
- 使用恢復媒體啟動作業系統。
- 在安裝任何額外更新前,請使用部署映像服務與管理 (DISM) for Windows 7 SP1 及 2008 R2 SP1 Windows Server安裝日期為 2019 年 9 月 23 日或更晚日期的更新KB4474419。
- 在命令提示字元後輸入bcdboot.exe。 這將從 Windows 目錄複寫開啟檔並設置開啟環境。 有關詳細資訊,請參閱《BCDBoot 命令列選項》。
- 重新開啟作業系統
2. 我已經對環境中所有裝置或虛擬機 (虛擬機) 部署了 rollup 更新,重啟後,出現 STATUS\_INVALID\_IMAGE\_HASH) 錯誤,或是裝置進入復原環境0xc0000428 (錯誤。對於尚未重啟的剩餘裝置或虛擬機,我該怎麼處理?
- 停止部署到其他設備,不要重新開機尚未重新開機的任何裝置或 VM。
- 使用 2019 年 8 月 13 日或以後發佈的更新,識別處於重新開機待命狀態的裝置和 VM,並打開已提升權限的命令提示字元
- 使用以下指令,使用該更新的 KB 號碼找到你想移除的更新的套件身份 (如果不是 2019 年 8 月 13 日發佈的每月整合, ) 4512506 替換成你目標的 KB 號碼 : dism /online /get-packages | findstr 4512506
- 請使用以下指令移除更新,將套件身份>替換<為前一個指令中的格式: Dism.exe /online /remove-package /packagename:<package identity>
- 現在,您需要安裝《如何獲取更新》中列出的所需更新,或本文《目前狀態》 部分所列出的所需更新。
注意 您目前收到錯誤0xc0000428或正在進入復原環境的裝置或虛擬機,您需要依照常見問題中的錯誤0xc0000428步驟操作。
3. 如果我在嘗試安裝 Windows 7 SP1、Windows Server 2008 R2 SP1 或 Windows Server 2008 SP2 更新時,收到錯誤代碼 80096010 或錯誤代碼 80092004 (CRYPT_E_NOT_FOUND) 「Windows Update 遇到未知錯誤」,我該怎麼辦?
如果遇到這些錯誤,則需要安裝《如何獲取更新》部分中列出的所需更新,或上述《目前狀態》部分中列出的所需更新。
4. 我的 Intel Itanium IA64 裝置無法啟動,且收到 STATUS\_INVALID\_IMAGE\_HASH) 錯誤0xc0000428 (但我已經安裝了 KB4474419 和 KB4490628。如何?能恢復我的安裝?
如果您看到錯誤 0xc0000428,並顯示訊息「Windows cannot verify the digital signature for this file. 最近的硬體或軟體變更可能安裝了錯誤或損壞的檔案,或是來自未知來源的惡意軟體。」 請遵循以下步驟恢復。
- 使用恢復媒體啟動作業系統。
- 使用 Windows 7 SP1 和 Windows 伺服器 2008 R2 SP1 的部署映像服務與管理(DISM),以安裝發佈於 2019 年 8 月 13 日或更新的 SHA-2 更新 (KB4474419)。
- 重新開機至復原媒體。 必須重新開機。
- 在命令提示字元後輸入bcdboot.exe。 這將從 Windows 目錄複寫開啟檔並設置開啟環境。 有關詳細資訊,請參閱《BCDBoot 命令列選項》。
- 重新開啟作業系統
5. 安裝 2019 年 9 月 10 日釋出的 (KB4474419) 2008 Windows Server SP2 更新後,無法手動雙擊 .msu 檔案安裝更新,並收到錯誤訊息:「安裝程式遇到錯誤:0x80073afc。資源載入器未能找到 MUI 檔案。」
如果你遇到這個問題,可以透過打開命令提示字元視窗並執行以下指令安裝更新, (將 MSU 位置>的佔位符替換<成更新的實際位置和檔名來緩解) :
wusa.exe <MSU 地點> /安靜
2019 年 10 月 8 日發佈的 KB4474419 已解決此問題。 Windows Server Update Service(WSUS)和 Windows 更新會自動安裝此更新。 如果需要手動安裝此更新,則需要使用上述解決方法。
注意 如果你之前安裝 KB4474419 於 2019 年 9 月 23 日發布,那麼你已經安裝了最新版本的更新,不需要重新安裝。