[發明專利]一種檢測和抵御差分故障攻擊的方法有效
| 申請號: | 202110483728.4 | 申請日: | 2021-04-30 |
| 公開(公告)號: | CN113206734B | 公開(公告)日: | 2022-04-29 |
| 發明(設計)人: | 韋永壯;張小娜;武小年;李靈琛;張潤蓮 | 申請(專利權)人: | 桂林電子科技大學 |
| 主分類號: | H04L9/00 | 分類號: | H04L9/00;H04L9/40 |
| 代理公司: | 桂林市華杰專利商標事務所有限責任公司 45112 | 代理人: | 楊雪梅 |
| 地址: | 541004 廣西*** | 國省代碼: | 廣西;45 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 檢測 抵御 故障 攻擊 方法 | ||
1.一種檢測和抵御差分故障攻擊的方法,其特征在于,所述方法包括三部分:
(1)構建冗余;
根據原始加密模塊構建冗余加密模塊;
(2)雙重差分故障檢測;
基于消息認證碼方法檢測冗余加密模塊是否存在故障注入,并與原始加密模塊對比檢測原始加密模塊是否存在故障注入,完成雙重差分故障攻擊或差分故障攻擊檢測;
(3)定位故障源及防護;
在確定存在差分故障注入后,基于密文差分值和感染函數檢測目標算法的每一輪密文差分值,定位攻擊者所注入的故障源,并使用隨機數和感染函數對密文差分值進行隱藏實現防護;
所述構建冗余,具體是對某一分組加密算法E進行完全復制為E',稱E為原始加密模塊,E'為冗余加密模塊;對E和E'分別輸入相同的明文P和密鑰K進行加密,輸出原始密文為C=EK(P),冗余密文為C'=E'K(P);
所述雙重差分故障檢測,具體過程如下:
(2.1)為檢測在冗余加密中是否存在故障注入,在冗余加密模塊中增加一個檢測模塊,用于消息認證碼檢測;
(2.2)在冗余加密前,冗余加密模塊先采用哈希函數根據密鑰K計算E'的明文P的消息認證碼MAC,將MAC(P)發送給檢測模塊,由檢測模塊接收并保存MAC(P);冗余加密模塊再將明文P與MAC(P)合并在一起記為x作為輸入,進行冗余加密;
(2.3)檢測模塊從冗余加密模塊獲取進行冗余加密后的輸入數據x',并對輸入數據x'進行數據分離,由于不確定原始的明文信息P是否已經發生改變,將所分離的明文信息記為P',采用哈希函數和密鑰K計算P'的MAC值,記為MAC(P');
(2.4)檢測模塊判斷MAC(P)值與MAC(P')值是否一致,若兩者相同,轉(2.5);若兩者不同,轉(2.6);
(2.5)若MAC(P)=MAC(P'),表明冗余加密模塊中信息P沒有被篡改,沒有被注入故障,從而進行正常的加密,在去除消息認證碼后,輸出冗余加密的密文C'=E'K(P),轉(2.7);
(2.6)若MAC(P)≠MAC(P'),表明冗余加密模塊中信息P被篡改,冗余加密模塊中有故障注入,將存在故障注入的明文信息記為P',輸出冗余加密的密文C'=E'K(P'),轉(2.11);
(2.7)將原始加密密文C=EK(P)和冗余加密密文C'=E'K(P)進行異或,得出密文差分值C為原始密文,C'為冗余密文;
(2.8)判斷Δ是否為0,若Δ=0,轉(2.9);若Δ≠0,轉(2.10);
(2.9)若Δ=0,說明原始加密算法E中也沒有被注入故障,結束檢測;
(2.10)若Δ≠0,說明原始加密算法E中被注入了故障,進入定位故障源及防護的操作(3);
(2.11)將原始加密密文C=EK(P)和冗余加密密文C'=E'K(P')進行異或,得出密文差分值
(2.12)判斷Δ是否為0,若Δ=0,轉(2.13);若Δ≠0,轉(2.14);
(2.13)若Δ=0,說明原始加密算法E中被注入了與冗余加密算法E'相同的故障,即檢測到雙重故障,結束檢測;
(2.14)若Δ≠0,說明原始加密算法E中沒有被注入故障,故障只在冗余加密模塊E'中存在,進入定位故障源及防護的操作(3);
所述定位故障源及防護,具體過程如下:
(3.1)設加密算法E的總輪數為r輪,從高往低依次檢測加密算法E的每一輪,設置檢測的輪數為i,i=r-1;(3.2)計算第i輪的密文差分值其中,Ci為原始加密算法E第i輪的加密密文,Ci'為冗余加密算法E'第i輪的加密密文;
(3.3)判斷Δi是否為0,若Δi=0,轉(3.4);若Δi≠0,轉(3.5);
(3.4)若Δi=0,表明所注入的故障在第i+1輪,轉(3.7);
(3.5)若Δi≠0,為防止攻擊者獲取密文差分值Δi進行差分故障攻擊,將第i輪的密文感染值輸出并保存,其中,Ci為原始加密算法E第i輪正確加密的密文,Z(·)為感染函數,Δi為第i輪的密文差分值,αi和βi分別為第i輪的兩個不同的隨機值,i表示檢測的輪數為第i輪;
(3.6)令i=i-1,轉(3.2);
(3.7)根據第i+1輪的密文差分值Δi+1的值進行比特查詢,找到Δi+1中不為0的比特位n,即為加密算法E中被注入故障的比特位,確定定位結果;
(3.8)輸出定位結果,即故障位于第i+1輪的第n個比特位;
(3.9)為避免攻擊者獲取進行故障注入后的密文差分值Δi+1,使用隨機數和感染函數對Δi+1進行隱藏,輸出第i+1輪的密文感染值其中,Ci+1為原始加密算法E第i+1輪正確加密的密文,Z(·)為感染函數,Δi+1為原始加密算法E和冗余加密算法E'在第i+1輪的密文差分值,αi+1和βi+1分別為第i+1輪的兩個不同的隨機值,針對被隱藏后輸出的密文感染值,攻擊者將無法進行差分故障攻擊,結束定位過程。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于桂林電子科技大學,未經桂林電子科技大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202110483728.4/1.html,轉載請聲明來源鉆瓜專利網。





