對于安全控制器而言,密碼算法的實現(xiàn)與安全性緊密相關,密碼算法實現(xiàn)
模塊應能有效抵御各種側信道攻擊(SCA)。密鑰參與的運算所泄露的側信道信息(如功耗曲線、電磁輻射曲線、時間等)與包括密鑰在內的輸入數(shù)據(jù)是相關的,密碼算法的安全實現(xiàn)應掩蓋或消除這種相關性。
無論對稱密碼算法還是非對稱密碼算法,其在安全控制器中的實現(xiàn)均以消除以下關系作為防御側信道攻擊的指導原則。
(1) 密鑰運算的數(shù)據(jù)與所泄露的側信道信息的關系;
(2)密鑰運算所使用的實際數(shù)據(jù)和輸入數(shù)據(jù)之間的關系。
以非對稱密碼算法的功耗分析防護為例,可采用如下辦法來消除上述關系:進行功耗補償,使得私鑰位為0 或1產(chǎn)生相同的功耗;統(tǒng)一操作,使得私鑰位為0或1執(zhí)行相同的操作;對私鑰運算的輸入數(shù)據(jù)或中間值進行隨機化,即用隨機數(shù)掩蓋真實數(shù)據(jù)之后再進行計算。
為防御針對對稱密碼算法實現(xiàn)的功耗分析,進行功耗補償、對密鑰運算中所使用的中間數(shù)據(jù)隨機化(也稱隨機掩碼 Masking),同樣也是主要手段。掩碼方法的核心思想是將對稱密碼運算的中間數(shù)據(jù)隨機化,使功耗不依賴于真實的中間值,這破壞了差分功耗分析(DPA)實施的基本條件,攻擊者無法根據(jù)中間值將大量明文正確地分組,也無法根據(jù)中間值計算預期的假設功耗。用隨機數(shù)掩蓋中間值的操作主要包括異或、加法和乘法三種,相應的掩碼方法分別稱為布爾掩碼、加法掩碼和乘法掩碼。
人們最初應對側信道攻擊的方法是在芯片輸出信號中施加各種噪聲,但這些方法的效果并不好,尤其是 DPA 之類的分析方法具有很強的噪聲過濾能力。
在電路層面,可以使用雙軌邏輯來防御側信道攻擊。雙軌邏輯的另一個優(yōu)勢是所有狀態(tài)有相同的功耗權重,從而使得功耗分析難以實施。但雙軌邏輯的實施成本較高,在芯片內設置隨機數(shù)發(fā)生器,使用隨機數(shù)對密碼運算進行保護,是目前抵抗側信道攻擊的最有效、最經(jīng)濟的方式。
審核編輯:劉清
-
控制器
+關注
關注
112文章
16361瀏覽量
178048 -
SCA
+關注
關注
1文章
36瀏覽量
11975 -
DPA
+關注
關注
0文章
29瀏覽量
15714 -
密碼算法
+關注
關注
0文章
19瀏覽量
7385 -
隨機數(shù)發(fā)生器
+關注
關注
0文章
21瀏覽量
11009
原文標題:密碼算法實現(xiàn)的SCA 防護,密碼算法實現(xiàn)的 SCA 防護
文章出處:【微信號:Semi Connect,微信公眾號:Semi Connect】歡迎添加關注!文章轉載請注明出處。
發(fā)布評論請先 登錄
相關推薦
評論