安全控制器中的密碼算法實現(xiàn)模塊同樣能有效抵御各種故障注入攻擊(FIA),目前主要的防護手段包括檢錯技術(shù)和容錯技術(shù)。
先以 ECC 算法為例,針對 ECC 的故障注入攻擊可以分為三類:安全故障攻擊、弱曲線攻擊和差分故障分析 (Differential Fault Analysis, DFA)。安全故障攻擊基于那些不改變輸出結(jié)果的故障進行分析。弱曲線攻擊試圖將點乘運算從強橢圓曲線遷移到弱橢圓曲線上,以利于通過求解橢圓曲線離散對數(shù)問題獲得作為點乘倍數(shù)的私鑰或隨機數(shù)。
DEA 通過分析正確輸出和錯誤輸出之間的差異,逐位地導出點乘的倍數(shù)。這些攻擊的相應防御方法包括采用檢錯技術(shù)檢測橢圓曲線參數(shù)是否正確、點乘基點是否在橢圓曲線上、點乘運算中的數(shù)據(jù)是否被插入故障,一旦故障被檢測到,即中止執(zhí)行點乘運算,并拒絕輸出任何結(jié)果;采用容錯技術(shù),選擇一條橢圓曲線使得即使將故障引入到點乘運算中,攻擊者也不能從錯誤結(jié)果中導出點乘的倍數(shù),譬如強扭曲線 (Twist-Strong Curves)在扭曲線攻擊 (Twist- Curve Attack)下是容錯的。
另外 ECC 的一些側(cè)信道攻擊防御方法也具有防御某些故障注入攻擊的能力,如 Montgomery 階梯、隨機化點乘倍數(shù)都使得安全故障攻擊更難以實施;點乘的基點育化方法可以防御弱曲線攻擊。
對于 RSA 算法而言,根據(jù)錯誤的簽名結(jié)果和正確的簽名結(jié)果可以分析出簽名所使用的私鑰,故需要在私鑰運算過程中進行故障檢測或?qū)灻Y(jié)果進行驗證,一旦發(fā)現(xiàn)故障或簽名結(jié)果錯誤則拒絕輸出簽名結(jié)果。
對于達到 IND- CCA2 安全級別的公鑰加密算法,其算法機制本身內(nèi)置了錯誤檢測技術(shù),天然具備一定的故障注入攻擊防御能力。
在對稱密碼算法中,密鑰運算主要是添加輪密鑰和S 盒,因此這也成為故障注入攻擊者選擇的主要攻擊點。故障注入攻擊可以分為暫時性故障注入攻擊和永久性故障注入攻擊。在暫時性故障注入攻擊中,攻擊者可以利用不規(guī)則時鐘脈沖、輻射、瞬間高電壓等技術(shù)改變緩存器或存儲器內(nèi)的某位。
而在永久性故障注入攻擊中,攻擊者可以利用紫外線等清除 EEPROM 內(nèi)的某位,或使用微探針設定或清除 EEPROM內(nèi)的某位。比特故障是指在加密的中間結(jié)果中僅引入1位的故障,而保證其他位不變,是一種有效的故障注入攻擊。這種方法應用于對稱密碼算法,如果攻擊者反復地向即將進入最后一輪加密的中間加密結(jié)果中引入比特故障,即每次加密引入的故障使得中間結(jié)果的某位改變,而保證其他位不變,則有可能得到最后一輪的輪密鑰。
DFA 是一種有效的密碼分析技術(shù),它的基木思想是在選擇明文后,對加密過程進行故障誘導,分別獲得該明文對應的正確密文和錯誤密文,然后對兩種密文進行數(shù)據(jù)對比分析,從而獲得密鑰。
對稱密碼算法實現(xiàn)中防御故障注入攻擊的主要原則是采用錯誤檢測技術(shù)。錯誤檢測技術(shù)可檢測到對稱密碼運算中插入的故障,一旦故障被檢測到,即中止執(zhí)行密碼運算,并拒絕輸出任何結(jié)果。適用于對稱密碼算法的錯誤檢測技術(shù)包括基于冗余的錯誤檢測技術(shù)、基于錯誤檢測碼的技術(shù),以及兩者混合使用的技術(shù)。
基于冗余的錯誤檢測技術(shù)分為硬件冗余和時間冗余兩類。
基于硬件冗余的錯誤檢測技術(shù)直接復制密碼算法硬件作為自檢方法,將復制電路的輸出與原始電路的結(jié)果相比較,如果不匹配則說明有錯誤。
基于時間冗余的錯誤檢測技術(shù)對同樣的數(shù)據(jù)做第二次加密/解密運算,與第一次加密/解密的運算結(jié)果比較,該方法增加 100%的額外時間開銷,僅對單次故障注入有防御能力。
可以將硬件冗余和時間冗余技術(shù)相結(jié)合,從而在硬件和時間開銷中尋找平衡,設計適合對稱密碼算法在安全控制器中安全實現(xiàn)的錯誤檢測方案。
最簡單的錯誤檢測碼是奇偶校驗碼,奇偶校驗碼可以根據(jù)需要設置一個到多個校驗位,但奇偶校驗碼的錯誤檢測覆蓋率不夠高,在對稱密碼算法實現(xiàn)中使用奇偶校驗碼時,應分析其錯誤檢測覆蓋率是否足夠應對安全控制器可能面臨的故障注入攻擊情形。
為提高錯誤檢測覆蓋率,人們提出了分組密碼算法的并發(fā)錯誤檢測(Concurrent Error Detection, CED)方法,CED 檢測安全控制器的對稱密碼運算過程中的操作以保證輸出的正確性。如果CED檢測到錯誤計算的發(fā)生,安全控制器將在輸出前丟棄錯誤的結(jié)果,因此芯片能夠抵御FIA的威脅。CED 的錯誤檢測覆蓋率通常遠高于奇偶校驗碼,但也依賴于所采用的編碼機制以及硬件實現(xiàn)細節(jié)。
審核編輯:劉清
-
存儲器
+關注
關注
38文章
7365瀏覽量
163089 -
EEPROM
+關注
關注
9文章
1002瀏覽量
81054 -
緩存器
+關注
關注
0文章
63瀏覽量
11624 -
密碼算法
+關注
關注
0文章
18瀏覽量
7371 -
安全控制器
+關注
關注
0文章
27瀏覽量
10803
原文標題:密碼算法實現(xiàn)的 FIA 防護,密碼算法實現(xiàn)的 FIA 防護
文章出處:【微信號:Semi Connect,微信公眾號:Semi Connect】歡迎添加關注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關推薦
評論