日韩成人黄色,透逼一级毛片,狠狠躁天天躁中文字幕,久久久久久亚洲精品不卡,在线看国产美女毛片2019,黄片www.www,一级黄色毛a视频直播

面向FPGA木馬檢測的可測試性值計算方法和系統(tǒng)與流程

文檔序號:39726360發(fā)布日期:2024-10-22 13:26閱讀:2來源:國知局
面向FPGA木馬檢測的可測試性值計算方法和系統(tǒng)與流程

所屬的技術(shù)人員可以清楚地了解到,為描述的方便和簡潔,上述描述的存儲裝置、處理裝置的具體工作過程及有關(guān)說明,可以參考前述方法實(shí)施例中的對應(yīng)過程,在此不再贅述。本領(lǐng)域技術(shù)人員應(yīng)該能夠意識到,結(jié)合本文中所公開的實(shí)施例描述的各示例的模塊、方法步驟,能夠以電子硬件、計算機(jī)軟件或者二者的結(jié)合來實(shí)現(xiàn),軟件模塊、方法步驟對應(yīng)的程序可以置于隨機(jī)存儲器(ram)、內(nèi)存、只讀存儲器(rom)、電可編程rom、電可擦除可編程rom、寄存器、硬盤、可移動磁盤、cd-rom、或內(nèi)所公知的任意其它形式的存儲介質(zhì)中。為了清楚地說明電子硬件和軟件的可互換性,在上述說明中已經(jīng)按照功能一般性地描述了各示例的組成及步驟。這些功能究竟以電子硬件還是軟件方式來執(zhí)行,取決于技術(shù)方案的特定應(yīng)用和設(shè)計約束條件。本領(lǐng)域技術(shù)人員可以對每個特定的應(yīng)用來使用不同方法來實(shí)現(xiàn)所描述的功能,但是這種實(shí)現(xiàn)不應(yīng)認(rèn)為超出本發(fā)明的范圍。術(shù)語“第一”、“第二”等是用于區(qū)別類似的對象,而不是用于描述或表示特定的順序或先后次序。術(shù)語“包括”或者任何其它類似用語旨在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設(shè)備/裝置不僅包括那些要素,而且還包括沒有明確列出的其它要素,或者還包括這些過程、方法、物品或者設(shè)備/裝置所固有的要素。至此,已經(jīng)結(jié)合附圖所示的優(yōu)選實(shí)施方式描述了本發(fā)明的技術(shù)方案,但是,本領(lǐng)域技術(shù)人員容易理解的是,本發(fā)明的保護(hù)范圍顯然不局限于這些具體實(shí)施方式。在不偏離本發(fā)明的原理的前提下,本領(lǐng)域技術(shù)人員可以對相關(guān)技術(shù)特征做出等同的更改或替換,這些更改或替換之后的技術(shù)方案都將落入本發(fā)明的保護(hù)范圍之內(nèi)。


背景技術(shù):

1、可編程邏輯門陣列(field-programmable?gate?arrays,fpga)因其高度的靈活性和在各種應(yīng)用中扮演著關(guān)鍵角色。設(shè)計人員和工程師也因其可重新配置的性質(zhì)而廣泛選擇使用fpga。但是,高度的可編程性也為潛在的安全風(fēng)險敞開大門,不可信的第三方可能會在其中插入惡意模塊,也就是硬件木馬。

2、硬件木馬可能具有改變功能、竊取信息、降低可靠性等攻擊功能,對個人信息安全乃至國家國防安全都會產(chǎn)生巨大的威脅性。而且硬件木馬通常具有隱蔽性和罕見觸發(fā)性,增加了木馬檢測的難度。因此硬件木馬檢測已經(jīng)成為近年來的研究熱點(diǎn)。

3、在木馬檢測的研究中,非木馬節(jié)點(diǎn)的可測試性值會明顯低于木馬節(jié)點(diǎn)的可測試性值。為解決這一問題,goldstein于1980年提出的scoap(sandia?controllability/observability?analysis?program)可測試性度量被廣為接受,而基于scoap的木馬檢測方法也層出不窮,但是scoap可測試性度量中并未提及fpga綜合網(wǎng)表中的可測試性度量計算方式。


