W10 Edge/IE11 是否不支持 SHA-1 客戶端證書?
我知道在幾年前,Windows 10 上的 Edge 和 IE11 不支持連結到 Microsoft 受信任程序中的根 CA 證書的 SHA-1 伺服器證書。
我們有一個託管我們的 ASP.NET 系統的 IIS 網路場。伺服器使用根證書,雖然它是使用 SHA-1 生成的,但它不是受信任程序的一部分,因此在用於安全連接時沒有問題;問題是我們的一些應用程序需要智能卡身份驗證,一旦提示輸入 PIN,Edge/IE11 就會終止連接。
好像 Edge/IE11 不允許傳輸基於 SHA-1 的證書。
對此的一個奇怪警告是,如果我強制 IE11 僅使用已棄用的 TLS 版本(即 TLS 1.0),那麼它可以工作,因為智能卡證書被傳輸並用於身份驗證。如果我強制 IE11 使用 TLS 1.2,那麼它會失敗。
使用
certutil
我能夠確定智能卡客戶端證書是使用 SHA-1 生成的,並且還由伺服器上使用的根 CA 證書籤名。IE11 在 Windows 7 上執行良好,所以我認為安全策略只影響 W10 版本。
我是否錯過了這也會影響客戶端證書的公告?最初的公告明確表明情況並非如此:
SHA-1 客戶端身份驗證證書將如何受到影響?
2017 年中的更新不會阻止使用 SHA-1 簽名證書的客戶端用於客戶端身份驗證。
使用 SHA1 的客戶端證書不再起作用並不令我感到驚訝。客戶端證書是 IIS 中從未真正流行起來的一項功能,Microsoft 不再在它上面花費大量時間。Edge 瀏覽器約佔瀏覽器市場份額的 5%,而 chrome 從未支持 PIV。瀏覽器中的 PIV 身份驗證已被 FIDO U2F 和 FIDO2 等新技術取代。如果您的應用程序需要高度安全性,那麼您不應該使用帶有 SHA1 證書的智能卡,而應該遷移到更新的技術。如果你想繼續使用 PIV 協議,我會研究Yubikey 5或PivKey. 如果您使用 Yubikey 5,那麼它支持 PIV 和 FIDO2,因此遷移應該很容易並且不需要新的令牌。如果您不想編寫大量程式碼,Yubikey 還支持 Yubikey 身份驗證,您只需 5 行即可編寫程式碼。
PIVKeys 的成本約為 $ 20 each depending on the formfactor. Yubikey 5 starts at $ 45. FIDO 代幣的價格約為 20 美元。
如果您想繼續使用 PIV,那麼您將需要重新發行所有智能卡,但是根證書應該仍然很好,因為它是電腦直接信任的(如果在根證書儲存中),因此雜湊版本無關緊要.