evo真人(中国)

文章橫幅PC版
文章橫幅iPad版
文章橫幅手機版

常用的密碼分析攻擊有哪些

TIME:2019-08-06 17:02  click: 212 次 來源: 未知

密碼分析的實質就是分析者在不知道密鑰的情況對所截獲的密文或明一密文對進行分析、假設、推斷和證實等工作來恢復明文,或者是第一时间試圖找出密鑰,進而利用解密算法恢復明文。

密碼分析者攻擊密碼的方法主要有以下三種:

(1)窮舉攻擊

所謂的窮舉攻擊意味着密碼分析者試圖解密顺利获得順序嘗試所有可能的密鑰對取得的密文,直到取得正確的明文;或者為所有可能的明文 加秘密選擇一個確定的密鑰對,直至得到所取得的密文,從而得知所選密鑰就是正確的密鑰。顯然,理論上,對於任何有用的密碼,只要有足夠的資源,你就可以使用詳盡的攻擊來破解它,平均而言,顺利获得詳盡的攻擊來破譯密碼必須嘗試所有可能密鑰的一半。

(2)數學攻擊

所謂數學攻擊是指密碼分析者針對加解密算法的數學基礎和某些密碼學特性,顺利获得數學求解的方法來破譯密碼。對於基於數學的密碼,設計密碼本質上意味着設計數學函數,解密密碼本質上解決了數學問題。如果問題在理論上是不可計算的,那麼密碼在理論上是安全的。如果這個問題在理論上是可測量的,那麼密碼實際上是安全的或計算上安全的,因為計算複雜性太大而不能實際計算。到现在為止,在基於數學的密碼中,只有“一次一密”密碼是理論上安全的密碼。可見,數學攻擊是對基於數學的密碼的主要威脅。

差分分析是一種數學攻擊,差分密碼分析是最有效的攻擊和最重要的方法之一,側信道攻擊包括功耗分析,時間分析和故障攻擊。實踐證明,對於分組密碼攻擊,差分分析的速度比窮舉攻擊的速度要快得多。

差分顺利获得分析明文對的差分值,密碼分析的基本原理是:密文對的差分值。效果是恢復密鑰或密鑰的一些位。

(3)物理攻擊

所謂物理攻擊是指密碼分析者根據密碼系統或密碼晶片分析來破譯密碼。物理攻擊的理論依據是,任何密碼算法在以硬件的形式工作時,必然與工作環境發生物理交互,相互作用,相互影響。於是,攻擊者就可以主動策劃實施並檢測這種交互、作用和影響,從而取得有助於密碼分析的信息。這類信息被稱為側信道信息,基於側信道信息的密碼攻擊稱為側信道攻擊或側信道分析。

側信道分析介紹

密碼算法要走向應用,只有變成硬件形態或軟件形態,而且還要把這種軟硬件模塊嵌入到應用系統中去。由於硬件模塊形態具有速度快、安全管理方便的優點,所以許多重要的密碼應用都採用硬件方式實現密碼算法。

當把密碼晶片嵌入到應用系統中之後,密碼晶片就成為應用系統的一個組成部分,它必然與其工作環境發生物理交互,相互作用,相互影響。於是,攻擊者就可以主動策劃實施並檢測這種交互,作用相影響,從面取得有助於密碼分析的信息,進面對密碼晶片實施攻擊,我們稱這類玫擊為側信道分析。

側信道分析包括功耗分析、時間分析和故障分析。

功耗分析

密碼設備在運行時進行加密解密操作都會消耗能量,其功耗與進行的操作和被操作的數據有關。使用在加密設備運行期間泄漏的功耗數據進行分析,獲取密鑰或部分密鑰的方法稱為功耗分析。

功耗分析主要顺利获得分析密碼設備運行時的能量消耗,顺利获得分析來推導出密碼設備進行的操作以及操作涉及的秘密中間變量。

時間分析

時間分析主要顺利获得採集密碼算法處理不同輸入的執行時間差異,分析時差與鍵的區別實現秘密密鑰破解。最初的時間分析研究主要針對簡單的安全晶片,如智能卡。一方面是由於產業界對此類晶片安全的急切需求;另一方面是在這些平台上運行的密碼算法執行時間能夠容易被準確測量且噪聲較小。當時人們普遍認為時間分析不能適用於PC、Wcb服務器等計算機系統,在這些環境下密碼算法的執行時間容易受到系統上運行的其他進程的影響,使得計時精確。

根據時間差異產生來源不同,可將時間分析分為兩類,一類是對密碼的某種實現算法存在缺陷導致的時間泄漏進行的密鑰分析,另一類是對密碼算法運行平台存在缺陷導致的時間泄漏進行的密鑰分析。

在各種側信道分析方法中,功耗分析、電磁分析、故障分析等均需物理上接觸或接近密碼設備,需要專用的測試計量儀器:時間分析則主要顺利获得調用系統的時間戳來實現,既可在本地也可在遠程網絡環境中實施,威脅較大。近年來,隨着時間信息採集和預處理技術的开展,時間分析在遠程環境下的可行性將逐漸增強,現實威脅越來越大。

密碼系統運行時間信息泄漏主要原因在於密碼算法的優化或運行平台的優化。密碼系統在加解密過程中,由於性能優化(如模冪運算和查找S盒操作使用了查找表的快速實現)分支運算、條件語句, Cache命中或失效、運行時間不固定的處理器指令(如乘除法)或者協議漏洞等,會導致不同輸人執行時間存在差異,而這些差異常是同密鑰直接相關的,所以攻擊者可採集密碼算法對大量樣本加解密的執行時間,顺利获得分析時間差異同密鑰之間的相關性來實現獲取密鑰。

時間分析具體步驟如下:

步驟1選擇明文,向密碼系統發送密碼服務請求,記錄當前時間截。

步驟2獲取密文,同時記錄得到密文的時間,減去之前發送明文的時間戳,取得加密消耗的總時間。

步驟3對採集到的時間進行預處理。

步驟4利用時間信息同秘密信息的相關性,恢復秘密信息。

故障分析

一般情況下,運行密碼算法的硬件設備或者軟件程序均能正確地執行各種密碼運算,在干擾的情況下,加密操作模塊可能具有寄存器故障或操作錯誤,使用這些故障行為或錯誤消息恢復密鑰的方法稱為加密失敗分析。

密碼設備大多基於電子技術,界面比較簡單,更容易受到外部干擾,使得故障分析已成為最有效的旁路分析方法之一。现在,差分故障分析方法陸續被推廣至公鑰密碼、分組密碼和序列密碼,其實現途徑更加多樣化,分析代價也大大降低,被視為對密碼算法的現實威脅之一。

注入故障的方法主要有瞬時電壓跳變,外部時鐘頻率突變和激光射線等。

 

上一篇:常用的分組密碼算法和特點 下一篇:密碼協議設計原則