技術(shù)實(shí)現(xiàn)思路

1、為了解決現(xiàn)有技術(shù)中的上述問題,即現(xiàn)有的fpga綜合網(wǎng)表的可測試性值獲取方法無法在早期的設(shè)計階段進(jìn)行計算的問題,本發(fā)明提供了一種面向fpga木馬檢測的可測試性值計算方法,所述方法包括:

2、步驟s1,初始化fpga綜合網(wǎng)表的全部節(jié)點(diǎn),獲得初始網(wǎng)表;

3、步驟s2,對初始網(wǎng)表的所有主輸入i置cc0(i)=cc1(i)=1,對初始網(wǎng)表的所有主輸出o置co(o)=0;

4、步驟s3,對設(shè)置好主輸入和主輸出的初始網(wǎng)表進(jìn)行拓?fù)浠?,獲得拓?fù)浠W(wǎng)表;

5、步驟s4,根據(jù)拓?fù)浠W(wǎng)表計算拓?fù)浠W(wǎng)表的拓?fù)浯涡颍?/p>

6、步驟s5,基于所述拓?fù)浯涡颍瑥闹鬏斎腴_始依次計算各節(jié)點(diǎn)的可控性值;

7、步驟s6,基于所述拓?fù)浯涡颍谒隹煽匦灾祻闹鬏敵鲩_始依次計算各節(jié)點(diǎn)的可觀測性值;所述可控性值和可觀測性值作為可測試性值。

8、進(jìn)一步的,所述各節(jié)點(diǎn)的可控性值和各節(jié)點(diǎn)的可觀測性值具體為:

9、所述各節(jié)點(diǎn)的可控性值,包括查找表lut的可控性值、進(jìn)位邏輯鏈carry的可控性值、觸發(fā)器的可控性值和鎖存器的可控性值;

10、所述各節(jié)點(diǎn)的可觀測性值,包括查找表lut的可觀測性值、進(jìn)位邏輯鏈carry的可觀測性值、觸發(fā)器的可觀測性值和鎖存器的可觀測性值。

11、進(jìn)一步的,所述可控性值的計算方法根據(jù)可以確定邏輯門的輸出時的輸入可控性值的數(shù)量不同進(jìn)行區(qū)分;

12、當(dāng)設(shè)置1個輸入可控性值可確定邏輯門的輸出時:

13、輸出可控性=min(輸入可控性)+邏輯深度

14、當(dāng)所有輸入都設(shè)置為控制值可確定邏輯門的輸出時:

15、輸出可控性=∑(輸入可控性)+邏輯深度

16、當(dāng)設(shè)置輸出由多個控制集可確定邏輯門的輸出時:

17、輸出可控性=min(輸入可控性集)+邏輯深度。

18、進(jìn)一步的,所述查找表lut的可控性值計算方法為:

19、根據(jù)查找表lut找到所有使輸出的取值bi=0(1)的索引記為搜索索引i;

20、對于每一個搜索索引i對應(yīng)的輸入集合(ain,ai(n-1),…,ai1)計算n位寬的查找表lutn的輸入可控性值,加上查找表當(dāng)前的邏輯深度1,獲得n位寬的超招標(biāo)lutn的輸入可控性值:

21、

22、

23、其中,cc0lut(o)表示lut當(dāng)前節(jié)點(diǎn)的0-可控制性值,cc1lut(o)lut當(dāng)前節(jié)點(diǎn)的1-可控制性值,aij表示的lut輸入的取值,ik表示輸入,ij表示n位寬的查找表lutn的第j位輸入,bi表示所有輸入的第i個元素對應(yīng)輸出的取值,i=1,2,…,2n,其中i表示輸入的元素的序號,ij∈ik,cc表示輸入可控性值。進(jìn)一步的,所述查找表lut的可觀測性值計算方法為:

24、colut(ik)=1+colut(o)+min(∑(ccxlut(im)+ccylut(o)))

