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