專題·新時代密碼工作:密碼技術的現狀與白盒化發展趨勢
在數字網絡逐步成為控制世界的大腦,成為物理世界靈魂的時代,數字網絡世界的安全就變得尤為重要。密碼技術,作為數字網絡世界最基礎最核心的安全技術,越來越成為世界各國競爭的重要資源。
本文從多個角度觀察我國密碼技術發展的現狀;研究數字網絡高速發展的新形勢對密碼技術的需求;探討密碼技術發展的方向,研究白盒、密鑰容忍安全和零信任技術背后的意義。一、我國密碼發展現狀
(一)密碼基礎理論發展與世界同步
我國學者二三十年前研究的算法,如 SM2、SM3、SM4 等逐步成為國際標準,說明我國的算法理論研究與國際并行,也說明我國在尖端密碼理論領域有頂尖人才。我國的算法成為國際標準,面臨著許多專家和政治勢力的挑戰,算法安全如果存在問題是很難成為國際標準的。
我國的算法安全與國際同步,也反映了我國一直以來對密碼基礎研究的保護和重視。我國其他行業目前仍有難以趕上的掐脖子技術問題,但密碼算法領域能夠迅速崛起,說明了我國的密碼管理有一套需要堅持的成功路徑和方法。
(二)密碼工程技術緊隨世界潮流
我國的密碼工程技術也并不落后,我們有全球最快的加密機,說明我們的算法實現技術世界一流。我們也有多款達到密碼模塊 3 級國際標準的密碼機(密碼模塊最高級別為 4 級,僅用于極其特殊的安全場景),說明我們的密碼模塊的安全設計水平也與世界同步,完全能夠在大部分應用場景實現安全替代。我們也有了成體系的密碼產品和標準,能夠勝任信息系統的密碼保護。
面對我國高速發展的信息化需求,我國密碼產品數量和質量仍有待大幅提高。在我國的互聯網信息系統中,大量的密碼產品,密鑰管理產品,特別是軟件密碼產品仍舊是國外品牌。我們自己生產的密碼產品仍舊無法滿足我國信息化高速發展所面臨的多樣化高質量需求。我們需要更多的企業和更多的工程技術人員來發展自主的密碼技術和產品,提升產品規模和產品質量。(三)密碼應用亟待加強
我國密碼產品應用涉及密碼與應用系統的緊密結合,需要懂密碼的工程師和專家來推動這種融合,確保密碼在不同的應用中發揮保護作用。由于每種應用有不同的安全需求,密碼保護方案會各不相同,從而需要大量的懂密碼的人才來支撐我國信息化高速發展下應用多樣化的強勁的密碼應用需求。由于我國密碼人才的不足,高校培養體系也不夠健全,市場上懂密碼的人才顯得非常匱乏。密碼應用工作的成敗關鍵在人才,密碼應用和密碼應用測評的普及需要大量的密碼人才隊伍。目前,密碼應用工作是我國密碼發展的短板,亟需補上。黨和政府充分認識到密碼應用工作的重要性,正大力推動密碼的規模化應用,以保護重要信息系統和基礎設施的安全。在信息系統等級保護政策中,已將密碼應用安全性測評作為系統等級測評的一個方面。同時,政府也非常注重密碼教育和人才培養,正著力推動密碼學科建設及密碼學院建設,以確保我國信息化發展的安全保障有后勁,有力量。
(四)密碼管理與密碼法
我國的密碼管理工作是最為成功的管理工作。密碼技術從基礎的算法與算法分析研究到密碼產品,再到密碼應用等都有完全自主的技術體系,基本沒有卡脖子技術的困擾。我們的算法是國際標準,我們的產品可以與國際同臺競爭,我們的應用也有很多成功的示范。局限于信息技術和產品,我們的密碼設備研發的規模和平均質量還有待提高,但密碼基礎核心技術都掌握在我們自己手里。
隨著密碼法的實施,我國的密碼管理又走到一個更加先進,更加開放的管理模式,將更加有力地推進我國密碼技術和密碼產業發展,為我國的信息安全奠定更加堅實的技術基礎。密碼法規定了與世界接軌的測評認證體系,能更好更公平提升密碼產品的質量;密碼法無歧視對待在中國的任何企業,不僅僅有利于我國密碼發展充分利用全球智慧,同時也有利于我國的密碼企業走向世界。密碼法出臺,不僅僅是密碼產業推進的號角,是我國產業發展開放的新標桿,也是網絡安全發展的一次科普。二、新形勢對密碼發展的新需求
我們進入了一個正在起步的數字網絡化時代。掃地機器人、智能聯網家電、智能門鎖以及家用互聯網攝像頭等一系列信息化聯網的生活產品正快速普及。電子手表、智能終端等開始成為日常的隨身配置。生活、工作、商業、科研等業務都在向數字網絡快速轉移。我們正在經歷一個嶄新的全球數字化發展新時代。信息化的快速發展不僅是全世界發展的機遇,也“為中華民族帶來了千載難逢的機遇”。(一)網絡空間命運共同體已經形成
我們已經進入了網絡空間命運共同體的時代。世界各國共同維護網絡安全成為共識。在這樣的時代,多網融合已經完成。多種終端,包括手機、智能家居、智能汽車、監控攝像頭和移動傳感器等,以及各種業務,包括金融、購物、科研、社交和政務等全部接入了一張巨大的互聯互通的網絡。整個世界也與互聯網絡緊密結合在一起,從而構成了新型的人類命運共同體。獨立的隔離網絡要么正逐步離開人們的視野,成為過去網絡發展的歷史,要么通過各種途徑逐步融入這一張巨大的互聯互通網絡世界中。世界上所有的人都能在網絡上生活學習工作游戲,包括恐怖分子;各種系統都在網絡上運轉,包括黑客的系統;各種代碼都在網絡上運行,包括病毒;各種數據都在網絡上傳輸,包括暴力和色情數據。網絡空間命運共同體不僅僅意味著共享,更意味著共同維護,也意味著永遠無法絕對安全。在網絡空間命運共同體的時代,網絡互聯的方法和維度逐步增加,使得某些不希望聯網的設備也無法逃脫多種方式的網絡連接。在不聯網的區域,一個手機通過 4G、借助 WIFI 或藍牙就能夠讓不該聯網的設備聯入互聯網絡;連結屏幕的電纜、連接外設的導線,能夠使這些原本不是作為天線來使用材料,也可以并且有能力將本該隔離的信息發送到外網;電力的消耗、運行的時間信息等,也可以將不該泄露的信息泄露出去;隨身攜帶的 U 盤、光盤或者手表,都可能成為突破物理隔離的傳輸介質。依靠物理隔離達到網絡隔離的目標變得越來越難以保證,并逐漸成為一種不可能完成的任務。
密碼正成為這個時代的關鍵基礎技術,成為保護網絡主權,重塑網絡邊界,保障網絡傳輸安全的不二選擇。密碼可以表達我們的控制,宣誓我們的權利;密碼可以形成解密屏障,阻擋外界對信息的解讀;密碼可以保護我們的數據傳輸,保證數據不被修改,不被解密。(二)數字世界工業革命已經開始
隨著多種通信技術發展,網絡無處不在已是現實。以寬帶網絡互聯為第一基本特征的云計算的興起,預示著數字世界規模化、專業化革命的開始,也就是數字世界工業革命的開始。在這樣的時代,個人購買網絡云存儲比自己購買硬盤更加有效;企業不再安裝 WEB 服務器或郵件服務器,而是租用云上的 WEB 服務或郵件服務來滿足企業網絡需求。在這樣的時代,很少有人或企業全部靠自己完成數字系統或信息業務。每一項網絡工作,不管是網絡服務或產品的研發還是生產,都是眾多企業或研究團隊合作的結果。細分專業中的點點進步,都會借助互聯網絡廣闊巨大的市場空間帶來豐厚的“長尾”回報,這確保了專業化創新的可持續發展。專業化的分工發展是先進社會創新的必然結果,在這樣的形勢下,協作就成了現代社會的必備要素。數字網絡中的安全協作所需要的密碼技術,如多方安全計算,將成為推動數字世界工業化發展的重要技術支撐。另一方面,正如信任體系是現實世界工業化發展的重要基礎一樣,網絡信任體系相關技術也將成為未來數字經濟創新發展的基礎性技術。
(三)數字經濟起飛的時代
當前,大多數的銀行都能提供相關的網絡服務,并已經將用戶的資產搬到網絡上;網絡商店發展飛速,將商品買賣搬到網絡上;人們的社交,管理,家居也快速走向網絡;政府以服務人民為宗旨,讓人們少跑路,讓信息多跑路,從而推動網上政府服務并且覆蓋大部分政務領域。可以看到,國家經濟的發展也必將利用網絡化優勢,數字化已經成為推動我國經濟發展的強大動力。
我們已有的財富需要網絡來表達;我們的日程安排要靠電子設備記錄;我們的房產證和發票是否正確都需要通過網絡來判別;數字貨幣只有依靠數字設備的顯示來使用。數字經濟使得我們經濟的發展需要更加強有力的數字安全技術保障。以密碼技術為核心的數據安全技術將成為數字經濟發展的核心力量。數字安全,不僅僅包含數據的完整、保密、真實與抗抵賴,更需要保護數據的所有權關系不被破壞,也就是保護數字世界的生產關系安全。我們要保護數據的所有權,確保任何人不能隨便占有或非法使用。以密碼為基礎的區塊鏈技術快速崛起,正是因為它開辟一個數字資產管理,也就是數字資產所有權關系保護的新方向。
(四)軟件定義一切的時代
硬件標準化是數字產業發展的必然趨勢,個性化配置越來越依賴軟件完成。軟件定義網絡、軟件定義存儲、軟件定義數據中心等已經成為當今的重要技術方向。軟件定義一切的發展,也讓數字網絡能更好地服務百姓,并向不斷變化的需求提供了靈活的技術支撐,是未來數字系統的技術特色。在軟件定義一切的時代,數字安全是未來系統安全的基礎保障。正如可信計算技術已經是目前系統安全的基礎一樣,密碼技術必將成為軟件定義一切的重要安全技術的基礎和關鍵。它將會支撐軟件中數據的來源真實,數據的完整,數據的抗抵賴等性質的實現。
在這樣的時代,硬件體系結構將是標準化的,開放的。安全系統需要采用開放的結構而很難獲得保密專用硬件的支撐。在虛擬機不斷飄移的云中,如何保護密鑰安全就成為開放環境下密碼安全的重要研究課題。(五)密碼應用需求呈現多樣化趨勢
在價值互聯網應用中,我們需要最安全的密碼保護我們的數字資產。比如,針對銀行和國家財政的數字資產,我們需要極高安全的密碼保護。高安全要求一般會帶來計算的復雜化,密鑰保護的復雜化和安全檢測的復雜化,而這可能帶來性能的降低,無法滿足協同網絡應用中的密碼高性能要求。在協同互聯應用中,我們可能需要更好的處理性能,需要密碼的高性能支持。我們需要極高的密碼吞吐率以支持多人協同的加密視頻會議;我們需要不超過 1 毫秒的加密驗證時延,以支持車聯網中的指令安全保障;我們需要每秒千萬次的簽名計算以支持銀行中心服務器應答上億商戶的收費請求。
不論是高安全或是高性能,都需要有足夠的資源支持密鑰保護或密碼計算。在萬物互聯的物聯網場景中,我們可能不具備足夠的資源。例如,我們可能需要極低功耗的密碼實現,以支持缺乏電源的野外工作,也可能需要極小體積的密碼實現,以支持植入極小探測機器人或微型裝備,進行人體或動物實驗和精密探測。高安全、高性能和資源受限三者相互矛盾,構成了密碼技術不斷發展的方向。
三、密碼技術的發展與展望
針對密碼安全,從基礎理論到工程實現都有相關的挑戰和解決辦法。比如,面對量子計算機呼之欲出的形勢,抗量子密碼算法就成為當前家喻戶曉的密碼研究方向。面對黑客攻擊手法的不斷變革,白盒密碼,密鑰泄露容忍也成為密碼工程與密碼理論的研究熱點。針對開放協作的需求,多方計算安全也成為當今密碼研究的重要課題,如同態密碼和混淆密碼。密碼高性能實現與密碼算法優化等一直是密碼工作者們的研究內容。而輕量級密碼,低能耗實現等也是應對物聯網需求的重要方向。
下文就密碼安全方向中的白盒密碼和多方協作計算進行分析和展望。(一)白盒密碼適應新的安全假設
白盒密碼是一個古老的密碼研究方向,到今天再度被提及,是因為該技術代表了一種適合當今時代的新理念。白盒密碼基于這樣的假設,即敵手能夠進入密碼系統,并獲知密碼系統中的所有信息。在這樣的假設下設計密碼系統并保證密碼安全就是白盒密碼的主要研究內容。白盒密碼,或者理解為密碼系統白盒化,就意味著開放密碼系統的體系結構和部分細節,其理由有以下幾點:
首先,保障密碼系統體系結構不被人知曉(保密),即黑盒假設,難度增加了。硬件和軟件的攻擊技術不斷打破密碼系統的邊界,使得原本安全的環境和假設不再存在。這種假設與“零信任”的思想是一致的。
對于硬件密碼系統來說,過去設立的保密邊界很難被打破。但隨著硬件分析技術的進步,這種假設在發生變化。過去內容無法讀取的密碼芯片,利用現在市場上的技術就很容易刨開染色,讀取其中的信息,包括電可擦除的信息;高精度的定向探針,也能深入到芯片或硬件內部獲取運行時數據;黑客還可以通過設備的電源消耗等側信道攻擊,恢復出設備中的敏感關鍵信息;通過注入硬件錯誤或數據錯誤使設備暫時紊亂從而泄露敏感數據。
對于軟件密碼模塊,包括含有軟件的密碼模塊,其安全邊界也非常脆弱。敵手通過系統的漏洞,入侵密碼系統;通過身份假冒,繞過系統的訪問控制進入系統內核;敵手可以越過進程間隔離,跨進程讀取密鑰信息;系統的直接內存讀取機制、內存數據擴散,如系統休眠時數據從內存到硬盤、存在未清零的動態內存以及軟件編程中的漏洞等都給敵手帶來獲取內部信息的機會。其次,當密碼設備走向大眾,隨身攜帶的時候,依靠密碼系統的技術保密來支撐安全就變得非常危險。敵手可以通過購買密碼設備進行使用或結構剖析;也可以對用戶不經意放置的設備進行快速分析;丟失的設備更是給敵手以更多的時間進行分析。先進的黑客技術,能夠使市場上的密碼產品的系統體系結構很快大白于天下。
密碼算法的研究給密碼系統安全研究展示了開放的發展途徑。同樣的密碼算法,算法保密肯定比算法公開更加安全。密碼科學的發展歷史告訴我們,密碼算法的公開和標準化所帶來的算法安全增益,大大超過了算法公開所帶來的安全損失。開放的密碼算法不僅僅使得密碼更加普及,也使得密碼技術更加安全。在算法的公開和標準化的假設下,掌握公開的密碼算法對敵手完全沒有作用。
白盒安全,不同于過去的黑盒安全,其目標就是在敵人攻入系統、了解全部系統內容的情況下,確保系統安全的技術。如果密碼機不存儲密鑰,只要用戶保護好密鑰,密碼機丟失并不影響密碼安全。如果密鑰保存在密碼機里,白盒密碼機制則需要更多的技術防止黑客透過設備分析拿到密鑰,密鑰隱藏和密鑰的泄露容忍就成為這種密碼白盒安全的一個重要研究內容。
完全理想的白盒密碼安全需要從基礎理論到工程實現全方位的突破。主要的白盒密碼技術包括以下幾種:
混淆技術。通過密鑰與算法的混淆,使得交給用戶的密碼功能是有限的,用戶無法獲取其他密碼功能。一切都是算法,沒有密鑰或者密鑰可以公開,是混淆理論發展的可能方向。把一個混淆的密碼功能移交給用戶的時候,所有的原理、系統結構和密鑰都可以對用戶公開。現代的非對稱密碼給出了這樣的示例,例如,用戶只能加密,不能解密;用戶只能驗證簽名和不能仿造簽名。混淆密碼機制需要在非對稱的密碼理論上有更大的突破,區分出不同的獨立的密碼功能,確保一個密碼功能不影響其他密碼功能的安全,從而產生安全的完全白盒化的密碼應用。
密鑰隱藏技術。密鑰隱藏技術是白盒密碼的另一個重要思路,其方法是將需要保護的密鑰隱藏到復雜的代碼中,隱藏在系統中。直接的密鑰隱藏技術一般采用密鑰拆分技術,通過改變算法流程,將用戶的密鑰拆分成多個無關的子密鑰,隱藏到系統的不同地方。需要密碼執行的時候通過調用看似無關的密碼函數計算出需要的密碼計算結果。密鑰分散隱藏到代碼中是另一種密鑰隱藏思路,需要有好的算法實現密鑰與代碼的混淆。通過代碼混淆使得敵手通過代碼分析無法獲得算法和密鑰,其安全的假設就是完全復制全部的代碼是困難的。盡管密鑰隱藏技術依賴工程實現,難以做到完全白盒,但相關密鑰隱藏技術已經成為現代密碼系統安全的一種必備手段。特別是軟件密碼模塊,不得不使用多種密鑰隱藏技術來保護密鑰安全。
密鑰攻擊容忍技術。當密鑰隱藏技術被敵人破解的時候,我們是否有能力保證,即使敵手獲得了部分密鑰,我們的密碼系統仍舊是安全的。密鑰攻擊容忍就是在這樣一種白盒假設下的技術思考。密鑰攻擊容忍是在密鑰保護,密鑰檢測和自毀的基礎上對密鑰安全的進一步延伸。子密鑰不影響密鑰安全的密鑰拆分技術是密鑰攻擊容忍技術的一種技術思路。通過將密鑰拆分成多個無關的子密鑰,并保證即使敵手獲得部分子密鑰也不影響原密鑰的安全就可以構成一種密鑰攻擊容忍的解決方案。在密碼算法設計上就具備密鑰攻擊容忍就更具有基礎性意義。
白盒密碼技術就是在開放條件下的一種密碼技術,采用的是開放的假設,具備更好的互聯網適應能力。開放的、白盒化的密碼應用技術也是未來的重要方向。通過開放體系結構讓建設參與者和使用者明確自己的責任和義務,更好地參與到密碼應用系統的安全中來是大型密碼應用的基本要求。比特幣所依賴的區塊鏈技術,就是一種白盒安全技術的典范。比特幣的區塊鏈系統不僅將原理全部公開,其運行的源代碼也是完全公開的。這種在完全“開放”的環境下保證系統的安全也許是未來密碼應用的主要方向。
(二)多方協同密碼計算
多方協同計算的本質就是在不信任的個體間進行協同,產生出各自滿意的結果。在可信體系的支持下,協同計算是簡單的。以可信計算為基礎的可信體系能夠確保信息的真實、完整、抗抵賴和合法使用,協同計算相對容易。當信任體系被打破或難以建立的時候,也就是現在的零信任假設下,我們的信任又無法建立,如何合作計算就成為多方協同密碼計算的主要研究方向。
同態密碼就是兩方協同密碼計算的代表性工作。甲方通過加密將數據交給乙方,乙方在完全不知道甲方信息內容的前提下,幫助甲方處理數據,返回處于密文狀態的處理結果。甲方對處理結果進行解密得到明文的結論。利用同態密碼的雙方協作不需要建立強的信任關系,將原來加密隱藏的功能與委托計算的功能融合起來,使得對方能夠進行計算而無法了解信息內容。
多方協同密碼技術,是密碼技術從通信保密到計算安全的一種思想變革,需要基礎理論研究的大力支持。開放的安全多方協同計算必然會用到非對稱的密碼機制,以確保對某一方面的密碼功能優勢。我們要將一種數據的計算能力交給敵手,同時還用保證我們的交給敵手處理的信息的安全。這也是白盒化密碼的基本思路。
從理論上說,簽名和驗簽功能的分離就是一種功能拆分的非對稱多方密碼計算的范例。驗證簽名的代碼和密鑰可以完全開放,而只需要保護好自己的簽名私鑰就行。代理重加密技術可以讓一方對信息進行重新加密而不需要了解信息內容;基于身份的加密能夠確保只有擁有相應身份的人才能閱讀信息。諸多非對稱密碼學的進展使我們有望在不遠的將來擁有更多的多方安全密碼計算的手段。(三)密碼技術的發展展望
白盒密碼系統,包括入侵容忍的密碼和密碼應用系統,多方安全的密碼協同,是密碼系統發展的一個重要方向。密碼系統應該確保即使攻擊者獲得系統結構和部分安全信息,密碼系統依舊安全可控。(本文刊登于《中國信息安全》雜志2021年第8期)