25、其中,ccxlut(im)代表真值表中除了當(dāng)前輸入值ik以外的每一個非當(dāng)前輸入值im在取值為x(x=0,1)時的可控制性值,ccylut(o)中的y代表真值表中對應(yīng)的一行中輸出取值,ccylut(o)代表輸出取值為y時的可控制性值。

26、進(jìn)一步的,所述進(jìn)位邏輯鏈carry的可控性值計算方法為:

27、搜索所有使進(jìn)位邏輯鏈carry的加法/減法結(jié)果輸出端為零o[0]=0的第一輸入組合對;

28、基于所述第一輸入組合對中可控性值的最小值的一對的可控性值,加上邏輯深度,獲得進(jìn)位邏輯鏈carry的可控性值:

29、cc0carry(o[0])=

30、min(cc0carry(s[0])+cc0carry(cyinit),cc1carry(s[0])+

31、cc1carry(cyinit))+1

32、cc1carry(o[0])=

33、min(cc0carry(s[0])+cc1carry(cyinit),cc1carry(s[0])+

34、cc0carry(cyinit))+1

35、cc0carry(co[0])=

36、min(cc0carry(s[0])+cc0carry(di[0]),cc1carry(s[0])+

37、cc0carry(cyinit))+1

38、cc1carry(co[0])=

39、min(cc0carry(s[0])+cc1carry(di[0]),cc1carry(s[0])+

40、cc1carry(cyinit))+1

41、cc0carry(o[1])=

42、min(cc0carry(s[1])+cc0carry(co[0]),cc1carry(s[1])+

43、cc1carry(co[0]))+2

44、cc1carry(o[1])=

45、min(cc0carry(s[1])+cc1carry(co[0]),cc1carry(s[1])+

46、cc0carry(co[0]))+2

47、cc0carry(co[1])=

48、min(cc0carry(s[1])+cc0carry(di[1]),cc1carry(s[1])+

49、cc0carry(co[0]))+2

50、cc1carry(co[1])=

51、min(cc0carry(s[1])+cc1carry(di[1]),cc1carry(s[1])+

52、cc1carry(co[0]))+2

53、cc0carry(o[2])=

54、min(cc0carry(s[2])+cc0carry(co[1]),cc1carry(s[2])+

55、cc1carry(co[1]))+3

56、cc1carry(o[2])=

57、min(cc0carry(s[2])+cc1carry(co[1]),cc1carry(s[2])+

58、cc0carry(co[1]))+3

59、cc0carry(co[2])=

60、min(cc0carry(s[2])+cc0carry(di[2]),cc1carry(s[2])+

61、cc0carry(co[1]))+3

62、cc1carry(co[2])=

63、min(cc0carry(s[2])+cc1carry(di[2]),cc1carry(s[2])+

64、cc1carry(co[1]))+3

65、cc0carry(o[3])=

66、min(cc0carry(s[3])+cc0carry(co[2]),cc1carry(s[3])+

67、cc1carry(co[2]))+4

68、cc1carry(o[3])=

69、min(cc0carry(s[3])+cc1carry(co[2]),cc1carry(s[3])+

70、cc0carry(co[2]))+4

71、cc0carry(co[3])=

72、min(cc0carry(s[3])+cc0carry(di[3]),cc1carry(s[3])+

73、cc0carry(co[2]))+4

74、cc1carry(co[3])=

75、min(cc0carry(s[3])+cc1carry(di[3]),cc1carry(s[3])+

76、cc1carry(co[2]))+4

77、cc0carry()表示進(jìn)位邏輯鏈carry的0-可控制性值,cc1carry(o[0])表示進(jìn)位邏輯鏈carry的1-可控制性值,s表示進(jìn)位邏輯鏈carry的同步設(shè)定端,cyinit表示進(jìn)位邏輯鏈carry的初始化值,di表示進(jìn)位邏輯鏈carry的數(shù)據(jù)輸入,co[]表示進(jìn)位邏輯鏈carry的輸出,[]中的1、2和3表示索引。

78、進(jìn)一步的,所述進(jìn)位邏輯鏈carry的可觀測性值計算方法為:

79、cocarry(cyinit)=

