檢測裝置制造方法
【專利摘要】本發明提供一種檢測裝置,用于檢測對半導體裝置中的內部信號的攻擊。該檢測裝置包括第一輸入端,第二輸入端,以及比較單元。第一輸入端適用于接收第一信號,第一信號表示在半導體裝置的驅動器的第一級的信號,驅動器能夠將信號內部驅動到半導體裝置。第二輸入端適用于接收第二信號,第二信號表示在半導體裝置的驅動器的第二級的信號。比較單元適用于比較第一信號和第二信號,并確定第一信號和第二信號相等的時間段,其中,如果所確定的時間段超過預定閾值,則所確定的時間段表示有潛在的攻擊。本發明還涉及一種驅動單元、半導體裝置以及檢測方法。
【專利說明】檢測裝置
【技術領域】
[0001 ] 本發明涉及檢測裝置,用于檢測對半導體裝置中的內部信號的攻擊。
[0002]本發明還涉及包括檢測裝置的驅動單元。
[0003]此外,本發明還涉及包括驅動單元的半導體裝置。
[0004]而且,本發明還涉及檢測方法,用于檢測對半導體裝置中的內部信號的攻擊。
【背景技術】
[0005]許多半導體產品都包含必須要保密的重要數據,像用于加密或識別的代碼。例如銀行卡中用于購票或支付電視應用費用的芯片。在這些領域中使用的芯片可能需要安全認證,以證明自身符合一定的安全標準。對于企圖檢索代碼的各種攻擊或對功能的不受控制的改變,必須要實施充分的抵抗措施。可能的攻擊方案可以分為感應攻擊和強行攻擊。感應攻擊是通過測量來自芯片的某些信號,如電流消耗、電磁輻射、或信號線的電壓探測,以此來從芯片獲取保密信息的所有嘗試。強行攻擊是試圖改變操作條件,并從芯片的表現得出結論。
[0006]安全芯片可以使用多個傳感器來檢測這樣的攻擊嘗試,例如,檢查環境條件(如電源電壓,溫度和曝光)。隨著高精密設備的可用,及時解析芯片的單個線路的探測成為越來越實際的攻擊方案。此外,可以在某些時間點對內部信號進行強行攻擊。有些信號具有比較高的或特殊的價值,因為這樣的信號可能會訪問到最保密的信息。這些例如是連接到存儲密鑰的鎖存器的數據總線和線路。由于全球傳感器不能夠檢測到這樣的局部攻擊,所以這些信號需要專門的保護。
[0007]因此,有可能需要一種改進的檢測裝置,能夠檢測到這樣的局部攻擊,為這樣的信號提供保護。
【發明內容】
[0008]本發明的目的是提供一種檢測裝置和方法,用于檢測對半導體裝置中的內部信號的攻擊,以保護半導體裝置中的保密信息。
[0009]為了實現上述目的,本發明提供一種檢測裝置、驅動單元、半導體裝置,以及一種檢測方法。
[0010]根據本發明的示例性實施例,提供一種檢測裝置,用于檢測對半導體裝置中的內部信號的攻擊,該檢測裝置包括第一輸入端,第二輸入端,以及比較單元。第一輸入端適用于接收第一信號,第一信號表示在半導體裝置的驅動器的第一級的信號,驅動器能夠將信號(例如數據總線)內部驅動到半導體裝置。第二輸入端適用于接收第二信號,第二信號表示在半導體裝置的驅動器的第二級的信號。比較單元適用于比較第一信號和第二信號,并確定第一信號和第二信號相等的時間段,如果所確定的時間段超過預定閾值,則所確定的時間段表示有潛在的攻擊。
[0011]根據進一步的示例性實施例,提供一種驅動單元,用于將數據總線的信號內部驅動到半導體裝置。該驅動單元包括驅動器和檢測裝置,驅動器具有第一級和第二級,第一級與驅動器的第一反相單元和驅動器的第二反相單元之間的內部節點相對應,第二級與驅動器的輸出節點相對應,檢測裝置具有上述特征,其中,第一級和第二級被連接到檢測裝置。
[0012]根據進一步的示例性實施例,提供一種半導體裝置。該半導體裝置包括具有上述特征的驅動單元,該驅動單元能夠驅動與連接到半導體裝置的鎖存器的數據總線和線路相關聯的信號。
[0013]根據進一步的示例性實施例,提供一種半導體裝置。該半導體裝置包括具有上述特征的驅動裝置。
[0014]根據進一步的示例性實施例,提供一種檢測方法,用于檢測對半導體裝置中的內部信號的攻擊。該檢測方法包括:通過檢測裝置的第一輸入端接收第一信號,第一信號表示在半導體裝置的驅動器的第一級的信號,驅動器能夠將信號(例如數據總線)內部驅動到半導體裝置;通過檢測裝置的第二輸入端接收第二信號,第二信號表示在半導體裝置的驅動器的第二級的信號;通過比較單元比較第一信號和第二信號,并確定第一信號和第二信號相等的時間段,如果所確定的時間段超過預定閾值,則所確定的時間段表示有潛在的攻擊。
[0015]可以通過計算機程序即軟件、或者通過一個或多個特殊的電子優化電路即硬件、或者通過軟件組件和硬件組件的混合形式來實現根據本發明的實施例的檢測對半導體裝置中的內部信號的攻擊。
[0016]如上文所述,許多半導體產品都包含必須要保密的重要數據,像用于加密或識別的代碼。對于企圖檢索代碼的各種攻擊或對功能的不受控制的改變,必須要實施充分的抵抗措施。可能的攻擊方案可以分為感應攻擊和強行攻擊。感應攻擊是通過測量來自芯片的某些信號,如電流消耗、電磁輻射、或信號線的電壓探測,以此來從芯片(半導體裝置)獲取保密信息的所有嘗試。強行攻擊是試圖改變操作條件,并從芯片的表現得出結論。
[0017]雖然可以通過加密算法保護這樣的芯片中的外部通信,但是在內部必須對數據采用“明文”的方式來處理。出于性能原因,強的加密方案不能被用于內部數據總線和信號。因此,探測內部信號或對這些信號中強加虛假數據是對安全電路的重要攻擊方案。
[0018]通常由邏輯驅動器特別是簡單的或三態CMOS邏輯驅動器來驅動數據總線的信號。這種驅動器是為定義明確的最大容性輸出負載設計的。可以通過高電阻電壓測量來探測信號的狀態,但這種測量將會增大連接到被探測信號的驅動器的負載電容。
[0019]本發明是基于這樣的想法來檢測探測和強行嘗試的,并且在進一步的實施例中,如果檢測到攻擊,則生成內部報警。檢測裝置或檢測傳感器能夠檢查所連接的電容和信號的實際電壓電平。本發明描述了檢測這種附加的電容性負載的裝置和方法。此外,也能夠檢測外部強加的信號,也被稱為信號的否決(over-ruling)。
[0020]可以通過將驅動器的不同級的兩個信號進行比較來實施該檢測。當沒有任何攻擊(例如探測)時,這兩個信號只在最大的預定時間段具有相同的值。當有攻擊時,驅動器的負載電容將會增大,這對應的是兩個信號在更長的期間具有相同的值。因此,通過對信號進行比較,可以很容易地檢測到增大的量,從而可以檢測到潛在的攻擊。
[0021]在下文中,將對檢測裝置、驅動單元和半導體裝置的進一步的示例性實施例進行說明。然而,這些實施例也適用于檢測方法。[0022]比較單元可以包括第一比較器和第二比較器,第一比較器用于接收和比較第一信號和第二信號,第二比較器用于接收和比較第一信號和第二信號。
[0023]比較器可以是邏輯門。特別是,第一比較器可以是兩輸入NOR門,第二比較器可以是兩輸入AND門。
[0024]當第一信號和第二信號是第一邏輯值(例如O)時,第一比較器適用于以第一相等信號來表示;當第一信號和第二信號是不同于第一邏輯值的第二邏輯值(例如I)時,第二比較器適用于以第二相等信號來表示。
[0025]每個比較器可以輸出相等信號,這取決于輸入信號,即第一級和第二級的信號。由于每個比較器指示第一信號和第二信號的一個特定的邏輯值,例如輸出值為邏輯1,因此可以很容易使用兩個比較器的輸出來檢測第一信號和第二信號具有相同值即都是邏輯I和邏輯O的時間有多長。如果第一信號和第二信號不相等,則兩個比較器的輸出可能是邏輯
O。因此,如果一個相等信號(即比較器的輸出)具有邏輯1,則可以確定該邏輯I值的持續時間并將其與預定閾值進行比較。因此,兩個比較器可以表明有潛在的攻擊。
[0026]比較單元還可以包括第三比較器,第三比較器用于接收和組合第一相等信號和第二相等信號。
[0027]第三比較器可以將兩個相等信號組合到一個公共輸出。因此,可以用一個單一信號來表不有潛在的攻擊。
[0028]在有潛在攻擊的情況下,第三比較器的輸出可以對應于用于引發報警的報警信號。
[0029]第三比較器的輸出可以被用作報警信號。例如,當第三比較器是OR門時,具有邏輯I的輸出信號表示有潛在的攻擊。也可以使用其他類型的比較器。
[0030]第一比較器的輸出可以通過第一電容被耦合到公共線,第二比較器的輸出通過第二電容被耦合到相同的公共線。
[0031]為了避免在正常開關期間誤報,如果相等信號的持續時間比預定閾值短,則應當忽略該相等信號。這是可以通過以下方法做到的:將(小)電容增加到第一比較器和第二比較器的輸出,并使第一比較器和第二比較器的輸出不對稱,例如弱P-MOS和相對強的n-M0So使用兩個獨立的電容可以允許:相對于驅動器的輸入的上升沿和下降沿的閾值,分別調節兩個比較器的響應時間。公共線可以例如是地或公共電源線,如VCC或VDD。
[0032]檢測裝置可以進一步包括組合單元,組合單元適用于組合第一相等信號和第二相等號。
[0033]另一種可能的實現方式是將兩個相等信號結合到一個單個信號。該單個信號可以被用作報警信號。
[0034]檢測裝置還可以包括濾波單元,濾波單元適用于接收組合單元的輸出,以及從接收到的信號中過濾掉短脈沖。
[0035]根據該實施例,相等信號的短脈沖可以被過濾掉,以便它們將不會被認為是檢測到攻擊。短脈沖的出現通常可能是由于開關等原因。
[0036]驅動器能夠驅動與連接到半導體裝置的鎖存器的數據總線和線路相關聯的信號。鎖存器可以適用于存儲保密信息。
[0037]如上所述,半導體裝置的鎖存器可以存儲保密信息,如密鑰。應當保護與這些鎖存器、或連接到鎖存器的數據總線或線路相關聯的驅動器免受攻擊,或至少應當能夠檢測出這樣的攻擊,并發出警報,正如本發明的實施例中所描述的那樣。
[0038]在下文中將參考實施例對本發明的上述方面及其他方面進行說明。
【專利附圖】
【附圖說明】
[0039]在下文中,將參考實施例對本發明進行更詳細地描述,但本發明并不限于這些實施例。
[0040]圖1示出了根據本發明的一個示例性實施例的驅動單元。
[0041]圖2A示出了根據現有技術的驅動單元。
[0042]圖2B示出了與圖2A的驅動單元相對應的信號。
[0043]圖3A示出了根據本發明的一個示例性實施例的驅動單元。
[0044]圖3B示出了與圖3A的驅動單元相對應的信號。
[0045]圖4A示出了根據本發明的一個示例性實施例的驅動單元。
[0046]圖4B示出了與圖4A的驅動單元相對應的信號。
【具體實施方式】
[0047]附圖中的圖示是示意性的。在不同的附圖中,相似或相同的元件具有相同的附圖
己 O`
[0048]圖2A示出了標準信號緩沖器200。輸入信號104被反相兩次。弱反相器101用來驅動強反相器102的輸入,弱反相器101 (作為一個例子)由P溝道MOS晶體管201和η溝道MOS晶體管202構成,強反相器102也由兩個晶體管203和204構成。強反相器102能夠在一定時間內對最大指定的負載電容205充電。圖2Β示意性地示出了所涉及的信號的時間依賴性。當輸入“Α”(104)的邏輯狀態改變時,內部節點(105)將會立即改變成它的邏輯補碼值。輸出“Ζ” (106)將會切換到與輸入(104)相同的邏輯值,但具有一些延遲,這取決于所連接的電容。
[0049]可以使用圖1中所描述的驅動單元100中的檢測裝置103來檢測對信號的攻擊,在這種攻擊的情況下,負載電容205的電容值增大。
[0050]檢測裝置103包括第一輸入端,第一輸入端適用于接收第一信號,第一信號表不在半導體裝置的驅動器(反相單元101和102)的第一級的信號105 ( A K檢測裝置還包括第二輸入端,第二輸入端適用于接收第二信號,第二信號表示在半導體裝置的驅動器的第二級的信號106 (Z)。檢測裝置還包括比較單元,比較單元適用于比較第一信號和第二信號,并確定第一信號和第二信號相等的時間段。如果所確定的時間段超過預定閾值,則所確定的時間段表示有潛在的攻擊。檢測裝置的輸出信號107可以被用作報警信號。
[0051]如圖所示,對于很短的時間,內部反相的信號“A”(105)(在第一級的信號)和輸出信號“z”(106)(在第二級的信號)具有相同的邏輯值。相等的時間與所連接的電容成比例。如圖3A和4A中的驅動單元300、400所示,通過在電路中增加兩個邏輯比較器301、302,能夠檢測到該相等。如圖3B和4B所示,當(105)和“Z”(106)都是邏輯O時,兩輸入的NOR門301為邏輯I ?’當“A” (105)和“Z,,(106)都是邏輯I時,兩輸入的AND門302為邏輯I。如果輸出電容205小于規定的最大負載電容,則相等信號的持續時間將小于最大延遲時間“td”。
[0052]為了避免在正常開關期間誤報,如果相等信號的持續時間比“td”短,則應當忽略該相等信號。如圖4A所示,這是可以通過以下方法做到的:將小電容401、402增加到NOR門301和AND門302的柵極輸出,并使NOR門301和AND門302的柵極輸出不對稱,即弱P-MOS和相對強的n-MOS。另外一個OR門403可以將兩個相等信號結合到一個共同的“報警”或“錯誤”輸出“F” (404)。使用兩個獨立的電容可以允許:相對于輸入“A”的上升沿和下降沿的“td”分別調節響應時間。另一種可能的實現方式是將兩個相等信號結合到一個單個信號,并僅增加一次對短的預期脈沖的過濾。
[0053]檢測裝置的另外的優點是它還可以感測否決攻擊(over-ruling attacks),其中驅動器的輸出“Z”被強制為它的反相邏輯值。在這種情況中,“ A” (105)和輸出信號“Z” (106)在甚至更長的時間內具有相同的邏輯值,錯誤輸出“F” (404)可能會引發報警。
[0054]該電路可以采用與通常的邏輯門看起來非常相似的方式來設計。該原理圖中唯一模擬相似的部分是過濾通常短時間的峰值,即電容401、402以及NOR門301和AND門302中的弱P溝道MOS晶體管。該電容可以像通常的晶體管那樣布局設計,弱P溝道晶體管可以由一連串通常尺寸的晶體管來實現。這種方式的布局設計不會通過光學檢測被識別為芯片的邏輯區域中的特殊的安全電路。
[0055]應當指出的是,術語“包括”不排除其它元件或特征,“一”或“一個”并不排除多個。此外,不同實施例描述的元件可以被組合。
[0056]還應當指出的是,權利要求書中的附圖標記不應當被理解為限制權利要求的范圍。
【權利要求】
1.一種檢測裝置,用于檢測對半導體裝置中的內部信號的攻擊,其特征在于,該檢測裝置包括: 第一輸入端, 第二輸入端,以及 比較單元, 其中,第一輸入端適用于接收第一信號,第一信號表不在半導體裝置的驅動器的第一級的信號,驅動器能夠將信號內部驅動到半導體裝置, 第二輸入端適用于接收第二信號,第二信號表示在半導體裝置的驅動器的第二級的信號,以及 比較單元適用于比較第一信號和第二信號,并確定第一信號和第二信號相等的時間段, 如果所確定的時間段超過預定閾值,則所確定的時間段表示有潛在的攻擊。
2.根據權利要求1所述的檢測裝置,其特征在于, 比較單元包括第一比較器和第二比較器,第一比較器用于接收和比較第一信號和第二信號,第二比較器用于接收和比較第一信號和第二信號。
3.根據權利要求2所述的檢測裝置,其特征在于, 當第一信號和第二信號是第一邏輯值時,第一比較器適用于以第一相等信號來表示;當第一信號和第二信號是不同于第一邏輯值的第二邏輯值時,第二比較器適用于以第二相等信號來表示。`
4.根據權利要求3所述的檢測裝置,其特征在于, 比較單元還包括第三比較器,第三比較器用于接收和組合第一相等信號和第二相等信號。
5.根據權利要求4所述的檢測裝置,其特征在于, 在有潛在攻擊的情況下,第三比較器的輸出對應于用于引發報警的報警信號。
6.根據權利要求2所述的檢測裝置,其特征在于, 第一比較器的輸出通過第一電容被連接到公用線,第二比較器的輸出通過第二電容被連接到相同的公共線。
7.根據權利要求3所述的檢測裝置,其特征在于, 還包括組合單元,組合單元適用于組合第一相等信號和第二相等信號。
8.根據權利要求7所述的檢測裝置,其特征在于, 還包括濾波單元,濾波單元適用于接收組合單元的輸出,以及從接收到的信號中過濾掉短脈沖。
9.一種驅動單元,用于將數據總線的信號內部驅動到半導體裝置,其特征在于,該驅動單元包括: 驅動器,驅動器具有第一級和第二級,第一級與驅動器的第一反相單元和驅動器的第二反相單元之間的內部節點相對應,第二級與驅動器的輸出節點相對應,以及權利要求1所述的檢測裝置, 其中,第一級和第二級被連接到檢測裝置。
10.根據權利要求9所述的驅動單元,其特征在于,驅動器能夠驅動與連接到半導體裝置的鎖存器的數據總線和線路相關聯的信號。
11.一種半導體裝置,其特征在于,該半導體裝置包括權利要求9所述的驅動單元, 其中,驅動單元能夠將信號內部驅動到半導體裝置。
12.根據權利要求11所述的半導體裝置,其特征在于, 所述信號與連接到半導體裝置的鎖存器的數據總線和線路相關聯。
13.根據權利要求12所述的半導體裝置,其特征在于, 鎖存器適用于存儲保密信息。
14.一種檢測方法,用于檢測對半導體裝置中的內部信號的攻擊,其特征在于,該檢測方法包括: 通過檢測裝置的第一輸入端接收第一信號,第一信號表示在半導體裝置的驅動器的第一級的信號,驅動器能夠將信號內部驅動到半導體裝置, 通過檢測裝置的第二輸入端接收第二信號,第二信號表示在半導體裝置的驅動器的第二級的信號,以及 通過比較單元比較第一信號和第二信號,并確定第一信號和第二信號相等的時間段, 如果所確定的時間段超過預 定閾值,則所確定的時間段表示有潛在的攻擊。
【文檔編號】G01R19/165GK103679010SQ201310302715
【公開日】2014年3月26日 申請日期:2013年7月18日 優先權日:2012年8月29日
【發明者】森克·奧斯特敦, 約奇姆·克里斯托夫·漢斯·加伯 申請人:Nxp股份有限公司