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