80、min(cc0carry(o[0])+cc0carry(s[0]),cc1carry(o[0])+

81、cc0carry(s[0]),cc0carry(o[0])+cc1carry(s[0]),cc1carry(o[0])+

82、cc1carry(s[0]))+cocarry(o[0])+1

83、cocarry(s[0])=

84、min(cc0carry(o[0])+cc0carry(cyinit),cc1carry(o[0])+

85、cc0carry(cyinit),cc0carry(o[0])+cc1carry(cyinit),cc1carry(o[0])+cc1carry(cyinit))+cocarry(o[0])+1

86、cocarry(s[1])=

87、min(cc0carry(o[1])+cc0carry(co[0]),cc1carry(o[1])+

88、cc0carry(co[0]),cc0carry(o[1])+cc1carry(co[0]),cc1carry(o[1])+

89、cc1carry(co[0]))+cocarry(o[1])+1

90、cocarry(s[2])=

91、min(cc0carry(o[2])+cc0carry(co[1]),cc1carry(o[2])+

92、cc0carry(co[1]),cc0carry(o[2])+cc1carry(co[1]),cc1carry(o[2])+

93、cc1carry(co[1]))+cocarry(o[2])+1

94、cocarry(s[3])=

95、min(cc0carry(o[3])+cc0carry(co[2]),cc1carry(o[3])+

96、cc0carry(co[2]),cc0carry(o[3])+cc1carry(co[2]),cc1carry(o[3])+

97、cc1carry(co[2]))+cocarry(o[3])+1

98、cocarry(di[0])=

99、min(cc0carry(s[0])+cc0carry(co[0]),cc0carry(s[0])+

100、cc1carry(co[0]))+cocarry(co[0])+1

101、cocarry(di[1])=

102、min(cc0carry(s[1])+cc0carry(co[1]),cc0carry(s[1])+

103、cc1carry(co[1]))+cocarry(co[1])+1

104、cocarry(di[2])=

105、min(cc0carry(s[2])+cc0carry(co[2]),cc0carry(s[2])+

106、cc1carry(co[2]))+cocarry(co[2])+1

107、cocarry(di[3])=

108、min(cc0carry(s[3])+cc0carry(co[3]),cc0carry(s[3])+

109、cc1carry(co[3]))+cocarry(co[3])+1

110、其中,cocarry()表示可觀測性值,cc0carry()表示0-可控制性值,cc1carry()表示1-可控性值,s表示進(jìn)位邏輯鏈carry的同步設(shè)定端,cyinit表示進(jìn)位邏輯鏈carry的初始化值,di表示進(jìn)位邏輯鏈carry的數(shù)據(jù)輸入,o表示進(jìn)位邏輯鏈carry的輸出,co[]表示進(jìn)位邏輯鏈carry的輸出,[]中的1、2和3表示索引。

111、進(jìn)一步的,所述觸發(fā)器的可控性值和鎖存器的可控性值計算方法為:

112、對于第一類觸發(fā)器fdce的可控性值和第一類鎖存器ldce的可控性值:

113、cc0(q)=min(cc0(clr)+cc0(d)+cc0(c)+cc1(c)

114、+cc1(ce),cc1(clr))

115、cc1(q)=min(cc0(clr)+cc1(d)+cc0(c)+cc1(c)

116、+cc1(ce),cc0(ce))

117、對于第二類觸發(fā)器fdpe和第二類鎖存器ldpe的可控性值:cc0(q)=min(cc0(pre)+cc0(d)+cc0(c)+cc1(c)

118、+cc1(ce),cc0(ce))

119、cc1(q)=min(cc0(pre)+cc1(d)+cc0(c)+cc1(c)

120、+cc1(ce),cc1(pre))

121、對于第三類觸發(fā)器fdre的可控性值:

122、cc0(q)=min(cc0(r)+cc0(d)+cc0(c)+cc1(c)+cc1(ce),cc1(r))

123、cc1(q)=min(cc0(r)+cc1(d)+cc0(c)+cc1(c)+cc1(ce),cc0(ce))

124、對于第四類觸發(fā)器fdse的可控性值:

