Device DNA的高級(jí)數(shù)據(jù)操作
Device DNA和存儲(chǔ)校驗(yàn)碼對(duì)于外界來說不是機(jī)密,任何人都可以獲得這些信息,DeviceDNA設(shè)計(jì)級(jí)安全的奧秘在于“安全算法”。對(duì)于一些設(shè)計(jì),安全要求需要超過默認(rèn)的51位DeviceDNA來增強(qiáng)保護(hù),以免受到蠻力攻擊。Device DNA設(shè)計(jì)具有增加額外位以提高安全性的能力,采用的Device DNA位數(shù)越多,完成蠻力攻擊所需的時(shí)間就越長。蠻力攻擊是指當(dāng)克隆者或過度構(gòu)建者試圖通過破解安全算法來生成存儲(chǔ)校驗(yàn)碼。有時(shí)這種攻擊所需的時(shí)間會(huì)非常長,因此在某種程度上不太可能,或不值得進(jìn)行蠻力攻擊。蠻力攻擊的總時(shí)間是DeviceDNA位數(shù)和存儲(chǔ)校驗(yàn)碼位數(shù)的組合。
如圖1所示,通過采用Device DNA的數(shù)據(jù)操作可提供額外的安全性,以協(xié)助阻止蠻力攻擊。在本例中,設(shè)計(jì)為Device DNA增加了64000位。并存儲(chǔ)在Spartan-3AN用戶Fash存儲(chǔ)器中,可以像存儲(chǔ)在配置存儲(chǔ)器或系統(tǒng)存儲(chǔ)器中一樣簡單。在DeviceDNA后面的設(shè)計(jì)中插入一個(gè)分類器,分類器其實(shí)就是一個(gè)多路分配器和一個(gè)被解碼以便控制多路分配器的選擇線路的計(jì)數(shù)器。多路分配器的第1個(gè)輸出將數(shù)據(jù)發(fā)送至安全算法,第2個(gè)輸出將比特位置入位桶。這個(gè)簡單的電路現(xiàn)在將Device DNA關(guān)系更改為存儲(chǔ)校驗(yàn)碼,使蠻力攻擊或反向工程安全算法變得更加困難。
圖1 Device DNA的數(shù)據(jù)操作
(1) 存儲(chǔ)校驗(yàn)碼和算法控制的高級(jí)數(shù)據(jù)操作
數(shù)據(jù)操作技術(shù)的進(jìn)一步擴(kuò)展可以用于整合存儲(chǔ)校驗(yàn)碼,圖2所示為一個(gè)實(shí)例。其中數(shù)據(jù)操作分類器已經(jīng)被擴(kuò)展,從而整合了額外的Device DNA位和存儲(chǔ)校驗(yàn)碼。現(xiàn)在克隆者或過度構(gòu)建者只看到Device DNA被讀入FPGA,使得克隆者或過度構(gòu)建者反向工程Device DNA、存儲(chǔ)校驗(yàn)碼和垃圾位,然后繼續(xù)反向工程安全算法變得非常困難。在本例中,添加了第3個(gè)多路分配器輸出,用于分離存儲(chǔ)校驗(yàn)碼并將其發(fā)送至比較器。
圖2 存儲(chǔ)校驗(yàn)碼上的數(shù)據(jù)操作
如圖3所示,通過為多路分配器添加第4個(gè)輸出并將其直接連至安全算法,可進(jìn)一步獲得該數(shù)據(jù)操作?;谶x擇的安全算法,可以允許設(shè)計(jì)者改變其種子值、安全密鑰,甚至是算法本身。從而形成另一層安全保護(hù),以防克隆或過度構(gòu)建。通過該數(shù)據(jù)操作,F(xiàn)PGA中的硬件設(shè)計(jì)仍然完全相同,但是安全算法卻變了。通過增加安全算法實(shí)現(xiàn)的改變可以在制造流程中,甚至是現(xiàn)場環(huán)境下輕松升級(jí)設(shè)計(jì)安全性。
圖3 為多路分配器添加第4個(gè)輸出
(2) 邏輯資源要求
數(shù)據(jù)操作分類器是一個(gè)多路分配器和一個(gè)被解碼以控制多路分配器的選擇線路的計(jì)數(shù)器,這些線路可以在數(shù)十個(gè)邏輯單元內(nèi)實(shí)現(xiàn)。
(3) 高級(jí)數(shù)據(jù)操作結(jié)論
高級(jí)數(shù)據(jù)操作有助于保護(hù)FPGA設(shè)計(jì)不被克隆者和過度構(gòu)建者蠻力攻擊,同時(shí)還提供了簡單而又快速地升級(jí)安全性的方法。
來源:ks990次