當前位置:
首頁 > 最新 > 淺解密碼應用安全的技術體系

淺解密碼應用安全的技術體系

淺解密碼應用安全的技術體系

林璟鏘、荊繼武

一、密碼應用安全的技術定位

密碼應用安全的目標是在計算機和網路系統中應用密碼演算法,利用密碼學原理實現計算機和網路系統的安全。在實踐中,密碼應用安全研究需要從實際運行的計算機和網路系統出發,融合密碼演算法和密碼協議的理論成果,在技術上連接二者。所以,從知識體系和研究風格而言,密碼學(尤其是理論密碼學)更接近於理科,系統安全和網路安全更接近於工科,密碼應用研究則是介於理科和工科之間的基礎研究。

大量的安全事件和研究成果已經表明,為了在計算機和網路系統中更緊密地融合密碼技術、使得密碼技術更充分地在網路空間中發揮安全作用,仍然還有大量的技術研究工作需要完成。

二、密碼應用安全的技術體系分析

下面,我們不考慮特定的應用場景、僅僅考慮通用的密碼演算法應用場景,從數據、系統、實體等三個角度來分析密碼技術應用中的安全問題,嘗試分析得到密碼應用安全的技術體系;也就是:在各種密碼學理論研究成果已經就緒的前提下,網路空間還需要解決哪些問題,才能夠保證密碼技術應用成功實現預期的安全目標?

如下圖所示,粗線框是典型的密碼學理論研究方向:

●對於基礎性的核心密碼演算法(例如,對稱加密演算法、公鑰加密演算法、數字簽名演算法等),最重要的數據、最關鍵的參數就是密鑰。在密碼演算法研究中,其它的數據、其它的參數都是公開已知的。

●在使用密碼演算法時,即使僅僅是單方利用密碼演算法進行數據處理時,密碼學理論研究需要還考慮工作模式(例如,對稱加密演算法的工作模式、公鑰加密演算法和數字簽名演算法的數據填充等)。

●在利用密碼演算法構建多方之間的安全通信時,就涉及各種密碼安全協議的設計和分析。例如,各種身份鑒別協議、TLS協議、IPSec協議等,都是常用的密碼安全協議。此外,針對不同的應用場景(例如,區塊鏈、雲計算、物聯網等),設計專門的密碼安全協議,也是當前應用密碼學研究的重要內容之一。

以上三方面研究內容是密碼學理論研究中的重要方向。下面,我們進一步從數據、系統、實體等三個角度來分析在密碼學理論成果在應用中的安全問題。

●核心密碼演算法的安全性,是純粹的理論研究,基本不考慮與系統、實體的相關關係;從數據角度而言,最重要的密鑰數據來自於隨機數。

●各種密碼協議和工作模式,也需要隨機數、作為執行過程的參數。

●在密碼協議中,通常都是使用密鑰來區分不同的特定實體,密鑰與實體之間的關係綁定直接作為基本假設;同時,實體所執行的各種操作,在應用中實現為計算機系統上的計算任務,也就是,密碼協議對系統運行環境也有隱含的條件假設(主要是數據的輸入輸出傳遞和處理過程)。

●對於在計算機系統上執行的密碼演算法(按照某種特定工作模式),從計算機系統安全形度而言,主要是假設密碼計算過程中的密鑰安全,要求攻擊者不能訪問密鑰;從與實體之間的關係而言,每一次密碼計算都應直接或間接地體現實體的操作意志(即,密碼計算的訪問控制實施)。

綜合以上,為了在實際的計算機和網路系統中發揮密碼技術的安全作用,密碼應用安全需要做到:

1.選擇合適的密碼演算法、工作模式和密碼協議

研究安全的密碼演算法、工作模式和密碼協議,是密碼學理論研究的重要內容。對於大多數密碼應用安全來說,應該選擇公開的、經過全面深入分析的、標準化的密碼演算法、工作模式和密碼協議,而不是自創的、未經充分檢驗的方案。

一方面,我們需要確認實際運行的計算機和網路系統是否選擇了安全的密碼演算法、工作模式和密碼協議。另一方面,系統應該具備密碼演算法升級的能力,尤其對於長期使用的系統;一旦某些演算法出現問題、及時更換。

2.使用合理的密鑰參數

按照系統的安全需求,選擇合適的密鑰長度;同時,需要考慮系統運行期間的密鑰更新(周期性執行、按需執行,以及安全事件時的密鑰更新)。

3.產生安全的隨機數

隨機數在密碼演算法、工作模式和密碼協議中,大量使用。必須以安全的方法、安全的流程來產生隨機數,用於密鑰以及其它重要安全參數。

4. 以正確的方式實現和使用密碼協議

密碼協議詳述了各網路實體之間的數據傳遞和處理,然而實際的系統運行環境並不能夠輕鬆滿足密碼協議的假設和要求。二者之間的差距,會導緻密碼協議在實現上和使用上的安全問題。對於相應的安全問題,我們應該更多地從密碼應用安全的角度來審視問題,而不僅僅從軟體漏洞的角度來考慮。

5.綁定密鑰與實體

