引言:FIPS是Windows 10中一項隱含的系統加密功能,是一套描述文件處理、加密算法的標準,確切是指FIPS 140標準。它對普通用戶意味著什么?莫非采用它后就會讓系統安全無憂嗎?
FIPS 是Windows 10中一項隱含的系統加密功能,意即美國聯邦信息處理標 準(Federal Information Processing Standards),是一套描述文件處理、加密算法的標準,確切是指FIPS 140標準。
FIPS 140-2 進一步定義了 四種安全等級:
等級1通常用于僅軟件加密產品,安全要求非常有限;所有組件必須達到制造等級,不能存在任何極其嚴重的不安全因素。
等級2要求基于角色的認證(不要求個人用戶認證),它還要求具有通過使用物理鎖定或防篡改簽章識別物理篡改的能力。
等級3添加了物理篡改預防措施,防止拆卸或修改,讓非法侵入的難度更大,如果檢測到篡改,設備必須能夠擦除關鍵安全參數;等級3 還包括強大加密保護和密鑰管理、身份授權、界面間的物理或邏輯分隔(通過該分隔來輸入和保留關鍵安全參數)。
等級4包含高級篡改保護,專為要在未受物理保護的環境中運行的產品而設計。
那么,主要用于政府部門的Windows PC的FIPS加密技術,對于那些普通級別的用戶意味著什么?莫非采用它后就會讓系統安全無憂嗎?
依照官方解釋,除非確實需要,普通用戶不用為好。假如設置FIPS在系統中生效,那么Windows系統以及多項服務必須受約于FIPS加密規則。例如在Windows內置的系統服務有一項意為“安全通道”的系統服務Schannel,主要用于實現在Windows服務器端和客戶端之間建立加密的通信信道,假如FIPS生效,將會禁用SSL 2.0 與SSL 3.0協議,要求安全協議至少為TLS 1.0以上。
當然,SSL 2.0確實存在著不少安全問題,比如缺乏握手認證,使用較弱的或有問題的密碼算法(如MD5,RC4等),還使用了不安全的分組模式(如CBC模式);但SSL 3.0引入了一些新的特性和機制解決了很多SSL 2.0所存在的漏洞。此外,SSL 3.0中還引入了ChangeCipherSpec等子協議,因而目前還有大量客戶端和服務器采用SSL 3.0。
具有諷刺意味的是,假若FIPS生效,就連Windows的系統框架“.NET”也會出問題。眾所周知,“.NET”框架提供了多套不同算法用于支持各種加密方式,如適用于加密大量數據場合的 DES(Data Encryption Standard);對一塊數據用三個不同的密鑰進行三次加密,強度更高的3DES(Triple DES); 使用 128 位密鑰,提供非常強的安全性的國際數據加密算法IDEA(International Data Encryption Algorithm)、 數字簽名算法DSA(Digital Signature Algorithm);使用變長密鑰長度可達448位運行速度很快的BLOWFISH,另外還有一系列單向散列算法。但“.NET”框架支持的加密方式不少會被FIPS攔截。具體而言,在“.NET”框架中提供有三種不同版本的SHA256哈希算法,但其中最快也是具有相當安全度的算法就未被FIPS認可,此時“.NET”只能選擇慢速算法,被迫讓系統降速。除此之外,FIPS模式還要對應用進行安檢,對于未被其認可的大量的日常應用一律禁用。那么FIPS是如何生效的,能不能取消它呢?

圖1 高級屬性對話框

圖2 注冊表編輯器對話框
首先,看看FIPS模式是如何生效的:在Windows中通過在“控制面板”中依次打開“網絡與 Internet”、“查看網絡狀態和任務”、“改變適配器設置”選項,右擊需要設置 FIPS 的網絡后選擇“狀態”選項;點擊“Wi-Fi Status”窗口內的“無線屬性”選項,然后點擊其中的“安全”窗口,點擊“高級屬性”按鈕,在打開的802.11設置中下拉選項即可看到“Enable Federal Information Processing Standards(FIPS) compliance for this network”選項,如圖1所示。
如果當前的PC屬于由組策略管理的域內,那么用戶本人往往自己無法修改,必須通過管理員進行組策略設置才能取消,具體方法為:運行組策略編輯器后找到“Computer ConfigurationWindows SettingsSecurity SettingsLocal PoliciesSecurity Options” 選項,選中設置項“System cryptography: Use FIPS compliant algorithms for encryption,hashing, and signing”雙擊右側的“Disabled”即可。
如果是普通用戶,比如使用家用版系統的PC,可由注冊表設置或取消FIPS,具體方法為:運行注冊表編輯器“Regedit”后找到注冊表項:“HKEY_LOCAL_MACHINESystemCurrent Control SetControlLsaFipsAlgorithmPolicy”,在右側面板查看“Enabled”的值是零還是1,前者表示未激活,1則表示激活。如果想要改變,只要雙擊它,改寫值即可,如圖2所示。