時(shí)鐘毛刺注入攻擊技術(shù)綜述
發(fā)布時(shí)間:2021-04-04 14:53
時(shí)鐘毛刺注入是現(xiàn)實(shí)環(huán)境中有效且常用的故障注入方法。時(shí)鐘毛刺注入是通過在正常時(shí)鐘周期中引入一段毛刺時(shí)鐘,使得一個(gè)或多個(gè)觸發(fā)器接受錯(cuò)誤狀態(tài)而修改指令、破壞數(shù)據(jù)或狀態(tài),最終使芯片內(nèi)的秘密信息隨著產(chǎn)生的錯(cuò)誤操作而泄露。文中對(duì)時(shí)鐘故障的產(chǎn)生原因進(jìn)行了分析,并描述了幾種主要的毛刺注入機(jī)制,包括相同頻率時(shí)鐘切換、不同頻率時(shí)鐘切換以及模糊時(shí)鐘注入。最后介紹了3種時(shí)鐘毛刺注入攻擊的最新實(shí)際運(yùn)用和未來的發(fā)展方向。
【文章來源】:計(jì)算機(jī)科學(xué). 2020,47(S2)北大核心CSCD
【文章頁(yè)數(shù)】:4 頁(yè)
【部分圖文】:
數(shù)字集成電路的邏輯和同步表示[9]
為了產(chǎn)生時(shí)鐘故障,攻擊者刻意使一個(gè)或多個(gè)觸發(fā)器接受錯(cuò)誤的狀態(tài),從而導(dǎo)致指令修改、數(shù)據(jù)或狀態(tài)破壞等?s短時(shí)鐘周期可能會(huì)違反式(1)中的狀態(tài),因此寄存器的輸入沒有足夠的時(shí)間被正確鎖存,從而導(dǎo)致錯(cuò)誤的數(shù)據(jù)被鎖存。因此,精確控制時(shí)鐘周期至關(guān)重要,特別是在溫度和電源變化時(shí)。如圖2所示,在正常情況下,時(shí)鐘周期比最大延遲與設(shè)置時(shí)間之和長(zhǎng),并且能正確存儲(chǔ)中間狀態(tài)。但是,當(dāng)發(fā)生毛刺并且生成的時(shí)鐘周期短于最大延遲和建立時(shí)間之和時(shí),會(huì)發(fā)生建立時(shí)間違例。這將使得組合邏輯(r-in)的輸出在產(chǎn)生正確的輸出值之前被鎖存在寄存器(r-out)中。3 時(shí)鐘毛刺注入機(jī)制
Agoyan等[9]描述了在兩個(gè)正常時(shí)鐘周期間插入一個(gè)毛刺時(shí)鐘周期的方法。其中,clock為一個(gè)正常的時(shí)鐘周期,clock1相對(duì)系統(tǒng)時(shí)鐘延遲了Δt,而clock2相對(duì)信號(hào)1延遲了Δt。當(dāng)觸發(fā)信號(hào)為高電平時(shí),該方案將clock2的上升開始到clock1的下降沿結(jié)束組成一個(gè)毛刺時(shí)鐘周期的高電平,然后切換為clock,這樣就得到了一個(gè)帶有毛刺的故障時(shí)鐘。圖4中毛刺時(shí)鐘的第二個(gè)時(shí)鐘周期為注入的毛刺,由于在生成的時(shí)鐘毛刺上升沿之前一直為低電平,因此第一個(gè)時(shí)鐘周期和時(shí)鐘毛刺之間的部分可以看作延時(shí),其對(duì)錯(cuò)誤注入沒有影響。若正常時(shí)鐘信號(hào)的周期為T,那么時(shí)鐘毛刺的周期為T-2Δt。在該方案中,時(shí)鐘毛刺的精度δ與FPGA的鎖相環(huán)電路所能提供的延時(shí)的精度δt相關(guān),兩者之間的關(guān)系為δ=2δt。圖4 在正常時(shí)鐘周期間注入毛刺
本文編號(hào):3118247
【文章來源】:計(jì)算機(jī)科學(xué). 2020,47(S2)北大核心CSCD
【文章頁(yè)數(shù)】:4 頁(yè)
【部分圖文】:
數(shù)字集成電路的邏輯和同步表示[9]
為了產(chǎn)生時(shí)鐘故障,攻擊者刻意使一個(gè)或多個(gè)觸發(fā)器接受錯(cuò)誤的狀態(tài),從而導(dǎo)致指令修改、數(shù)據(jù)或狀態(tài)破壞等?s短時(shí)鐘周期可能會(huì)違反式(1)中的狀態(tài),因此寄存器的輸入沒有足夠的時(shí)間被正確鎖存,從而導(dǎo)致錯(cuò)誤的數(shù)據(jù)被鎖存。因此,精確控制時(shí)鐘周期至關(guān)重要,特別是在溫度和電源變化時(shí)。如圖2所示,在正常情況下,時(shí)鐘周期比最大延遲與設(shè)置時(shí)間之和長(zhǎng),并且能正確存儲(chǔ)中間狀態(tài)。但是,當(dāng)發(fā)生毛刺并且生成的時(shí)鐘周期短于最大延遲和建立時(shí)間之和時(shí),會(huì)發(fā)生建立時(shí)間違例。這將使得組合邏輯(r-in)的輸出在產(chǎn)生正確的輸出值之前被鎖存在寄存器(r-out)中。3 時(shí)鐘毛刺注入機(jī)制
Agoyan等[9]描述了在兩個(gè)正常時(shí)鐘周期間插入一個(gè)毛刺時(shí)鐘周期的方法。其中,clock為一個(gè)正常的時(shí)鐘周期,clock1相對(duì)系統(tǒng)時(shí)鐘延遲了Δt,而clock2相對(duì)信號(hào)1延遲了Δt。當(dāng)觸發(fā)信號(hào)為高電平時(shí),該方案將clock2的上升開始到clock1的下降沿結(jié)束組成一個(gè)毛刺時(shí)鐘周期的高電平,然后切換為clock,這樣就得到了一個(gè)帶有毛刺的故障時(shí)鐘。圖4中毛刺時(shí)鐘的第二個(gè)時(shí)鐘周期為注入的毛刺,由于在生成的時(shí)鐘毛刺上升沿之前一直為低電平,因此第一個(gè)時(shí)鐘周期和時(shí)鐘毛刺之間的部分可以看作延時(shí),其對(duì)錯(cuò)誤注入沒有影響。若正常時(shí)鐘信號(hào)的周期為T,那么時(shí)鐘毛刺的周期為T-2Δt。在該方案中,時(shí)鐘毛刺的精度δ與FPGA的鎖相環(huán)電路所能提供的延時(shí)的精度δt相關(guān),兩者之間的關(guān)系為δ=2δt。圖4 在正常時(shí)鐘周期間注入毛刺
本文編號(hào):3118247
本文鏈接:http://sikaile.net/kejilunwen/dianzigongchenglunwen/3118247.html
最近更新
教材專著