由於公鑰密碼學和PKI的發展,在實際系統中,實體與密鑰的綁定關係大量體現為PKI數字證書。正確的PKI數字證書驗證,非常重要。

對於其它類型的密碼演算法(對稱密碼演算法、基於標識的密碼演算法),在處理密鑰分發、初始化參數和標識等問題時,也需要關注其中的安全性;確保密鑰或者密鑰參數與實體之間綁定關係。

6.確保密鑰安全

在計算機中,有多種攻擊方法可以獲得計算任務中的敏感數據。密鑰作為關係到大量普通數據的、特殊的敏感數據,應該實施專門的、相比應用數據更高強度的安全措施。

7.實施密碼計算的訪問控制

在基於密碼學的安全方案中,每一次密碼計算都被認為是實體操作意志的體現。在計算機系統中,對密碼計算實施高安全強度的訪問控制,仍然是技術挑戰。

在以上列出的七點研究內容中,解決12的重點在於如何讓應用系統的研發人員及時地獲得密碼學理論研究成果、並快速完善地在計算機和網路系統中實施。3的隨機數安全問題,也是傳統密碼學研究中的研究方向之一。然而,完成在各種計算機和網路系統中、在各種應用場景中行之有效的解決方案,仍然有技術挑戰。

4567討論的問題,更多表明了密碼學和系統安全/網路安全之間的研究空白。一方面,在密碼學理論研究中,密碼技術與系統、與實體之間的聯繫大都直接作為假設而存在。另一方面,普通的計算機和網路系統如果沒有專門的設計,並不能完全滿足密碼技術應用要求的運行環境假設(還需要對可執行程序、瀏覽器、腳本、APP等不同運行環境分別專門設計)。而且,這些密碼應用安全的措施,相比通用的軟體安全、操作系統安全和網路安全,有著特殊的技術挑戰和解決方案。這一部分研究內容,雖然現在已經不少研究成果,但是還值得更多的重視和挖掘。

三、與現有研究方向的關係

以上我們從密碼學理論研究的三個主要方向(密碼演算法、工作模式、安全協議)出發,分析他們在應用中與數據、系統、實體之間的聯繫,從而得到密碼應用安全的技術體系。下面,我們再簡單談談一些現有研究方向與上述技術體系的關係。

如上圖所示,傳統密鑰管理研究的主要內容是通過多方的安全協議,實現密鑰的管理(註冊、生成、更新、撤銷、恢復等);密鑰管理也是密碼技術的重要組成部分。WSN安全的重要研究內容之一是利用密碼協議實現針對WSN環境的密鑰管理、以及在此基礎上實現的身份管理。雲計算安全的研究內容之一,是針對雲計算環境設計密碼協議,在考慮不完全可信的雲伺服器的前提下,實現租戶數據和計算的安全性。

以上所述的技術體系,不考慮特定的應用場景、僅僅考慮通用的應用場景。對於特定的應用場景,會有新的技術挑戰,或者某些研究方向和技術挑戰會有明顯變化。例如,在比特幣系統中,直接使用公鑰數據來標識不同的實體,密鑰與實體的關係綁定問題就明顯弱化;在專用密碼晶元硬體中、只運行密碼計算任務,密鑰安全問題相對容易解決;對於密碼技術的支付應用,密碼計算的用戶控制是非常重要的,反過來,在時間戳服務中,時間戳的數字簽名就基本上就是自動執行、無需人工干預。

四、密碼應用安全技術體系的實施

在實際的密碼應用中,首先應按照安全需求選擇合適的密碼演算法、按照應用系統的不同安全需求(不同環節、不同階段的數據機密性、完整性、身份鑒別等需求)選擇合適的密碼協議和工作模式,形成與應用系統功能密切聯繫的密碼應用方案。同時,根據密碼技術所處理數據的重要性和特點,確定密鑰更新周期和方案。

其次,選擇或者定製合適的密碼計算軟硬體。基本上,對於標準化的密碼演算法、工作模式和密碼協議,都有各種現成的軟硬體可以直接使用。現成的密碼計算軟硬體,也基本上能夠支持不同的密鑰更新策略。對於定製化的密碼計算軟硬體,應該充分論證其安全性。

最後,對於各類密碼計算軟硬體(尤其對於定製性的軟硬體)的實際運行,從數據、系統、實體之間關係的角度來考察其安全性;包括隨機數的來源、密碼計算軟硬體與運行環境的依賴、人員與密鑰的綁定、密鑰的運行期安全、密碼計算的控制等。

五、總結

在計算機和網路系統中應用密碼技術,將能有效提高網路空間的安全性。我們提出的密碼應用安全技術體系,涉及了七點研究內容;雖然大部分研究內容在公開文獻中已有涵蓋,但是沒有形成體系化的知識系統。本文第一次嘗試推導分析得到密碼應用安全的技術體系,在技術內容上可能會有所遺漏,歡迎大家提出意見、共同探討。

本文列出的技術體系的七點研究方向,在現有的計算機和網路系統中,仍然存在大量問題亟待解決。具體問題和研究現狀可以參考我們之前的分析《密碼技術在計算機和網路系統中的應用探討》。


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 中科院DCS中心 的精彩文章:

TAG:中科院DCS中心 |