125、cc0(q)=min(cc0(s)+cc0(d)+cc0(c)+cc1(c)+cc1(ce),cc0(ce))

126、cc1(q)=min(cc0(s)+cc1(d)+cc0(c)+cc1(c)+cc1(ce),cc1(s))

127、其中,cc0()表示0-可控制性值,cc1()表示1-可控性值,q表示觸發(fā)器或鎖存器的輸出數(shù)據(jù),r表示同步復(fù)位端,c表示時鐘端,ce表示時鐘使能端,pre表示異步預(yù)設(shè)端。

128、進(jìn)一步的,所述觸發(fā)器的可觀測性值和鎖存器的可觀測性值計算方法為:

129、對于第一類觸發(fā)器fdce的可觀測性值和第一類鎖存器ldce的可觀測性值:

130、co(d)=co(q)+cc1(c)+cc0(c)+cc0(clr)+cc1(ce)

131、對于第二類觸發(fā)器fdpe的可觀測性值和第二類鎖存器ldpe的可觀測性值:

132、co(d)=co(q)+cc1(c)+cc0(c)+cc0(pre)+cc1(ce)

133、對于第三類觸發(fā)器fdre的可觀測性值:

134、co(d)=co(q)+cc1(c)+cc0(c)+cc0(r)+cc1(ce)

135、對于第四類觸發(fā)器fdse的觀測性值:

136、co(d)=co(q)+cc1(c)+cc0(c)+cc0(s)+cc1(ce)

137、其中,co()表示可觀測性值,cc0()表示0-可控制性值,cc1()表示1-可控性值,d表示輸入數(shù)據(jù),q表示觸發(fā)器或鎖存器的輸出數(shù)據(jù),r表示同步復(fù)位端,c表示時鐘端,s表示同步設(shè)定端,ce表示時鐘使能端,pre表示異步預(yù)設(shè)端。

138、本發(fā)明的另一方面,提出了一種面向fpga木馬檢測的可測試性值計算系統(tǒng),

139、初始網(wǎng)表獲取模塊,配置為初始化fpga綜合網(wǎng)表的全部節(jié)點(diǎn),獲得初始網(wǎng)表;

140、輸入輸出初始化模塊,配置為對初始網(wǎng)表的所有主輸入i置cc0(i)=cc1(i)=1,對初始網(wǎng)表的所有主輸出o置co(o)=0;

141、拓?fù)浠K,配置為對設(shè)置好主輸入和主輸出的初始網(wǎng)表進(jìn)行拓?fù)浠?,獲得拓?fù)浠W(wǎng)表;

142、拓?fù)浯涡颢@取模塊,配置為根據(jù)拓?fù)浠W(wǎng)表計算拓?fù)浠W(wǎng)表的拓?fù)浯涡颍?/p>

143、可控性值計算模塊,配置為基于所述拓?fù)浯涡?,從主輸入開始依次計算各節(jié)點(diǎn)的可控性值;

144、可觀測性值計算模塊,配置為基于所述拓?fù)浯涡颍谒隹煽匦灾祻闹鬏敵鲩_始依次計算各節(jié)點(diǎn)的可觀測性值;所述可控性值和可觀測性值作為可測試性值。

145、本發(fā)明的有益效果:

146、(1)本發(fā)明能夠在fpga設(shè)計的初級階段就精確計算出網(wǎng)表的可測試性指標(biāo),使設(shè)計工程師能夠及時識別可能存在的硬件木馬。這一早期介入策略降低了后期修改的成本與風(fēng)險,加速了產(chǎn)品開發(fā)進(jìn)程。

147、(2)通過在設(shè)計初期即融入可測試性值,確保了硬件結(jié)構(gòu)既滿足功能需求,又便于后續(xù)的測試與驗(yàn)證,提升了整體系統(tǒng)的可靠性與維護(hù)性。

148、(3)對于木馬檢測,可以使研究人員獲取更多的網(wǎng)表電路特征值,在fpga綜合網(wǎng)表上實(shí)現(xiàn)更好的特征提取與木馬檢測。

當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1