Web安全的立足根基在于復(fù)雜的PKI部署體系,但實(shí)際生活中得到正確部署的比例卻非常有限,而且這一切都將隨著摩爾定律的滾滾洪流灰飛煙滅。
我個(gè)人算是PKI(即公共密鑰基礎(chǔ)設(shè)施)的忠實(shí)擁護(hù)者。我熱愛(ài)數(shù)學(xué)與密碼學(xué)之美,也熱愛(ài)它廣泛的用途與適用場(chǎng)景。
過(guò)去二十多年當(dāng)中,我曾經(jīng)為眾多私營(yíng)及上市公司安裝過(guò)PKI。原先那曾是我個(gè)人工作中的重要組成部分,但最近一段時(shí)間我發(fā)現(xiàn)這已經(jīng)成了工作的全部?jī)?nèi)容。企業(yè)對(duì)于安全的要求已經(jīng)達(dá)到前所未有的高度,而且越來(lái)越多的客戶要么首次安裝自己的PKI、要么打算對(duì)現(xiàn)有PKI進(jìn)行升級(jí)以實(shí)現(xiàn)更理想的安全性與彈性。
但坦白地講——而且作為一名經(jīng)驗(yàn)豐富的從業(yè)者,大家可能會(huì)驚訝于我的結(jié)論——PKI可能已經(jīng)無(wú)法幫助大家解決最主要的安全問(wèn)題了。此外,PKI甚至很有可能在未來(lái)徹底被歷史所淘汰。
下面我們來(lái)看PKI不再合適作為安全解決方案的四大核心理由:
1. PKI擁有太多活動(dòng)組件
復(fù)雜性始終是理想計(jì)算機(jī)安全體系的最大天敵?;顒?dòng)組件越多,我們的業(yè)務(wù)體系就越可能存在安全漏洞,實(shí)現(xiàn)流程也會(huì)更加復(fù)雜。需要強(qiáng)調(diào)的是,即使是經(jīng)過(guò)妥善設(shè)置的PKI,其活動(dòng)組件數(shù)量也遠(yuǎn)超絕大多數(shù)計(jì)算機(jī)安全防御方案。
大家首先需要一套離線根證書(shū)機(jī)構(gòu)(簡(jiǎn)稱CA)。它必須切實(shí)離線,否則很容易受到攻擊。接下來(lái),大家需要兩套或者更多CA來(lái)執(zhí)行具體的證書(shū)分發(fā)工作。大家的CA需要受到HSM機(jī)制(即硬件安全模塊)的保護(hù),而這類硬件正好是PKI核心私有密鑰的主要保護(hù)者。通常情況下,以上必要方案的總體成本會(huì)輕松突破10萬(wàn)美元。
另外,大家還需要兩個(gè)甚至更多網(wǎng)站來(lái)存儲(chǔ)CA自身的證書(shū)及CRL(即證書(shū)吊銷列表)。在網(wǎng)絡(luò)環(huán)境下,我們通常需要兩個(gè)內(nèi)部站點(diǎn)再加上兩個(gè)外部站點(diǎn)實(shí)現(xiàn)配合。就目前的情況看,大部分PKI設(shè)計(jì)者都建議使用兩臺(tái)或者更多OCSP(即在線證書(shū)狀態(tài)協(xié)議)服務(wù)器,其負(fù)責(zé)減少往來(lái)于客戶端與CA服務(wù)器之間的CRL流量。
大多數(shù)PKI還包含有兩臺(tái)或者更多SCEP(即簡(jiǎn)單計(jì)算機(jī)注冊(cè)協(xié)議)服務(wù)器,這樣網(wǎng)絡(luò)與移動(dòng)設(shè)備也能夠同樣獲得證書(shū)。此外PKI方案還涉及數(shù)十種其它組件,包括對(duì)象識(shí)別器以及簽名等等。設(shè)計(jì)師與管理員需要了解每條密鑰能夠擁有怎樣的長(zhǎng)度,并考慮其可以在每款應(yīng)用程序當(dāng)中使用多長(zhǎng)時(shí)間。
在以上工作結(jié)束之后,管理員還需要找到可行的辦法為計(jì)算機(jī)及用戶分發(fā)證書(shū)。他們?cè)撊绾芜M(jìn)行注冊(cè)以獲取證書(shū)?需要利用哪些因素來(lái)證明他們的身份?由誰(shuí)來(lái)核準(zhǔn)這些證書(shū)?證書(shū)要如何分發(fā)?每一款應(yīng)用程序、設(shè)備以及操作系統(tǒng)都需要以彼此不同的方式加以處理。
而這種夸張的復(fù)雜性不僅意味著用戶會(huì)被弄得一頭霧水,就連大部分PKI管理員自己往往也弄不清狀況。在我過(guò)去二十年的從業(yè)經(jīng)歷中,大概有5%的PKI并沒(méi)能得到正確設(shè)置,而且大部分存在著多種錯(cuò)誤。這些錯(cuò)誤中相當(dāng)比例屬于關(guān)鍵性錯(cuò)誤——而如果企業(yè)利用PKI作為安全策略的構(gòu)建基礎(chǔ),那么問(wèn)題就更為嚴(yán)重了。
2.即使PKI得到完美設(shè)置,效果仍然不夠理想
更糟糕的是,即使大家已經(jīng)對(duì)PKI進(jìn)行了完美設(shè)置——其中不存在任何錯(cuò)誤,它的實(shí)際效果仍然未必與預(yù)期相符……甚至根本不起作用!好吧,這么說(shuō)也許有些偏激,但我要強(qiáng)調(diào)的是,用戶以及應(yīng)用程序往往傾向于忽略各類PKI錯(cuò)誤。
大家都很清楚,瀏覽器地址欄左端的小鎖頭圖標(biāo)代表著該網(wǎng)站連接受到PKI的安全保護(hù)。
但是PKI離譜的復(fù)雜性意味著很多網(wǎng)站及應(yīng)用程序當(dāng)中都存在著PKI錯(cuò)誤,這有可能導(dǎo)致小鎖頭圖標(biāo)消失或者處于未鎖定狀態(tài)。多數(shù)情況下瀏覽器會(huì)提醒大家當(dāng)前網(wǎng)站的數(shù)字證書(shū)無(wú)效,并建議用戶不要訪問(wèn)該網(wǎng)站。
但人們的通常反應(yīng)是什么?忽略警告,繼續(xù)訪問(wèn)該網(wǎng)站。
在檢測(cè)到證書(shū)錯(cuò)誤時(shí),大多數(shù)應(yīng)用程序都將無(wú)法正常“打開(kāi)”。這種處理方式絕對(duì)必要。但如果瀏覽器也在發(fā)現(xiàn)PKI錯(cuò)誤時(shí)強(qiáng)制阻止用戶的訪問(wèn),那么整個(gè)互聯(lián)網(wǎng)體系將變得令人無(wú)法容忍。
3. PKI并不能解決最嚴(yán)峻的各類安全問(wèn)題
盡管存在著第一點(diǎn)與第二點(diǎn)中的諸多狀況,我仍然熱愛(ài)PKI。如果用戶、設(shè)備以及應(yīng)用程序能夠重視其警告內(nèi)容,那么PKI的實(shí)際效果還是相當(dāng)不錯(cuò)的。不過(guò)PKI目前面臨的最大問(wèn)題并非來(lái)自其自身。具體來(lái)講,PKI能夠解決的大部分問(wèn)題并不是當(dāng)下攻擊者們的主要侵襲手段。
大多數(shù)攻擊活動(dòng)指向的是未安裝修復(fù)補(bǔ)丁的軟件,其次則是社交工程類木馬。在大部分網(wǎng)絡(luò)環(huán)境中,這兩類因素造成了大約99%的成功攻擊案例,而PKI對(duì)于解決此類問(wèn)題完全束手無(wú)策。
如果大家無(wú)法在自己的網(wǎng)絡(luò)體系上解決這兩個(gè)問(wèn)題,那么PKI根本幫不上什么忙。我就曾經(jīng)向客戶提供過(guò)這樣的建議:“擁有完美PKI設(shè)置但仍然遭受攻擊的客戶比例,跟沒(méi)能正確設(shè)置PKI但同樣遭受攻擊的客戶幾乎一樣多。”這并不是PKI的錯(cuò),畢竟如果用戶不解決那么更大的問(wèn)題,PKI完全是有心無(wú)力。
4.終有一天,PKI將徹底失去作用
這才是最重要的一點(diǎn)。終有一天,所有受到PKI保護(hù)的機(jī)密信息都會(huì)遭到泄露。沒(méi)錯(cuò),大家沒(méi)看錯(cuò),都會(huì)泄露。
終有一天,包含大量質(zhì)數(shù)的密鑰內(nèi)容不再難以破解。公共密鑰加密機(jī)制之所以能夠起效,正是由于數(shù)學(xué)計(jì)算難度的存在。但當(dāng)計(jì)算設(shè)備隨著時(shí)間推移而愈發(fā)強(qiáng)大之后,加密機(jī)制將不再值得信賴。
舉例來(lái)說(shuō),量子計(jì)算作出的最大承諾——無(wú)論其最終目標(biāo)是什么——就是能夠立即解開(kāi)PKI保護(hù)之下的機(jī)密信息。也許在不久或者更遠(yuǎn)的未來(lái),我們可以利用量子計(jì)算機(jī)輕松查看受保護(hù)內(nèi)容。而當(dāng)這一天來(lái)到時(shí),大部分公共加密機(jī)制都將土崩瓦解。
任何擁有量子計(jì)算機(jī)的攻擊者都能窺探到他的人機(jī)密。而且與大家擔(dān)心的一樣,世界上規(guī)模最龐大的間諜組織已經(jīng)掌握著大量加密信息,因此在量子計(jì)算設(shè)備走向成熟(部分原型機(jī)甚至已經(jīng)存在于實(shí)驗(yàn)室當(dāng)中)后,他們將能夠破解具體內(nèi)容并將其公諸于眾。
據(jù)稱,當(dāng)量子計(jì)算機(jī)成為現(xiàn)實(shí)之后,惟一可行的加密機(jī)制就是使用量子密碼。到時(shí)候一切將成為錢的問(wèn)題——沒(méi)錯(cuò),就是錢的問(wèn)題。大家需要投入大量資金來(lái)購(gòu)置足夠的量子加密計(jì)算設(shè)置實(shí)現(xiàn)量子級(jí)別的信息保護(hù)。目前幾乎任何一種設(shè)備,無(wú)論其價(jià)格多么低廉、體積多么小巧,都能夠運(yùn)行現(xiàn)存的全部加密算法及程序。而量子計(jì)算的出現(xiàn)將徹底改變這一切。
我們將再次進(jìn)入第二次世界大戰(zhàn)的時(shí)代,那時(shí)只有部分政府才能夠控制足夠的計(jì)算資源,進(jìn)而挖掘到其他人保存在計(jì)算設(shè)備中的秘密。而其他人則只能“身如柳絮隨風(fēng)飄”,直到量子加密機(jī)制便宜到“飛入尋常百姓家”。