作者:周浩華,恒波軟件轉(zhuǎn)載
安全芯片如何高效實(shí)現(xiàn)?在芯片的設(shè)汁過程中,采用了Topdown的設(shè)計(jì)方法。通過行為級(jí)的仿真掌握算法,獲取一定的測試矢量,通過分析,設(shè)計(jì)整體實(shí)現(xiàn)結(jié)構(gòu)和各個(gè)模塊的優(yōu)化結(jié)構(gòu),通過FPGA的門級(jí)仿真或板級(jí)仿真來驗(yàn)證設(shè)計(jì)。下圖顯示的是研究過程中的一般流程和用到的有關(guān)工具,需要說明的是每一步都有一個(gè)反復(fù)驗(yàn)證的過程。

在研究加密算法的VLSI實(shí)現(xiàn)時(shí),首先考慮的是算法運(yùn)行的性能和安全性,專門的狀態(tài)機(jī)由于可以實(shí)現(xiàn)各種內(nèi)部定制的調(diào)度,可以小化運(yùn)算需要的時(shí)鐘,同時(shí)也有利于增加物理破解時(shí)的難度,因此較好的方式是加密模塊內(nèi)部采用專門的狀態(tài)機(jī)來實(shí)現(xiàn)控制.文件夾加密是一種軟件設(shè)計(jì)與這里說的安全芯片設(shè)計(jì)需求區(qū)別較大。
對(duì)于各個(gè)模塊的FPGA板級(jí)仿真采用如圖2的測試平臺(tái),包括兩臺(tái)微機(jī),一臺(tái)用于下載FPGA的配置碼,一臺(tái)用于加載測試矢量,采用一個(gè)基于ISA插卡,片上的Xinlix9536用于進(jìn)行時(shí)鐘產(chǎn)生和端口配置,中間的Altera芯片用于進(jìn)行網(wǎng)表配置,周圍存儲(chǔ)器件用于有些數(shù)據(jù)的暫存.

加密芯片由于其應(yīng)用的特殊性,某些單元,如密鑰單元,往往需要某些安全控制,通常采用的措施有:
- 熔絲,燒斷熔絲防止測試功能再激活。
- 自鎖邏輯,對(duì)關(guān)鍵單元讀寫需要認(rèn)證,對(duì)試探性攻擊超過多次芯片自鎖。 ? ?
- 自毀機(jī)制,防止芯片封裝被打開后的微探測破譯。
- 防低頻檢測,對(duì)時(shí)鐘進(jìn)行監(jiān)控,防止debug。
- 冗余存儲(chǔ),多單元互動(dòng),增加修改難度。
此外,可測性設(shè)計(jì)是芯片設(shè)計(jì)時(shí)需要考慮的一個(gè)重要因素,由于可測性設(shè)計(jì)的要求?與安全性要求是相抵觸,因而需要綜合考慮這兩個(gè)課題,內(nèi)建自測試技術(shù)BIST作為能保全雙方要求的方案受到了重視。