專利名稱:用于檢測(cè)差分邏輯保護(hù)的加密電路中異常的方法、以及實(shí)現(xiàn)所述方法的電路的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及用于檢測(cè)差分邏輯保護(hù)的加密電路中異常的方法和電路。特別地,本發(fā)明用于保護(hù)加密電路免受故障注入攻擊的領(lǐng)域。特別地,加密用于保護(hù)-秘密信息,其通過(guò)加密和其對(duì)偶運(yùn)算解密實(shí)現(xiàn);-或信息的完整性,通過(guò)簽名和簽名驗(yàn)證實(shí)現(xiàn)。
背景技術(shù):
加密使用安全的數(shù)學(xué)方法,現(xiàn)有技術(shù)中,最快的攻擊方法是窮舉攻擊,即試圖找出 所有可能的密鑰。通常,加密方法包括系統(tǒng)安全所需的復(fù)雜計(jì)算。其復(fù)雜性對(duì)計(jì)算機(jī)來(lái)說(shuō)不成問(wèn)題, 但對(duì)于通常由廉價(jià)的微處理器控制的不具備高速計(jì)算能力的大眾設(shè)備來(lái)說(shuō),這構(gòu)成了缺 點(diǎn)。其后果包括,例如銀行卡可能用幾分鐘的時(shí)間來(lái)認(rèn)證一筆交易,每個(gè)節(jié)目單獨(dú)付費(fèi)的電 視數(shù)字解碼器可能無(wú)法滿足所涉及的信息的吞吐量。為在不增加系統(tǒng)成本的前提下解決這類(lèi)問(wèn)題,習(xí)慣于向控制設(shè)備的中央單元提供 通常形式為專用于加密的協(xié)處理器。但是,不管是中央單元還是專用的協(xié)處理器,加密算法都是由物理的電子設(shè)備執(zhí) 行。電子設(shè)備具有與電流規(guī)律的內(nèi)在屬性有關(guān)的不可避免的缺陷。這樣,可利用執(zhí)行算法的物理系統(tǒng)的缺陷攻擊數(shù)學(xué)觀點(diǎn)中安全的加密系統(tǒng)。特別 在時(shí)間優(yōu)化的軟件系統(tǒng)中,計(jì)算時(shí)間依賴于數(shù)據(jù)的值,可引起“定時(shí)攻擊”,在特定情況下可 檢索所有的基于執(zhí)行時(shí)間的簡(jiǎn)單測(cè)量的密鑰。瞬時(shí)用電還可依賴于數(shù)據(jù),這可引起一系列 的攻擊,例如-SPA(簡(jiǎn)單能量分析),其基于在加密操作期間測(cè)量的其電力消耗的測(cè)量值,來(lái)嘗 試區(qū)分中央單元執(zhí)行的操作;-功耗的差分分析DPA(差分功率分析),其使用關(guān)于大量電力消耗的測(cè)量值的統(tǒng) 計(jì)操作,所述統(tǒng)計(jì)在對(duì)隨機(jī)信息進(jìn)行加密操作期間被執(zhí)行,且使用常數(shù)密鑰證實(shí)或無(wú)效對(duì) 密鑰的有限部分所做的假設(shè);-“模板”攻擊類(lèi)型,其在第一階段使用和被攻擊設(shè)備一樣的設(shè)備(該設(shè)備不包括 任何秘密)來(lái)構(gòu)造由密鑰的有限部分的值進(jìn)行索引的功耗模型,在第二階段測(cè)量被攻擊設(shè) 備的功耗來(lái)確定哪個(gè)所測(cè)量的功耗模型是最接近的,并且確定子密鑰的值。而且,任何流過(guò)導(dǎo)體的電流都引起電磁場(chǎng),原則上,測(cè)量電磁場(chǎng)會(huì)產(chǎn)生與電力消耗 (特別是DPA)有關(guān)的同樣的攻擊。最后,所謂的主動(dòng)攻擊或故障注入攻擊通過(guò)擾亂系統(tǒng)的操作以使用錯(cuò)誤結(jié)果來(lái)檢 索系統(tǒng)的秘密。執(zhí)行加密算法并易于泄露關(guān)于設(shè)備存儲(chǔ)器中保存的秘密信息的物理設(shè)備的任意缺陷被稱為“隱藏通道”故障攻擊是本質(zhì)上完全不同的主動(dòng)攻擊,特別地如David Naccache在論文 "Finding faults”,IEEE Security and Privacy, 3 (5), pages 61-65,2005 所闡述的溫 度或電壓變化;在電力供應(yīng)或由于電磁場(chǎng)、激光發(fā)射時(shí)出現(xiàn)的寄生信號(hào)等。故障的后果是 改變被攻擊電路節(jié)點(diǎn)的值。根據(jù)對(duì)硅的影響,這些因素可以是單個(gè)的或多個(gè)的、永久的或瞬 時(shí)的。通過(guò)多次嘗試,瞬時(shí)故障注入的靈活性引起更強(qiáng)的攻擊,并因此增加了成功的機(jī)會(huì)。 單個(gè)故障攻擊簡(jiǎn)化了攻擊過(guò)程。故障攻擊是基于正確的加密輸出和具有故障的輸出之間 的差分分析。例如,Gilles Piret 和 Jean-Jacques Quisquater 的論文 “A Differential Fault Attack Technique against SPN Structures, with Application to the AES and KHAZAD ",in CHES, volume 2779 from LNCS, pages 77-88,Springer,2003 中關(guān)于 AES 加密 的攻擊結(jié)果證明非常有效,如果故障到達(dá)倒數(shù)第二輪或倒數(shù)第三輪。迄今為止且非常自相矛盾地,故障注入攻擊被認(rèn)為是非常昂貴的,并因此在實(shí)踐 中僅被強(qiáng)大的金融組織使用。現(xiàn)在可以在因特網(wǎng)上訂購(gòu)解封裝站和可調(diào)節(jié)激光工作臺(tái)。據(jù) 此,故障注入攻擊的可能性會(huì)大大提高。這樣,由集成電路(例如FPGA)構(gòu)成的加密處理器 今后被認(rèn)為是安全的,僅當(dāng)其同時(shí)實(shí)現(xiàn)特別是DPA或EMA類(lèi)型的觀察攻擊和故障注入攻擊 的對(duì)抗方式。而且,觀察和故障的組合攻擊也被提及,例如Bruno Robisson和fiscal Manet 在其論文“Differential Behavioral Analysis", in CHES, volume 4727 from LNCS,pages 413-426,Springer, 2007 中提到的。對(duì)抗這種類(lèi)型攻擊的有效對(duì)抗方式是使用冗余。例如,計(jì)算塊可被重復(fù)三次并且 隨后的主要函數(shù)能夠消除故障被注入的塊。這種解決方案的一個(gè)缺點(diǎn)是需要額外的成本, 這是由于需要復(fù)制計(jì)算塊或插入基于驗(yàn)證不變量的一致性檢查模塊。另一個(gè)對(duì)抗方式包括檢測(cè)故障注入。在這種情況中,例如,用戶被警告且能夠通過(guò) 再次初始化系統(tǒng)進(jìn)行自我保護(hù)。 特別地,本發(fā)明的一個(gè)目的是減輕上述缺點(diǎn)。為此目的,本發(fā)明的主題是一種在由差分邏輯保護(hù)的電路中檢測(cè)異常的方法,所 述差分邏輯處理由一對(duì)分量表示的邏輯變量,第一網(wǎng)絡(luò)的單元對(duì)第一對(duì)分量執(zhí)行邏輯功 能,第二網(wǎng)絡(luò)的對(duì)偶單元以互補(bǔ)邏輯對(duì)第二分量操作,所述邏輯功能由每對(duì)單元在將變量 置于已知狀態(tài)的預(yù)充電階段對(duì)到所述單元的輸入執(zhí)行,隨后是求值階段,其中由所述單元 來(lái)執(zhí)行計(jì)算,所述方法特征在于,通過(guò)在預(yù)充電階段期間或在求值階段發(fā)生的至少一個(gè)不 一致?tīng)顟B(tài)來(lái)檢測(cè)異常。由差分邏輯保護(hù)的電路例如是加密電路。根據(jù)本發(fā)明的一個(gè)方面,邏輯門(mén)用于檢測(cè)在預(yù)充電階段發(fā)生的不一致?tīng)顟B(tài),如果 一致?tīng)顟B(tài)是(0,0)則所述邏輯門(mén)是“或”門(mén),如果一致?tīng)顟B(tài)是(1,1)則所述邏輯門(mén)是“與” 門(mén)。用于檢測(cè)在求值階段發(fā)生的不一致?tīng)顟B(tài)的邏輯門(mén)是“同或”門(mén)。多路器使得能夠例如選擇通過(guò)檢測(cè)到不一致?tīng)顟B(tài)而產(chǎn)生的信號(hào),其中,用于在所 述預(yù)充電階段檢測(cè)不一致?tīng)顟B(tài)的門(mén)的輸出在所述預(yù)充電階段被選擇,用于在所述求值階段 檢測(cè)不一致?tīng)顟B(tài)的門(mén)的輸出在所述求值階段被選擇,所述選擇由配置信號(hào)來(lái)控制。本發(fā)明的主題還包括一種由差分邏輯保護(hù)的電路,所述差分邏輯處理由一對(duì)分量表示的邏輯變量,第一網(wǎng)絡(luò)的單元對(duì)第一對(duì)分量執(zhí)行邏輯功能,第二網(wǎng)絡(luò)的對(duì)偶單元以互 補(bǔ)邏輯對(duì)第二分量操作,所述邏輯功能由每對(duì)單元在將變量置于已知狀態(tài)的預(yù)充電階段對(duì) 到所述單元的輸入執(zhí)行,隨后是求值階段,其中由所述單元來(lái)執(zhí)行計(jì)算,所述電路特征在 于,所述電路包括至少一個(gè)檢測(cè)模塊,所述檢測(cè)模塊實(shí)現(xiàn)如前述權(quán)利要求中的一項(xiàng)所述的 方法,并且所述檢測(cè)模塊包括用于在預(yù)充電或求值階段期間在所述電路的監(jiān)控的節(jié)點(diǎn)處測(cè) 試在邏輯變量的兩個(gè)分量之間的不一致的模塊。所述電路例如是FPGA型的可編程電路或ASIC型的電路。至少一個(gè)檢測(cè)模塊包括例如用于在檢測(cè)預(yù)充電階段期間針對(duì)來(lái)自要被監(jiān)控的單 元的輸出檢測(cè)不一致?tīng)顟B(tài)的模塊。至少一個(gè)檢測(cè)模塊包括例如用于檢測(cè)求值階段期間針對(duì)來(lái)自要被監(jiān)控的單元的 輸出檢測(cè)不一致?tīng)顟B(tài)的模塊。通過(guò)鏈接收集來(lái)收集檢測(cè)模塊的輸出,結(jié)果通過(guò)“或”門(mén)被集中到至少一個(gè)等電位
點(diǎn)ο每個(gè)檢測(cè)鏈的輸出連接到觸發(fā)器,所述觸發(fā)器由時(shí)鐘信號(hào)(CLK)觸發(fā),并且當(dāng)該 鏈的檢測(cè)模塊中的一個(gè)模塊檢測(cè)到至少一個(gè)不一致?tīng)顟B(tài)時(shí),生成值為1的全局輸出。在一個(gè)例子中,電路檢測(cè)模塊中的至少一部分被組織為樹(shù)結(jié)構(gòu),最末檢測(cè)模塊生 成全局信號(hào),所述全局信號(hào)指示是否已經(jīng)在由所述模塊監(jiān)控的所述電路節(jié)點(diǎn)中的一個(gè)節(jié)點(diǎn) 處檢測(cè)到至少一個(gè)不一致?tīng)顟B(tài)。要監(jiān)控的分量按照向量(At,Af,Bt,Bf)被分組在一起,所述檢測(cè)模塊包括兩個(gè)乘法 累加器,所述兩個(gè)乘法累加器一方面在向量(At,Bt)之間執(zhí)行乘法累加操作并且另一方面 在向量(Af,Bf)之間執(zhí)行乘法累加操作,而這是在值為1的低位比特已經(jīng)被附加到每個(gè)所 述向量之后進(jìn)行的,兩個(gè)操作的結(jié)果之間的差值被計(jì)算,然后由零值比較器處理該差值,其 中,當(dāng)在預(yù)充電階段或求值階段中檢測(cè)到不一致?tīng)顟B(tài)時(shí),所述零值比較器的輸出的值為零。所述檢測(cè)模塊的零比較器的輸出被連接到觸發(fā)器,以生成穩(wěn)定的輸出,作為檢測(cè) 到不一致?tīng)顟B(tài)的結(jié)果。特別地,本發(fā)明的優(yōu)點(diǎn)在于依靠電路特性,所述電路被基于差分邏輯的對(duì)抗措施 的優(yōu)點(diǎn)所保護(hù),且初始被設(shè)計(jì)以對(duì)抗隱藏通道的觀察攻擊,以便檢測(cè)其他類(lèi)型的攻擊或干 擾。
本發(fā)明的其他特征和優(yōu)勢(shì)將隨后結(jié)合以下附圖進(jìn)行非限制性的說(shuō)明。-圖1表示差分邏輯中的“與”門(mén);-圖2表示差分邏輯的計(jì)算階段;-圖3表示依賴由差分邏輯保護(hù)的體系結(jié)構(gòu)的異常檢測(cè)的操作原理;-圖4呈現(xiàn)了使用用于異常檢測(cè)方法的示例性電路;-圖5呈現(xiàn)了用于檢測(cè)異常的第一示例性鏈;-圖6呈現(xiàn)了用于檢測(cè)異常的第二示例性鏈;-圖7呈現(xiàn)了用于異常檢測(cè)的示例性樹(shù)結(jié)構(gòu);-圖8呈現(xiàn)了在使用乘法-累加塊的電路中示例性使用該方法。
具體實(shí)施例方式圖1呈現(xiàn)了如示例性說(shuō)明差分邏輯的原理的WDDL邏輯(波動(dòng)態(tài)差分邏輯)中的 “與門(mén)” 1、2。后者包括兩個(gè)操作在互補(bǔ)邏輯下的對(duì)偶邏輯網(wǎng)絡(luò)1、2。WDDL邏輯的示例隨后 介紹,但本發(fā)明的原理可應(yīng)用于其他類(lèi)型的差分邏輯,例如MDPL邏輯(掩碼雙軌預(yù)充電邏 輯)。除了計(jì)算網(wǎng)絡(luò)的對(duì)偶性,如權(quán)利要求所述,差分邏輯計(jì)算在兩個(gè)嚴(yán)格區(qū)分的階段被執(zhí) 行預(yù)充電階段和求值階段。數(shù)據(jù)以雙軌形式表示,每個(gè)邏輯變量a由以下方式編碼的信號(hào)對(duì)(at,af)構(gòu)成-(0,0)表示預(yù)充電階段的靜止?fàn)顟B(tài)a的值未定義,表示為Ω ;-(1,0)求值階段中的活動(dòng)狀態(tài),a= 1 ;-(0,1)求值階段中的另一活動(dòng)狀態(tài),a = 0。邏輯門(mén)H有兩個(gè)輸入a和b,且輸出s由兩個(gè)門(mén)1、2物理表示,門(mén)1、2分別具有邏 輯功能T(at,bt)和F(af,bf),以使得st = T(at, bt) (1)sf = F(af, bf) (2)“真”邏輯網(wǎng)絡(luò)對(duì)應(yīng)于傳輸信號(hào)St的函數(shù)T?!凹佟睂?duì)偶邏輯網(wǎng)絡(luò)對(duì)應(yīng)于傳輸信號(hào) Sf的函數(shù)F。圖1說(shuō)明了 “與”門(mén),其中,執(zhí)行函數(shù)T的“真”網(wǎng)絡(luò)接收兩個(gè)非互補(bǔ)輸入 和 bt。對(duì)偶“或”函數(shù)執(zhí)行功能F。對(duì)于變量χ的向量,滿足下列關(guān)系T(X)=H(X) (3)F(x)= H(x) (4)圖2呈現(xiàn)了使用差分邏輯(例如WDDL型)的計(jì)算步驟的階段。該步驟包括連續(xù) 的兩個(gè)階段預(yù)充電階段21和求值階段22。輸入變量 、bt、af, bf和相應(yīng)輸出變量st、sf 的狀態(tài)對(duì)應(yīng)于預(yù)充電階段和求值階段。圖2的時(shí)序圖表示該實(shí)施例中從預(yù)處理階段到求值 階段的轉(zhuǎn)換次數(shù)都是相同的(在該例子中為3次),反之依然。由于CMOS類(lèi)型的電子技術(shù) 中,功耗直接與轉(zhuǎn)換次數(shù)相關(guān),因此功耗被平衡。圖3表示依賴差分邏輯保護(hù)的體系結(jié)構(gòu)的異常檢測(cè)的操作原理。所謂的雙軌差分邏輯本質(zhì)上是冗余的。事實(shí)上,在求值期間,邏輯狀態(tài)中的變量包 括信號(hào)“真”,其與信號(hào)“假”互補(bǔ),并且在預(yù)充電期間,其值是相等的。因此,當(dāng)不一致?tīng)顟B(tài) (也就是說(shuō),不應(yīng)當(dāng)存在的狀態(tài))出現(xiàn)時(shí),異常可被檢測(cè)。例如,在WDDL邏輯中,如果不一致 狀態(tài)被檢測(cè)出,則異常被檢測(cè),也就是說(shuō)-在預(yù)充電階段,對(duì)偶信號(hào)對(duì)不同于狀態(tài)0!t,Qf)= (0,0);-在求值階段,信號(hào)對(duì)不同于狀態(tài)0!t,Qf)= (0,1)或0!t,G!f) = (1,0)。而且,差分邏輯中的單個(gè)故障有1/2的影響的概率,因?yàn)閺碾p軌到單軌的切換是 通過(guò)僅考慮到變量的兩個(gè)分量中的單個(gè)信號(hào)輸出做出的。在多故障的情況中,提出的檢測(cè)機(jī)制可能不會(huì)檢測(cè)到狀態(tài)的共軛的變化,例如在 求值階段由(0,1)變?yōu)?1,0)。而該典型情況幾乎是不可能的,因?yàn)?預(yù)充電階段很可能被影響;-多故障情況下,其他變量可被改變并檢測(cè);-多數(shù)攻擊不可能在伴隨的兩個(gè)信號(hào)上進(jìn)行比特反相。例如,基于先前定位時(shí)間的違反的攻擊通過(guò)使用溫度、電壓或頻率進(jìn)行的。圖3的示例說(shuō)明具有用于檢測(cè)異常的機(jī)制的WDDL差分門(mén)的原理。為執(zhí)行該檢測(cè)功能,在預(yù)充電階段期間,執(zhí)行邏輯加法操作的“或”門(mén)34可檢測(cè)在 網(wǎng)絡(luò)T31和F32的輸出處的不一致?tīng)顟B(tài)。這樣,當(dāng)狀態(tài)(0,1),(1,0)或(1,1)出現(xiàn)時(shí),“或” 門(mén);34的輸出等于1。以同樣的方式,在求值階段,執(zhí)行“同或”操作的“同或”門(mén)33可檢測(cè)在網(wǎng)絡(luò)T31和 F32的輸出處的不一致的狀態(tài)。這樣,當(dāng)狀態(tài)(0,0)或(1,1)出現(xiàn)時(shí),“同或”門(mén)33的輸出
等于1。隨后,多路器35可選擇“或”門(mén)34或“同或”門(mén)33的輸出。所述多路器使用輸入 信號(hào)PRE/EVAL進(jìn)行配置。例如,可使用以下約定-在預(yù)充電階段,PRE/EVAL的值為0,“或”門(mén)34的輸出被發(fā)送作為多路器35的輸 出;-在求值階段,PRE/EVAL的值為1,“同或”鎖存器33的輸出被發(fā)送作為多路器35 的輸出;因此,當(dāng)不一致?tīng)顟B(tài)被檢測(cè)到時(shí),多路器35的輸出處可用的FAULT信號(hào)的值為1, 而其他情況下為0。為簡(jiǎn)化該方法的實(shí)現(xiàn),檢測(cè)可僅發(fā)生在求值階段,這樣僅需要一個(gè)“同或”門(mén),可減 少?gòu)?fù)雜性。檢測(cè)也可僅發(fā)生在預(yù)充電階段,這樣僅需要一個(gè)“或”門(mén),可減少?gòu)?fù)雜性。兩種 情況下,都不需要使用多路器35。這種減少?gòu)?fù)雜性的缺點(diǎn)在于減少了檢測(cè)到入侵的概率。圖4呈現(xiàn)了示例性地使用用于檢測(cè)故障的方法。故障檢測(cè)可在檢測(cè)模塊中實(shí)現(xiàn), 檢測(cè)模塊放置在例如每個(gè)對(duì)偶門(mén)的輸出處,對(duì)偶門(mén)包括加密電路的網(wǎng)絡(luò)T41和網(wǎng)絡(luò)F42。包 括所述模塊的加密電路被實(shí)現(xiàn)為例如ASIC電路或FPGA型的可編程電路中。除了將檢測(cè)模塊放置在每個(gè)對(duì)偶門(mén)的輸出處外,為減少電路的復(fù)雜性,也可以僅 在電路的重要節(jié)點(diǎn)實(shí)現(xiàn)所述模塊。所謂的電路的“重要”節(jié)點(diǎn)是位于寄存器(例如D觸發(fā) 器43,妨)輸出的節(jié)點(diǎn),以確保檢測(cè)模塊監(jiān)控到的信號(hào)的穩(wěn)定性。這樣,圖4示例中,在網(wǎng)絡(luò) 單元T41和F42的輸出處進(jìn)行檢測(cè)。檢測(cè)模塊47位于由D觸發(fā)器構(gòu)成的兩對(duì)寄存器43,45 和44,46之間。然后,每個(gè)計(jì)算階段對(duì)應(yīng)于一時(shí)鐘周期。使用差分邏輯的加密電路包括很 多節(jié)點(diǎn)。信號(hào)PRE/EVAL可配置電路的每個(gè)模塊以在預(yù)充電階段或求值階段進(jìn)行故障檢測(cè)。 每個(gè)模塊47輸出處的FAULT信號(hào)可以知道異常(也就是不一致?tīng)顟B(tài))是否被在每個(gè)監(jiān)控 的節(jié)點(diǎn)的級(jí)別處被檢測(cè)到。圖5表示用于檢測(cè)異常的示例性鏈?zhǔn)诫娐贰H缜八?,檢測(cè)模塊可被放置在使用 差分邏輯體系結(jié)構(gòu)的加密電路中,在每個(gè)被監(jiān)控的節(jié)點(diǎn)級(jí)別上這樣做。收集異常的一種方 式是將檢測(cè)器鏈接起來(lái)。該技術(shù)顯示了在門(mén)之間僅具有一個(gè)等電位點(diǎn)56的優(yōu)勢(shì),在該門(mén)處 執(zhí)行了檢測(cè)并有助于ASIC或FPGA中的布局。這樣,檢測(cè)模塊51,52的FAULT信號(hào)被“或,, 門(mén)53,M鏈接在一起。檢測(cè)模塊的輸出信號(hào)也鏈接到觸發(fā)器55,觸發(fā)器55收集系統(tǒng)的全局狀態(tài)以增強(qiáng) 全局輸出信號(hào)GL0BAL_FAULT的穩(wěn)定性。如果在鏈中存在的一個(gè)檢測(cè)模塊檢測(cè)到至少一個(gè) 故障,則所述信號(hào)的值為1。如果該鏈顯示出限制被保護(hù)的處理器的全局操作速度的關(guān)鍵路徑,則可插入流水線處理器。雖然如此,也有必要確保檢測(cè)的延遲不允許攻擊者在異常檢測(cè)之前恢復(fù)計(jì)算結(jié)果。圖6呈現(xiàn)了用于檢測(cè)故障的第二示例性鏈?zhǔn)诫娐?。為降低?fù)雜性,使用了單鏈。例 如,檢測(cè)模塊可參照?qǐng)D5所示的檢測(cè)模塊而被簡(jiǎn)化,且被縮減為“同或”門(mén)61,62。這種情況 下,僅在求值階段對(duì)不一致?tīng)顟B(tài)的檢測(cè)進(jìn)行驗(yàn)證。為忽略檢測(cè)模塊在預(yù)充電階段的結(jié)果,僅 當(dāng)信號(hào)PRE/EVAL為1時(shí),“與”門(mén)66可以考慮鏈的每個(gè)檢測(cè)模塊的故障檢測(cè)結(jié)果。檢測(cè)模 塊61,62的故障信號(hào)使用“或”門(mén)63,64鏈接在一起。鏈接的檢測(cè)模塊檢測(cè)的異常被傳輸 到等電位點(diǎn)67,直到觸發(fā)器65收集系統(tǒng)的全局狀態(tài)的全局輸出信號(hào)GL0BAL_FAULT以增強(qiáng) 可靠性。如果至少一個(gè)故障在鏈上的一個(gè)節(jié)點(diǎn)被檢測(cè)到,則所述信號(hào)的值為1。如同一原理所要求的,檢測(cè)模塊可被簡(jiǎn)化,以僅在求值階段檢測(cè)不一致?tīng)顟B(tài)。這種 情況下,“或”門(mén)取代圖6中“同或”門(mén)61,62,且作為“與”門(mén)66輸入的信號(hào)PRE/EVAL被替 換為信號(hào)PRE/EVAL,以僅在求值階段(也就是說(shuō),當(dāng)信號(hào)PRE/EVAL的值為1)考慮全局檢測(cè) 的結(jié)果。也可使用兩個(gè)獨(dú)立鏈,一個(gè)用于在預(yù)充電階段檢測(cè)不一致?tīng)顟B(tài),另一個(gè)用于在求 值階段檢測(cè)不一致?tīng)顟B(tài),這可以避免使用多路器。圖7呈現(xiàn)用于檢測(cè)故障的示例性樹(shù)結(jié)構(gòu)。事實(shí)上,為加速檢測(cè)路徑,檢測(cè)模塊可采 用樹(shù)結(jié)構(gòu)。圖7給出一個(gè)示例,其中在差分邏輯保護(hù)的電路的八個(gè)節(jié)點(diǎn)處進(jìn)行不一致?tīng)顟B(tài) 的檢測(cè)。對(duì)Ollt,Qlf),(Q2t, Q2f),...,(Q8t, Q8f)的狀態(tài)依靠檢測(cè)模塊71 (例如圖3和4所描 述的那些)來(lái)監(jiān)控,并且其位于每個(gè)節(jié)點(diǎn)的級(jí)別處。隨后,每個(gè)所述模塊的檢測(cè)結(jié)果被傳輸 到第二組檢測(cè)模塊72,第二組的輸出被傳輸?shù)降谌M檢測(cè)模塊73。最后,最終檢測(cè)器74生 成結(jié)果信號(hào),用于在八個(gè)被監(jiān)控節(jié)點(diǎn)處的不一致?tīng)顟B(tài)的全局檢測(cè)。觸發(fā)器75收集系統(tǒng)的全 局狀態(tài)以增強(qiáng)GL0BAL_FAULT輸出信號(hào)的可靠性。圖8呈現(xiàn)了在使用乘法-累加塊的電路中的方法的示例性使用。事實(shí)上,通過(guò)使 用乘法-累加塊(通常稱為MAC塊,縮寫(xiě)表示為“乘法-累加”)可簡(jiǎn)化檢測(cè)。例如,這些塊 在特定的FPGA電路中是可用的。在這種情況下,輸入信號(hào)由兩對(duì)N位的字A= (At, Af)和 B= (Bt,Bf)組成。Af和~是At和Bt的對(duì)偶信號(hào),因此其表示為有符號(hào)的整數(shù)的兩個(gè)互補(bǔ) 方式Af = -At-I (5)Bf = -Bt-I (6)AtXBt的乘積在相關(guān)整數(shù)集合中被計(jì)算并必須對(duì)應(yīng)于乘積(Af+1) X (Bf+1)。這樣, 如果兩組乘積不對(duì)應(yīng),則可以檢測(cè)到單個(gè)信號(hào)故障。在多故障情況下,可能存在以下情況A和B中的故障彼此補(bǔ)償且因此得到相同的 乘積,但這種情況發(fā)生的概率極低。雖然如此,基于代數(shù)不變的整數(shù)乘法計(jì)算確保大的覆蓋 率,并因此構(gòu)成了對(duì)抗故障注入的有效對(duì)抗方式。為應(yīng)用該原則,不僅要考慮Af+1和而非Af和Bf,而且還要考慮這些變量永不 為0,以在預(yù)充電和求值兩個(gè)階段執(zhí)行檢測(cè)。滿足這些條件的簡(jiǎn)單方法是向四個(gè)字At,Bt, Af, Bf附加值為1的低位比特。使用兩個(gè)MAC塊81,82。第一 MAC塊81將附加了低位比特為1的N位二進(jìn)制字 At和也附加了低位比特為1的N位二進(jìn)制字Bt作為輸入。第二 MAC塊82將附加了低位比特為1的N位二進(jìn)制字~和也附加了低位比特為1的N位二進(jìn)制字~作為輸入。塊81, 82中的每個(gè)輸出的結(jié)果通過(guò)結(jié)果的差值83來(lái)被比較。當(dāng)未檢測(cè)到異常時(shí),該差值為0。因 此,零值比較器84被增加,以檢測(cè)是否有故障。比較器84的結(jié)果隨后被傳輸?shù)接|發(fā)器85, 以增強(qiáng)輸出信號(hào)的可靠性。當(dāng)沒(méi)有異常被檢測(cè)到時(shí),由觸發(fā)器輸出的信號(hào)仍為1,在 相反情況下,為0。
權(quán)利要求
1.一種在由差分邏輯保護(hù)的電路中檢測(cè)異常的方法,所述差分邏輯處理由一對(duì)分量 (at, af)表示的邏輯變量,第一網(wǎng)絡(luò)的單元(T)對(duì)所述對(duì)中的第一分量執(zhí)行邏輯功能,第二 網(wǎng)絡(luò)的對(duì)偶單元(F)以互補(bǔ)邏輯對(duì)第二分量操作,所述邏輯功能由每對(duì)單元(T,F(xiàn))在將所 述變量置于已知狀態(tài)的預(yù)充電階段對(duì)到所述單元的輸入執(zhí)行,隨后是求值階段(22), 其中由所述單元來(lái)執(zhí)行計(jì)算,所述方法特征在于,通過(guò)在所述預(yù)充電階段期間或在所述求 值階段期間發(fā)生的至少一個(gè)不一致?tīng)顟B(tài)來(lái)檢測(cè)異常。
2.如權(quán)利要求1所述的方法,其特征在于,由差分邏輯保護(hù)的所述電路是加密電路。
3.如前述任意一項(xiàng)權(quán)利要求所述的方法,其特征在于,邏輯門(mén)用于檢測(cè)在所述預(yù)充電 階段期間發(fā)生的不一致?tīng)顟B(tài),如果一致?tīng)顟B(tài)是(0,0)則該邏輯門(mén)是“或”門(mén),或者如果所述 一致?tīng)顟B(tài)是(1,1)則該邏輯門(mén)是“與”門(mén)。
4.如前述任意一項(xiàng)權(quán)利要求所述的方法,其特征在于,用于檢測(cè)在所述求值階段期間 發(fā)生的不一致?tīng)顟B(tài)的邏輯門(mén)是“同或”門(mén)。
5.如前述任意一項(xiàng)權(quán)利要求所述的方法,其特征在于,多路器(3 使得能夠選擇通過(guò) 檢測(cè)到不一致?tīng)顟B(tài)而產(chǎn)生的信號(hào)(FAULT),其中,用于在所述預(yù)充電階段(34)檢測(cè)不一致 狀態(tài)的門(mén)的輸出在所述預(yù)充電階段被選擇,用于在所述求值階段(3 檢測(cè)不一致?tīng)顟B(tài)的 門(mén)的輸出在所述求值階段被選擇,所述選擇由配置信號(hào)(PRE/EVAL)來(lái)控制。
6.一種由差分邏輯保護(hù)的電路,所述差分邏輯處理由一對(duì)分量表示的邏輯變量,第一 網(wǎng)絡(luò)的單元(T)對(duì)所述對(duì)中的第一分量執(zhí)行邏輯功能,第二網(wǎng)絡(luò)的對(duì)偶單元(F)以互補(bǔ)邏 輯對(duì)第二分量操作,所述邏輯功能由每對(duì)單元在將變量置于已知狀態(tài)的預(yù)充電階段對(duì)到所 述單元的輸入執(zhí)行,隨后是求值階段,其中由所述單元來(lái)執(zhí)行計(jì)算,所述電路特征在于,所 述電路包括至少一個(gè)檢測(cè)模塊(47),所述檢測(cè)模塊07)實(shí)現(xiàn)如前述權(quán)利要求中的一項(xiàng)所 述的方法,并且所述檢測(cè)模塊G7)包括用于在所述預(yù)充電或所述求值階段期間在所述電 路的監(jiān)控的節(jié)點(diǎn)處測(cè)試在所述邏輯變量的兩個(gè)分量之間的不一致的模塊。
7.如權(quán)利要求6所述的電路,其特征在于,所述電路是FPGA型的可編程電路。
8.如權(quán)利要求6所述的電路,其特征在于,所述電路是ASIC型的電路。
9.如權(quán)利要求6至8中的任意一項(xiàng)所述的電路,其特征在于,至少一個(gè)所述檢測(cè)模塊包 括用于在所述預(yù)充電階段期間針對(duì)來(lái)自要監(jiān)控的單元的輸出檢測(cè)不一致?tīng)顟B(tài)的模塊(34)。
10.如權(quán)利要求6至9中的任意一項(xiàng)所述的電路,其特征在于,至少一個(gè)所述檢測(cè)模塊 包括用于在所述求值階段期間針對(duì)來(lái)自要監(jiān)控的單元的輸出檢測(cè)不一致?tīng)顟B(tài)的模塊(33)。
11.如權(quán)利要求6至10中的任意一項(xiàng)所述的電路,其特征在于,通過(guò)鏈接來(lái)收集所述檢 測(cè)模塊的輸出,結(jié)果通過(guò)“或”門(mén)(53,54,63,64)被集中到至少一個(gè)等電位點(diǎn)(56,67)。
12.如權(quán)利要求11所述的電路,其特征在于,每個(gè)檢測(cè)鏈的輸出連接到觸發(fā)器,所述觸 發(fā)器由時(shí)鐘信號(hào)(CLK)觸發(fā),并且當(dāng)該鏈的檢測(cè)模塊(51,52,61,62)中的一個(gè)檢測(cè)到至少 一個(gè)不一致?tīng)顟B(tài)時(shí),生成值為1的全局輸出(GL0BAL_FAULT)。
13.如權(quán)利要求6至10中的任意一項(xiàng)所述的電路,其特征在于,所述電路檢測(cè)模塊中的 至少一部分被組織為樹(shù)結(jié)構(gòu)(71,72,73,74),最末檢測(cè)模塊(74)生成全局信號(hào),所述全局 信號(hào)指示是否已經(jīng)在由所述模塊監(jiān)控的所述電路節(jié)點(diǎn)中的一個(gè)處檢測(cè)到至少一個(gè)不一致 狀態(tài)。
14.如權(quán)利要求6至8中的任意一項(xiàng)所述的電路,其特征在于,要監(jiān)控的分量按照向量(At,Af,Bt,Bf)被分組在一起,所述檢測(cè)模塊包括兩個(gè)乘法累加器(81,82),所述兩個(gè)乘法累 加器(81,82) —方面在向量(At,Bt)之間執(zhí)行乘法累加操作并且另一方面在向量(Af,Bf) 之間執(zhí)行乘法累加操作,而這是在值為1的低位比特已經(jīng)被附加到每個(gè)所述向量之后進(jìn)行 的,兩個(gè)操作的結(jié)果之間的差值被計(jì)算(83),然后由零值比較器(84)處理該差值,其中,當(dāng) 在預(yù)充電階段或求值階段中檢測(cè)到不一致?tīng)顟B(tài)時(shí),所述零值比較器的輸出的值為零。
15.如權(quán)利要求14所述的電路,其特征在于,所述檢測(cè)模塊的零比較器(84)的輸出被 連接到觸發(fā)器(85),以生成穩(wěn)定的輸出(FAULT),作為檢測(cè)到不一致?tīng)顟B(tài)的結(jié)果。
全文摘要
本發(fā)明的主題是一種在由差分邏輯保護(hù)的電路中檢測(cè)異常的方法,所述差分邏輯處理由一對(duì)分量(at,af)表示的邏輯變量,第一網(wǎng)絡(luò)的單元(T)對(duì)第一對(duì)分量執(zhí)行邏輯功能,第二網(wǎng)絡(luò)的對(duì)偶單元(F)以互補(bǔ)邏輯對(duì)第二分量操作,所述邏輯功能由每對(duì)單元(T,F(xiàn))在將變量置于已知狀態(tài)的預(yù)充電階段(21)對(duì)到所述單元的輸入執(zhí)行,隨后是求值階段(22),其中由所述單元來(lái)執(zhí)行計(jì)算,所述方法特征在于,通過(guò)在預(yù)充電階段期間或在求值階段發(fā)生的至少一個(gè)不一致?tīng)顟B(tài)來(lái)檢測(cè)異常。本發(fā)明的主題還包括一種差分邏輯保護(hù)的電路,包括用于在電路的監(jiān)控節(jié)點(diǎn)處,在預(yù)充電階段或求值階段期間檢測(cè)邏輯變量的兩個(gè)分量一致性的模塊。
文檔編號(hào)G06F21/55GK102124470SQ200980131525
公開(kāi)日2011年7月13日 申請(qǐng)日期2009年7月30日 優(yōu)先權(quán)日2008年8月12日
發(fā)明者F·弗拉芒, J-L·當(dāng)熱, S·吉耶 申請(qǐng)人:法國(guó)電信教育集團(tuán)-巴黎電信學(xué)院