“熔斷和幽靈”有可能威脅量子通信幹線的安全
二 評京滬量子通信幹線工程
2018年的新年剛過,北京時間1月4日淩晨4時左右,英特爾公司通過其官方推特發布了一份關於產品安全漏洞的聲明,“漁陽鼙鼓動地來,驚破霓裳羽衣曲。”一夜醒來,人們方知自己桌上的電腦、手中的智能手機和常去的熱門網站幾乎都存在嚴重的安全隱患,數字世界中保護我們隱私的原來隻有一層糊窗紙,一捅就破,互聯網上幾乎人人在裸奔。
這次問題出在英特爾的微處理器(CPU),它們都存在“熔斷和幽靈”這兩種可怕的安全漏洞,這兩個漏洞的名字聽上去就嚇死人[1]。其它公司的微處理器也都存在這些漏洞,他們都是難兄難弟,五十步別笑一百步[2]。最不可思議的是這些芯片底層的安全缺陷竟然存在了一二十年不為人知,長期以來我們引以為傲的數字化大廈原來是建在一片沙灘上,災難隨時都可能發生。
這些帶有嚴重安全漏洞的微處理器不僅用在各種消費電子產品中,也被使用在核電站、飛行器和國防工程中。不信?請看下麵這張網上公開的圖片。
圖片展示的是量子通信京滬幹線合肥總控中心,這是監控量子通信幹線各個樞紐機關(其中主要是可信任中繼站)的中心,這是掌握所有機密的核心,這是保護量子通信幹線安全的最後屏障。請看總控製台上的計算機(紅色箭頭所指),屏幕顯示正在運行微軟公司的視窗操作係統,十有八九該機使用的也是英特爾的微處理器。不知這台計算機是否已經打上了針對“熔斷和幽靈”漏洞的修複補丁?在如此高大上的設備中打個補丁,聽上去真有點別扭,但又有什麽更好的辦法呢?(友情提示,微軟的補丁本身也有漏洞哦,更新修複須小心。)
除了合肥總控中心控製台上的計算機用了英特爾的微處理器,估計還有成百上千的英特爾微處理器被用在京滬量子幹線的各種設備中。量子密碼通信能夠做的隻是密鑰分發,它本身無法作加密解密等更為複雜的操作。無論量子密碼通信這個過程有多高深多玄乎,無論你上天入地,最終你還得輸出壹與零組成的經典電訊號,並把這些二進製的電訊號交給英特爾的微處理器去完成對數據的加密與解密。沒有計算機,沒有這些微處理器,用幾百位長的密鑰對數據作加密解密是不可想象的。
京滬量子通信幹線從總控製台到各處的可信任中繼站使用成百上千的微處理器,這些微處理器,不管是英特爾還是AMD或者ARM全都是一個熊樣,全部帶著嚴重的“熔斷和幽靈”安全隱患,它們為惡意攻擊者在量子幹線上竊取密鑰提供了許多機會。
存在於微處理器硬件中的安全缺陷對量子通信係統的破壞性遠超傳統密碼係統,其原因主要是兩條:1)京滬量子通信幹線使用了許多“可信任中繼站。在這些中繼站裏密鑰與各類硬件(包括微處理器)有親密接觸,惡意攻擊者很容易通過諸如“熔斷和幽靈”漏洞直接獲取密鑰。隻要密鑰落人手,千裏長堤毀一旦。2)量子通信幹線的建設者深知這些中繼站是命門軟肋,必須作徹底的“物理隔離”,就加建了不少監視和遙控設施,因而才有了上麵圖片顯示的總控中心。在這些設施中又用了許多英特爾的微處理器,這就引入了更多的安全隱患和兩次性傷害。
傳統密碼係統沒有以上這些問題,因為傳統密碼嚴格保證所有通過傳輸線路上的信息是經過加密保護的,這其中包括數據也包括密鑰本身。換言之,無論傳輸線路上用了多少不安全的設備和微處理器,惡意攻擊者不管處在傳輸線路的什麽地方、使用了什麽方法,能夠看到的都是密文亂碼,無法竊取任何有意義的信息。傳統密碼係統對通信線路和設備從來是不設防的,在互聯網時代也根本無法點點設防,傳統密碼從思維層次上就勝量子通信一籌。
那麽傳統密碼是否就能保證絕對安全,正確的答案是:傳統密碼能保證信息從A傳輸到B之間有充分的安全,但是整個信息係統的安全還涉及許多其它因素,例如解密後數據的保管和存放、密鑰的更新和保護等等環節,密碼本身是無法保證整個信息係統安全的。換言之,傳統密碼可以保證信道安全,但不能保護信源的安全。隻要是使用桌上電腦和手機,黑客就可以利用它們裏麵微處理器中的“熔斷和幽靈”漏洞竊取秘密,不管是傳統密碼還是量子通信,全都沒有用。當然量子通信的問題要更多更嚴重一點,因為量子通信讓裸露的密鑰在傳送中接觸了更多的微處理器。
“我們中間有些人對微軟視窗操作係統的許多安全隱患熟視無睹,卻對遠為成熟安全的公鑰密碼RSA橫挑眉毛豎挑眼,他們天天心安理得地使用著漏洞百出的微軟視窗,卻把公鑰密碼RSA描繪成明天就會引爆的地雷。他們的這種思維方式總讓人感覺有些滑稽,這有點像即將沉沒的遊輪上的旅客不趕緊尋找救生圈,卻在抱怨船上提供的食品臨近保質期。”
上述這段文字摘自我的“量子密碼工程建設還有太多不確定因素”一文,該文發表在觀察者網上,發表日期為2017年12月6日。差不多一個月後就爆出了英特爾的“熔斷和幽靈”事件。這旣不是先見之明,也不是烏鴉嘴,僅是時間巧合而已,隻是問題比我預想的還要嚴重百倍。
推動量子通信的邏輯是公鑰密碼有安全隱患,對此沒人有異議,把量子通信作為一種未來的選項而開展相應的科學研究應該支持,這一直是我的態度。但是必須明白量子通信相關技術遠未成熟,而公鑰密碼的安全隱患還在遙遠的未來,匆忙建設京滬量子通信幹線既無必要也沒條件。任何工程項目上馬必須經得起可行性、必要性和成本收益的分析和評判。
有關量子通信的可行性、必要性和成本收益的詳細分析可參見我的兩篇文章:“炒作量子通信工程,連潘建偉都擔心”,“量子密碼工程建設還有太多不確定因素”,這裏就不再重複。本文有兩個重要的新材料要補充。
(1)目前量子通信幹線使用的可信任中繼站存在安全隱患,幹線工程的負責人在公開講話中不否認這一點。他們透露正在研製替代方案——量子中繼,他們自己承認量子中繼技術的成熟估計還要十年時間。即使量子中繼裏麵的一係列技術問題(希望裏麵少用英特爾芯片)在十年中全部被解決,那麽現在這十年中這條京滬幹線該怎麽辦?十年後更換所有中繼站的費用知多少?這十年中傳統密碼完全不會有問題也要安全得多,建設這條量子通信幹線的收益究竟又在何處?
(2)傳統密碼係統在今後相當長時期內是足夠安全的,這不僅有學術論文為證,近期火熱發展的區塊鏈技術是最強有力的佐證。眾所周知,公鑰密碼就是區塊鏈技術的安全基石,可以毫不誇張地說,沒有公鑰密碼的安全就沒有區塊鏈技術。如果公鑰密碼真像量子通信推動者說得那樣的不堪一擊,為什麽IT學術界和企業家會對區塊鏈的明天投入如此多的熱情和資金?難道這些人都是傻瓜嗎?事實上,公鑰密碼並沒有緊迫的危機,急於想代替公鑰密碼才真正令人不可理喻。
從更長遠的角度來看,任何技術都需要更新和完善,公鑰密碼技術當然也不例外。但是更新後的係統必須與互聯網的總體框架協調,升級換代的過程也要穩步有序地推進。密碼係統牽動整個互聯網的生態環境,對於這種牽一發而動全身的技術更新,我們千萬不能異想天開、草率行事。
必須再次強調,公鑰問題僅是密碼係統的一部分,而密碼係統又隻是整個信息係統安全的一部分而已。今日信息係統的安全確實麵臨一係列嚴峻的挑戰,但如果把這些挑戰按危急嚴重程度羅列出來的話,密碼安全問題根本進不了前三甲。隨著信息的電子化和網絡化,密鑰的產生、管理、分發全部是由電子計算機完成的,相比計算機硬件和操作係統的安全問題,所謂的公鑰密碼問題真是小巫見大巫了。
今天我們終於看到了微處理器“熔斷和幽靈”這個大巫的醜陋可憎的麵目了,不過我可以告訴大家,千萬別信英特爾輕描淡寫的聲明,這個大巫掀起的腥風血雨還遠未結束。集中精力、協調配合去認真麵對當前的頭號大巫——“熔斷和幽靈”——這才是信息安全領域的頭等大事。
[1]利用“熔斷”漏洞,低權限的程序可以訪問操作係統的內核空間,獲取係統底層的核心機密;當用戶通過瀏覽器訪問存在“幽靈”惡意程序的網站時,用戶的帳號、密碼和其它隱私信息可能會被泄漏;在雲服務環境中,攻擊者可利用“幽靈”漏洞可以突破用戶間的隔離,竊取其他人的信息。
[2] “熔斷”是最容易被利用的缺陷,Intel所有處理器存在“熔斷”缺陷,AMD處理器不存在“熔斷”缺陷,ARM隻有A57存在“熔斷”缺陷。幽靈缺陷也不完全相同,Intel的幽靈缺陷很容易被利用,AMD因為構架複雜,研究者並未能真正突破。(嶽曉東博士的評論)