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

密碼算法實(shí)現(xiàn)的FIA防護(hù)
評論