引言:FIPS是Windows 10中一項隱含的系統(tǒng)加密功能,是一套描述文件處理、加密算法的標(biāo)準(zhǔn),確切是指FIPS 140標(biāo)準(zhǔn)。它對普通用戶意味著什么?莫非采用它后就會讓系統(tǒng)安全無憂嗎?
FIPS 是Windows 10中一項隱含的系統(tǒng)加密功能,意即美國聯(lián)邦信息處理標(biāo) 準(zhǔn)(Federal Information Processing Standards),是一套描述文件處理、加密算法的標(biāo)準(zhǔn),確切是指FIPS 140標(biāo)準(zhǔn)。
FIPS 140-2 進(jìn)一步定義了 四種安全等級:
等級1通常用于僅軟件加密產(chǎn)品,安全要求非常有限;所有組件必須達(dá)到制造等級,不能存在任何極其嚴(yán)重的不安全因素。
等級2要求基于角色的認(rèn)證(不要求個人用戶認(rèn)證),它還要求具有通過使用物理鎖定或防篡改簽章識別物理篡改的能力。
等級3添加了物理篡改預(yù)防措施,防止拆卸或修改,讓非法侵入的難度更大,如果檢測到篡改,設(shè)備必須能夠擦除關(guān)鍵安全參數(shù);等級3 還包括強(qiáng)大加密保護(hù)和密鑰管理、身份授權(quán)、界面間的物理或邏輯分隔(通過該分隔來輸入和保留關(guān)鍵安全參數(shù))。
等級4包含高級篡改保護(hù),專為要在未受物理保護(hù)的環(huán)境中運(yùn)行的產(chǎn)品而設(shè)計。
那么,主要用于政府部門的Windows PC的FIPS加密技術(shù),對于那些普通級別的用戶意味著什么?莫非采用它后就會讓系統(tǒng)安全無憂嗎?
依照官方解釋,除非確實需要,普通用戶不用為好。假如設(shè)置FIPS在系統(tǒng)中生效,那么Windows系統(tǒng)以及多項服務(wù)必須受約于FIPS加密規(guī)則。例如在Windows內(nèi)置的系統(tǒng)服務(wù)有一項意為“安全通道”的系統(tǒng)服務(wù)Schannel,主要用于實現(xiàn)在Windows服務(wù)器端和客戶端之間建立加密的通信信道,假如FIPS生效,將會禁用SSL 2.0 與SSL 3.0協(xié)議,要求安全協(xié)議至少為TLS 1.0以上。
當(dāng)然,SSL 2.0確實存在著不少安全問題,比如缺乏握手認(rèn)證,使用較弱的或有問題的密碼算法(如MD5,RC4等),還使用了不安全的分組模式(如CBC模式);但SSL 3.0引入了一些新的特性和機(jī)制解決了很多SSL 2.0所存在的漏洞。此外,SSL 3.0中還引入了ChangeCipherSpec等子協(xié)議,因而目前還有大量客戶端和服務(wù)器采用SSL 3.0。
具有諷刺意味的是,假若FIPS生效,就連Windows的系統(tǒng)框架“.NET”也會出問題。眾所周知,“.NET”框架提供了多套不同算法用于支持各種加密方式,如適用于加密大量數(shù)據(jù)場合的 DES(Data Encryption Standard);對一塊數(shù)據(jù)用三個不同的密鑰進(jìn)行三次加密,強(qiáng)度更高的3DES(Triple DES); 使用 128 位密鑰,提供非常強(qiáng)的安全性的國際數(shù)據(jù)加密算法IDEA(International Data Encryption Algorithm)、 數(shù)字簽名算法DSA(Digital Signature Algorithm);使用變長密鑰長度可達(dá)448位運(yùn)行速度很快的BLOWFISH,另外還有一系列單向散列算法。但“.NET”框架支持的加密方式不少會被FIPS攔截。具體而言,在“.NET”框架中提供有三種不同版本的SHA256哈希算法,但其中最快也是具有相當(dāng)安全度的算法就未被FIPS認(rèn)可,此時“.NET”只能選擇慢速算法,被迫讓系統(tǒng)降速。除此之外,F(xiàn)IPS模式還要對應(yīng)用進(jìn)行安檢,對于未被其認(rèn)可的大量的日常應(yīng)用一律禁用。那么FIPS是如何生效的,能不能取消它呢?
圖1 高級屬性對話框
圖2 注冊表編輯器對話框
首先,看看FIPS模式是如何生效的:在Windows中通過在“控制面板”中依次打開“網(wǎng)絡(luò)與 Internet”、“查看網(wǎng)絡(luò)狀態(tài)和任務(wù)”、“改變適配器設(shè)置”選項,右擊需要設(shè)置 FIPS 的網(wǎng)絡(luò)后選擇“狀態(tài)”選項;點擊“Wi-Fi Status”窗口內(nèi)的“無線屬性”選項,然后點擊其中的“安全”窗口,點擊“高級屬性”按鈕,在打開的802.11設(shè)置中下拉選項即可看到“Enable Federal Information Processing Standards(FIPS) compliance for this network”選項,如圖1所示。
如果當(dāng)前的PC屬于由組策略管理的域內(nèi),那么用戶本人往往自己無法修改,必須通過管理員進(jìn)行組策略設(shè)置才能取消,具體方法為:運(yùn)行組策略編輯器后找到“Computer ConfigurationWindows SettingsSecurity SettingsLocal PoliciesSecurity Options” 選項,選中設(shè)置項“System cryptography: Use FIPS compliant algorithms for encryption,hashing, and signing”雙擊右側(cè)的“Disabled”即可。
如果是普通用戶,比如使用家用版系統(tǒng)的PC,可由注冊表設(shè)置或取消FIPS,具體方法為:運(yùn)行注冊表編輯器“Regedit”后找到注冊表項:“HKEY_LOCAL_MACHINESystemCurrent Control SetControlLsaFipsAlgorithmPolicy”,在右側(cè)面板查看“Enabled”的值是零還是1,前者表示未激活,1則表示激活。如果想要改變,只要雙擊它,改寫值即可,如圖2所示。