蔡沛
摘要 故障注入攻擊具有設(shè)備要求不高、效果好的特點,目前已經(jīng)被成功與用于芯片攻擊當(dāng)中,成為集成電力信息安全的威脅手段。設(shè)計者為了能排查集成電路設(shè)計的問題,用簡單易操作的方法在檢測設(shè)計的抗故障注入攻擊能力,故障注入攻擊仿真方法就是這樣子的方法,它的特點是簡單、有效,可以準確讀出待測電路抗故障注入攻擊能力的評估報告。
【關(guān)鍵詞】集成電路安全 故障注入安全 仿真方法
隨著集成電路技術(shù)的日益成熟,集成電路的安全性要求越來越高,對集成電路故障排除提出了更精準的要求。傳統(tǒng)的故障排除方法有在電壓集成電壓檢測基礎(chǔ)上進行故障排除的,較早的人工直接測量和窮舉測試、到后來的數(shù)學(xué)模型、故障字典、故障樹這些方法。這些故障排除方法已經(jīng)成熟,檢測的精準率也比較高。但是隨著技術(shù)發(fā)展的要求,常規(guī)的故障排除方法的缺點也日益凸顯,如冗余電路過多,對模擬集成電路和數(shù)模集成電路的系統(tǒng)無法檢測,電路的日益龐大使常規(guī)的集成電路故障排除方法的測試程度也越來越復(fù)雜。集成電路故障注入攻擊仿真方法是利用簡單易操作的方法檢測設(shè)計電路的抗故障注入攻擊能力,準確讀出待測電路抗故障注入攻擊能力。
1 故障注入攻擊仿真流程
本次故障注入攻擊仿真方法構(gòu)建是一種新型的集成電路故障注入仿真方法,具有非常高的自動化、集成化程度,其流程包括了故障的邏輯插入、故障的生成、注入,待測電路收集與安全評估。整個仿真流程包括了三個階段,一是設(shè)置、二是仿真、三是評估。在設(shè)置階段中,要做好仿真所需相關(guān)數(shù)據(jù)以及相關(guān)仿真操作的準備,評估階段則是通過仿真階段獲得的數(shù)據(jù)對該待測電路的安全性進行評估,并獲得評估結(jié)果。
設(shè)置階段以故障注入邏輯插入為重點內(nèi)容,為了避免在后續(xù)電路設(shè)計過程中出現(xiàn)修改源代碼的情況,第一步要將待測電路簡稱網(wǎng)表,其次才是在邏輯插入中進行故障注入。故障注入邏輯通??刹灰蕾囂囟ǚ抡嫫?,而是使用綜合硬件描述語言來實現(xiàn)。故障注入邏輯涉及兩個模塊,即故障主圖管理模塊和掃描鏈,其中故障主圖管理模塊用于故障注入與仿真過程的自動控制,掃描鏈則負責(zé)將任意時刻的故障注入到電路網(wǎng)表的任意寄存器內(nèi)當(dāng)中,編寫好相應(yīng)的程序。故障注入管理模塊、用戶仿真文件都在頂層仿真文件中封裝,通過設(shè)置相應(yīng)的參數(shù),制定故障模型,并讀取待測電路輸出數(shù)據(jù)周期,并生成一系列控制文件。
仿真階段,待測電路在正常模式和掃描模式二者間切換,故障注入在待測電路掃描模式下注入時,形成自動、無需用戶控制的連續(xù)仿真過程,故障注入模塊負責(zé)控制文件讀寫,并將獲取的數(shù)據(jù)與指令注入到待測電路中,獲得的仿真結(jié)果則在其他文件中保存,并進入評估程序。
評估階段則將獲得的仿真結(jié)果分類,對待測電路不故障模型敏感度進行分析,并給出評估結(jié)果。仿真結(jié)果的計算通常采用多種故障攻擊分析算法,具體有差分故障分析與信息分析,評估結(jié)果可以幫助用戶了解待測電路的抗故障注入攻擊能力,識別出可能存在的安全隱患。
2 故障注入機制
一般情況下,在待測電路中注入故障注入攻擊時會出現(xiàn)三種情況:
(1)故障出現(xiàn)在待測電路組合邏輯中,并在后級寄存器當(dāng)中出現(xiàn),通過寄存器內(nèi)容修改,將組合邏輯中的故障模擬出來;
(2)故障無法插入待測電路掃描鏈模塊(如存儲器),但可隨著數(shù)據(jù)進入運算模塊;
(3)故障在可插入模塊寄存器中出現(xiàn)。
故障注入攻擊仿真過程包括了配置、準備、運行和暫停階段。
(1)在配置階段,控制模塊被啟動,同時仿真系統(tǒng)訪問和讀取控制向量,并配置仿真參數(shù),包括故障時間等。
(2)準備階段,對用戶仿真文件進行初始化,并準備向待測電路輸入相關(guān)的數(shù)據(jù)。
(3)在運行階段,仿真流程控制模塊以及時鐘管理模塊允許待測電路的運行。
(4)暫停階段,數(shù)據(jù)訪問模塊被啟動,并從外部讀取控制向量,由稻苗控制模塊將待測電路的工作模式切換為掃描模式并注入故障,完成故障注入后再切換到正常的模式。
掃描控制模塊對掃描鏈制定的寄存器內(nèi)容進行修改時,分為循環(huán)移位、掃描鏈輸入修改、輸入移至指定寄存器等過程,并且在上述循環(huán)控制子,可將多個故障注入待測電路,進行待測電路故障注入攻擊仿真。
3 仿真效果
在不同故障模型當(dāng)中,通過差分故障分析獲得最后一輪密鑰數(shù)據(jù),見表1。反正結(jié)果顯示,按照字節(jié)從左至右編號,首行數(shù)據(jù)表示無故障注入時的第10輪運算密鑰結(jié)果;與故障注入后第10輪運算密鑰結(jié)果比較可以獲得正確的字節(jié)。如通過多個故障模型都將第3、6、8等字節(jié)正確分析出來,這表明實驗用的AES電路輸出端口在這些字節(jié)上對故障攻擊有較高的敏感度,所以電路設(shè)計過程中要對這些字節(jié)重點保護。
4 結(jié)束語
本文首先對集成電路故障注入攻擊仿真方法進行了討論,對待測電路設(shè)計階段抗故障注入攻擊能力進行了仿真模擬,結(jié)果顯示故障注入攻擊仿真方法基本實現(xiàn)了自動化,實驗有效,對待測電路安全結(jié)果進行了比較準確的評估。
參考文獻
[1]王青麾,王魁.基于PSpice的電路故障注入仿真分析方法研究[J],電子產(chǎn)品可靠性與環(huán)境試驗,2011,29 (02).
[2]尹園威,尚朝軒,馬彥恒等,電路仿真的故障自動注入系統(tǒng)設(shè)計與實現(xiàn)[J].計算機測量與控制,2013,21 (09).