功能定時(shí)傳感器的制造方法
【專利說(shuō)明】功能定時(shí)傳感器
[0001 ] 背景
[0002]安全的半導(dǎo)體裝置可包括安全相關(guān)內(nèi)容和功能,諸如密鑰或數(shù)字身份。半導(dǎo)體裝置必須正確地操作以便保護(hù)安全內(nèi)容和功能。然而,安全裝置經(jīng)常在物理上被希望利用安全內(nèi)容和功能的終端用戶占有。安全裝置中的弱點(diǎn)可通過(guò)更改安全裝置的環(huán)境來(lái)產(chǎn)生。例如,升高或降低環(huán)境溫度或更改對(duì)安全裝置的電壓供應(yīng)可導(dǎo)致數(shù)據(jù)采取與預(yù)期路徑不同的路徑,從而導(dǎo)致弱點(diǎn)。環(huán)境傳感器可以耦合到安全裝置以檢測(cè)潛在的敵對(duì)狀況。然而,攻擊者可更改不具有相應(yīng)傳感器的狀況,或者可利用無(wú)法單獨(dú)觸發(fā)環(huán)境傳感器但在被組合時(shí)可導(dǎo)致安全裝置中的弱點(diǎn)的多個(gè)已更改狀況。
[0003]概述
[0004]提供本概述以便以簡(jiǎn)化形式介紹將在以下詳細(xì)描述中進(jìn)一步描述的一些概念。本概述并不旨在標(biāo)識(shí)所要求保護(hù)主題的關(guān)鍵特征或必要特征,也不旨在用于限制所要求保護(hù)主題的范圍。而且,所要求保護(hù)的主題不限于解決該公開的任一部分中所注的任何或全部缺點(diǎn)的實(shí)現(xiàn)方式。
[0005]可采用功能定時(shí)傳感器來(lái)檢測(cè)數(shù)字邏輯電路中的定時(shí)違規(guī)。定時(shí)違規(guī)可包括建立時(shí)間違規(guī)和保持時(shí)間違規(guī)。
[0006]附圖簡(jiǎn)述
[0007]圖1示意性地示出根據(jù)本公開的包括功能定時(shí)傳感器的示例片上系統(tǒng)。
[0008]圖2示意性地示出根據(jù)本公開的用于檢測(cè)建立時(shí)間違規(guī)的示例系統(tǒng)。
[0009]圖3示意性地示出根據(jù)本公開的用于檢測(cè)建立時(shí)間違規(guī)的示例系統(tǒng)。
[0010]圖4描繪了圖3中所示的系統(tǒng)在正常操作狀況期間的操作的示例時(shí)間線。
[0011]圖5描繪了圖3中所示的系統(tǒng)在將指示建立時(shí)間違規(guī)的狀況期間的操作的示例時(shí)間線。
[0012]圖6示意性地示出根據(jù)本公開的用于檢測(cè)建立時(shí)間違規(guī)的示例系統(tǒng)。
[0013]圖7示意性地示出根據(jù)本公開的用于檢測(cè)保持時(shí)間違規(guī)的示例系統(tǒng)。
[0014]圖8示意性地示出根據(jù)本公開的用于檢測(cè)保持時(shí)間違規(guī)的示例系統(tǒng)。
[0015]圖9示出了圖8中所示的系統(tǒng)在正常操作狀況期間的操作的示例時(shí)間線。
[0016]圖10示出了圖8中所示的系統(tǒng)在將指示保持時(shí)間違規(guī)的狀況期間的操作的示例時(shí)間線。
[0017]圖11示意性地示出根據(jù)本公開的用于檢測(cè)保持時(shí)間違規(guī)的示例系統(tǒng)。
[0018]詳細(xì)描述
[0019]安全半導(dǎo)體裝置可能容易受到控制該安全裝置周圍的環(huán)境的終端用戶的攻擊。環(huán)境傳感器可用于檢測(cè)環(huán)境狀況的總變化,但無(wú)法檢測(cè)所有潛在環(huán)境狀況改變或者無(wú)法檢測(cè)環(huán)境狀況變化的組合,這仍然使得安全裝置容易受到弱點(diǎn)的影響。
[0020]如此處所討論的,可采用檢測(cè)環(huán)境狀況變化的結(jié)果,而不是環(huán)境狀況變化本身的功能定時(shí)傳感器。相反,功能定時(shí)傳感器可被設(shè)計(jì)成僅僅滿足定時(shí)條件,以使得數(shù)字邏輯電路的定時(shí)變化導(dǎo)致定時(shí)違規(guī),這可用于關(guān)閉或以其它方式提高對(duì)安全裝置的保護(hù)。
[0021]功能定時(shí)傳感器可包括可以從數(shù)字邏輯組件中構(gòu)建的建立時(shí)間違規(guī)傳感器以及保持時(shí)間違規(guī)傳感器。功能定時(shí)傳感器可被設(shè)計(jì)成使得例如高于閾值量的輸入時(shí)鐘速度提高或降低將導(dǎo)致建立時(shí)間或保持時(shí)間違規(guī)。功能定時(shí)傳感器可具有安全裝置內(nèi)的任何數(shù)字邏輯電路的最關(guān)鍵的定時(shí)余裕,以使得在任何弱點(diǎn)出現(xiàn)在該裝置的安全部分內(nèi)之前檢測(cè)到定時(shí)違規(guī)。
[0022]圖1示意性地示出了可以執(zhí)行此處描述的方法和過(guò)程之中的一個(gè)或多個(gè)方法或過(guò)程的計(jì)算系統(tǒng)100的非限制性實(shí)施例。計(jì)算系統(tǒng)100以簡(jiǎn)化形式示出。計(jì)算系統(tǒng)100可采取以下形式:一個(gè)或多個(gè)個(gè)人計(jì)算機(jī)、服務(wù)器計(jì)算機(jī)、平板計(jì)算機(jī)、家庭娛樂(lè)計(jì)算機(jī)、網(wǎng)絡(luò)計(jì)算設(shè)備、游戲設(shè)備、移動(dòng)計(jì)算設(shè)備、移動(dòng)通信設(shè)備(例如,智能電話)和/或其他計(jì)算設(shè)備。
[0023]計(jì)算系統(tǒng)100包括邏輯機(jī)101和存儲(chǔ)機(jī)102。計(jì)算系統(tǒng)100可任選地包括顯示子系統(tǒng)、輸入子系統(tǒng)、通信子系統(tǒng)和/或在圖1中未示出的其他組件。
[0024]邏輯機(jī)101包括被配置成執(zhí)行指令的一個(gè)或多個(gè)物理裝置。例如,邏輯機(jī)可以被配置成執(zhí)行指令,所述指令是一個(gè)或多個(gè)應(yīng)用、服務(wù)、程序、例程、庫(kù)、對(duì)象、部件、數(shù)據(jù)結(jié)構(gòu)或其他邏輯構(gòu)造的一部分。這種指令可被實(shí)現(xiàn)以執(zhí)行任務(wù)、實(shí)現(xiàn)數(shù)據(jù)類型、轉(zhuǎn)換一個(gè)或多個(gè)部件的狀態(tài)、實(shí)現(xiàn)技術(shù)效果、或以其他方式得到期望結(jié)果。
[0025]邏輯機(jī)可以包括被配置成執(zhí)行軟件指令的一個(gè)或多個(gè)處理器。附加地或替換地,邏輯機(jī)可以包括被配置成執(zhí)行硬件或固件指令的一個(gè)或多個(gè)硬件或固件邏輯機(jī)。邏輯機(jī)的處理器可以是單核的或多核的,其上執(zhí)行的指令可以被配置用于串行、并行和/或分布式處理。邏輯機(jī)的個(gè)體組件可任選地分布在兩個(gè)或更多個(gè)分開的裝置之間,所述裝置可以位于遠(yuǎn)程以及/或者被配置用于協(xié)同處理。邏輯機(jī)的各方面可以被在云計(jì)算配置中配置的遠(yuǎn)程可訪問(wèn)的、聯(lián)網(wǎng)計(jì)算設(shè)備虛擬化和執(zhí)行。
[0026]存儲(chǔ)機(jī)102包括被配置成保持可由邏輯機(jī)執(zhí)行的指令以實(shí)現(xiàn)此處描述的方法和過(guò)程的一個(gè)或多個(gè)物理裝置。當(dāng)實(shí)現(xiàn)這樣的方法和過(guò)程時(shí),存儲(chǔ)機(jī)102的狀態(tài)可以被變化一一例如以保持不同的數(shù)據(jù)。
[0027]存儲(chǔ)機(jī)102可以包括可移動(dòng)和/或內(nèi)置裝置。存儲(chǔ)機(jī)102可以包括光學(xué)存儲(chǔ)器(例如,CD、DVD、HD-DVD、藍(lán)光碟等)、半導(dǎo)體存儲(chǔ)器(例如,RAM、EPROM、EEPROM等)和/或磁性存儲(chǔ)器(例如,硬盤驅(qū)動(dòng)器、軟盤驅(qū)動(dòng)器、磁帶驅(qū)動(dòng)器、MRAM等)、等等。存儲(chǔ)機(jī)102可以包括易失性的、非易失性的、動(dòng)態(tài)的、靜態(tài)的、讀/寫的、只讀的、隨機(jī)存取的、依序存取的、位置可定址的、文件可定址的和/或內(nèi)容可定址的裝置。
[0028]將會(huì)理解,存儲(chǔ)機(jī)102包括一個(gè)或多個(gè)物理裝置。然而,此處描述的指令的各方面可替代地由未由物理裝置持有達(dá)有限持續(xù)期的通信介質(zhì)(例如,電磁信號(hào)、光學(xué)信號(hào)等)傳播。
[0029]邏輯機(jī)101和存儲(chǔ)機(jī)102的各方面可以被一起集成到一個(gè)或多個(gè)硬件邏輯組件中。這種硬件邏輯組件可以包括例如場(chǎng)可編程門陣列(FPGA)、程序和應(yīng)用專用集成電路(PASIC/ASIC)、程序和應(yīng)用專用標(biāo)準(zhǔn)產(chǎn)品(PSSP/ASSP)、片上系統(tǒng)(SOC)以及復(fù)雜可編程邏輯器件(CPLD)。
[0030]邏輯機(jī)101和存儲(chǔ)機(jī)102可被實(shí)現(xiàn)為在物理上由終端用戶占有的計(jì)算系統(tǒng)的一部分。由此,計(jì)算系統(tǒng)可能在有動(dòng)機(jī)破壞這些系統(tǒng)的所設(shè)計(jì)的安全性的終端用戶的控制中。例如,游戲控制臺(tái)的所有者可能有動(dòng)機(jī)盜取游戲權(quán)利或者在在線游戲處作弊。類似地,智能卡的所有者可能有動(dòng)機(jī)實(shí)行財(cái)務(wù)欺詐。
[0031]如果邏輯機(jī)101發(fā)生故障,則無(wú)法依靠被設(shè)計(jì)到邏輯機(jī)中以保護(hù)存儲(chǔ)在存儲(chǔ)機(jī)102中的數(shù)字資產(chǎn)的機(jī)制。通常,黑客和敵手嘗試誘發(fā)故障以造成要利用的弱點(diǎn)。例如,攻擊者可能降低供應(yīng)邏輯機(jī)的電壓,這將導(dǎo)致在邏輯機(jī)中運(yùn)行的程序采取與所設(shè)計(jì)的預(yù)期程序流不同的支路。被更改的程序流可引發(fā)可被敵手利用的弱點(diǎn)。
[0032]敵手經(jīng)常具有對(duì)邏輯機(jī)環(huán)境的控制,從而使得邏輯機(jī)環(huán)境變成可能的攻擊媒介。例如,黑客可控制邏輯機(jī)的溫度。邏輯機(jī)可被設(shè)計(jì)成在有限溫度范圍內(nèi)正確地操作,因此黑客可能提高或降低溫度以引發(fā)將導(dǎo)致可利用的弱點(diǎn)的故障。除了電壓和溫度之外,還存在可影響適當(dāng)操作的其它環(huán)境因素。如果輸入時(shí)鐘頻率太高或太低,則邏輯機(jī)無(wú)法正確地操作。例如,有向光可被用來(lái)引發(fā)邏輯機(jī)中的故障。其它形式的輻射也可能已經(jīng)被用來(lái)造成可利用的弱點(diǎn)。
[0033]被設(shè)計(jì)成在可能的敵意環(huán)境中獲得高安全性的邏輯機(jī)經(jīng)常使用被設(shè)計(jì)到邏輯機(jī)中的環(huán)境傳感器。此類傳感器的示例包括檢測(cè)電源電壓是否太高或太低的電源電壓傳感器、檢測(cè)范圍外芯片溫度的溫度傳感器、以及檢測(cè)芯片輸入?yún)⒖紩r(shí)鐘是否太快或太慢的時(shí)鐘傳感器。一些高安全性智能卡還包括用于檢測(cè)是否正在施加任何光的光傳感器。邏輯機(jī)封裝可以為芯片遮擋光,因此如果檢測(cè)到光,則可假定攻擊并且可執(zhí)行諸如擦除秘密等響應(yīng)。也可使用其它傳感器,諸如阿爾法粒子傳感器和聚焦粒子束傳感器。
[0034]然而,這種類型的傳感器可具有可被攻擊者利用的較低檢測(cè)極限。例如,攻擊者可同時(shí)降低電壓、提高溫度以及提高參考時(shí)鐘頻率至剛好在各個(gè)環(huán)境傳感器將犯錯(cuò)的點(diǎn)下面的點(diǎn)。在該條件下,將存在芯片上的轉(zhuǎn)換將不滿足定時(shí)約束的風(fēng)險(xiǎn),由此導(dǎo)致弱點(diǎn)。
[0035]作為對(duì)使用專門檢測(cè)諸如溫度、電壓或時(shí)鐘周期等范圍外環(huán)境因素的傳感器的替換(或補(bǔ)充),可使用檢測(cè)環(huán)境攻擊引發(fā)的故障的功能傳感器。如圖1所示,計(jì)算系統(tǒng)100包括功能定時(shí)傳感器110。功能定時(shí)傳感器110可包括一個(gè)或多個(gè)建立時(shí)間違規(guī)檢測(cè)電路111和/或一個(gè)或多個(gè)保持時(shí)間違規(guī)檢測(cè)電路112。功能定時(shí)傳感器110可包括邏輯機(jī)101和/或存儲(chǔ)機(jī)102的各方面。
[0036]建立時(shí)間或保持時(shí)間違規(guī)檢測(cè)電路可包括一個(gè)或多個(gè)延遲裝置。延遲裝置可包括一系列逆變器、緩沖器、邏輯門或其它單元。建立時(shí)間和保持時(shí)間違規(guī)檢測(cè)電路內(nèi)的路徑延遲可被調(diào)整以最大化違規(guī)檢測(cè)電路的有效性,例如通過(guò)調(diào)整如由靜態(tài)定時(shí)分析器工具確定的延遲裝置路徑延遲。NAND門和NOR門具有不同的上升和下降延遲,由此一些實(shí)施例可使用這些門的混合來(lái)均等化上升時(shí)間延遲和下降時(shí)間延遲。
[0037]功能定時(shí)傳感器110可以經(jīng)由接口113耦合到計(jì)算系統(tǒng)100的其它組件。例如,接口113可允許功能定時(shí)傳感器110與邏輯機(jī)101的各方面和/或存儲(chǔ)機(jī)102的各方面通信。在檢測(cè)到建立時(shí)間或保持時(shí)間違規(guī)之際,功能定時(shí)傳感器110可以向接口 113提供指示已經(jīng)出現(xiàn)違規(guī)的通知或信號(hào)。接口 113然后可輸出通知或信號(hào)以保護(hù)邏輯機(jī)101和/或存儲(chǔ)機(jī)102的內(nèi)容。例如,接口 113可以向計(jì)算系統(tǒng)100通知定時(shí)違規(guī),這然后可提示計(jì)算系統(tǒng)100關(guān)閉邏輯機(jī)101或以其他方式禁用對(duì)存儲(chǔ)在存儲(chǔ)機(jī)102內(nèi)的內(nèi)容的訪問(wèn)。
[0038]圖1所描繪的系統(tǒng)由此可啟用用于功能定時(shí)傳感器的一個(gè)或多個(gè)系統(tǒng),包括:建立時(shí)間違規(guī)檢測(cè)電路;保持時(shí)間違規(guī)檢測(cè)電路;以及來(lái)自建立時(shí)間違規(guī)檢測(cè)電路和保持時(shí)間違規(guī)檢測(cè)電路的接口,該接口在通過(guò)建立時(shí)間違規(guī)檢測(cè)電路或保持時(shí)間違規(guī)檢測(cè)電路檢測(cè)到違規(guī)之際提供通知。
[0039]圖2示意性地示出了用于檢測(cè)建立時(shí)間違規(guī)的示例數(shù)字邏輯電路200。數(shù)字邏輯電路200可包括數(shù)據(jù)發(fā)射裝置210、延遲裝置220、基于狀態(tài)的裝置230以及數(shù)字比較器邏輯裝置240。數(shù)字邏輯電路200可被實(shí)現(xiàn)為諸如功能定時(shí)傳感器110等另一系統(tǒng)的子系統(tǒng)或者可被實(shí)現(xiàn)為獨(dú)立系統(tǒng)。
[0040]如圖2所描繪的,數(shù)據(jù)發(fā)射裝置210包括第一數(shù)據(jù)輸出217?;跔顟B(tài)的裝置230包括經(jīng)由延遲裝置220在操作上耦合到第一數(shù)據(jù)輸出217的第一數(shù)據(jù)輸入235,以及第二數(shù)據(jù)輸出237。數(shù)字比較器邏輯裝置240包括在操作上耦合到第一數(shù)據(jù)輸出217的第二數(shù)據(jù)輸入245、在操作上耦合到第二數(shù)據(jù)輸出237的第三數(shù)據(jù)輸入246,以及第二數(shù)據(jù)輸出247。
[0041]數(shù)據(jù)發(fā)射裝置210可被配置成經(jīng)由第一數(shù)據(jù)輸出217來(lái)輸出數(shù)據(jù)信號(hào)。從數(shù)據(jù)發(fā)射裝置210輸出的數(shù)據(jù)可被認(rèn)為是非延遲數(shù)據(jù)信號(hào),因?yàn)閿?shù)據(jù)發(fā)射裝置210在延遲裝置220的上游。第一數(shù)據(jù)輸出217可以在操作上耦合到延遲裝置220,經(jīng)由延遲裝置220耦合到基于狀態(tài)的裝置230,并且耦合到數(shù)字比較器邏輯裝置240。其它裝置可以耦合到第一數(shù)據(jù)輸出217,諸如信號(hào)逆變器或另一基于狀態(tài)的裝置。示出耦合到第一數(shù)據(jù)輸出217的其它裝置的一些示例配置在下文中參考圖3和6描述。數(shù)據(jù)發(fā)射裝置210可輸出連續(xù)信號(hào)或多個(gè)單獨(dú)信號(hào)。數(shù)據(jù)可響應(yīng)于內(nèi)部定時(shí)機(jī)構(gòu)或外部定時(shí)機(jī)構(gòu)而輸出,如以下參考圖3描述的。數(shù)據(jù)發(fā)射裝置210可包括用以調(diào)制在第一數(shù)據(jù)輸出217處輸出的數(shù)據(jù)的反饋或前饋電路系統(tǒng)。數(shù)據(jù)發(fā)射裝置210可生成在第一數(shù)據(jù)輸出217處輸出的數(shù)據(jù)或者可以從外部數(shù)據(jù)生成源接收數(shù)據(jù)。數(shù)據(jù)發(fā)射裝置210可包括數(shù)據(jù)存儲(chǔ)子裝置。
[0042]延遲裝置220被描繪為在操作上作為數(shù)據(jù)發(fā)射裝置與基于狀態(tài)的裝置之間的中介。延遲裝置220可被配置成使得基于狀態(tài)的裝置輸出與數(shù)據(jù)發(fā)射裝置輸出的非延遲數(shù)據(jù)信號(hào)有關(guān)的延遲數(shù)據(jù)信號(hào)。延遲裝置220可被配置成將傳入數(shù)據(jù)延遲固定時(shí)間段或取決于數(shù)字邏輯電路內(nèi)的其它因素或狀況的時(shí)間段。延遲裝置220可存儲(chǔ)由數(shù)據(jù)發(fā)射裝置210輸出的非延遲數(shù)據(jù)并且在一時(shí)間段后輸出數(shù)據(jù),或者延遲裝置220可提供非延遲數(shù)據(jù)必須在到達(dá)第一數(shù)據(jù)輸入235之前遍歷的一個(gè)或多個(gè)數(shù)字延遲裝置,例如一個(gè)或多個(gè)邏輯門或一個(gè)或多個(gè)逆變器。
[0043]延遲裝置220可被采用以使得數(shù)據(jù)發(fā)射裝置210與基于狀態(tài)的裝置230之間的路徑延遲處在針對(duì)該基于狀態(tài)的裝置的建立時(shí)間要求的最小循環(huán)周期或者就在該最小循環(huán)周期下。在一些實(shí)施例中,路徑延遲將導(dǎo)致建立時(shí)間違規(guī)檢測(cè)電路在數(shù)字邏輯電路的其它部分顯現(xiàn)建立時(shí)間故障之前檢測(cè)有問(wèn)題的環(huán)境狀況。在一些實(shí)施例中,路徑延遲可被設(shè)置成使得建立時(shí)間違規(guī)始終出現(xiàn),除非環(huán)境狀況被更改。在這些示例中,檢測(cè)到建立時(shí)間違規(guī)將表示正常狀況,而未檢測(cè)到建立時(shí)間違規(guī)將表示有問(wèn)題的環(huán)境狀況。諸如圖1所描繪的電路之類的建立時(shí)間違規(guī)檢測(cè)電路可包括多個(gè)這種類型的裝置和電路的組合。
[0044]基于狀態(tài)的裝置230可被配置成將數(shù)據(jù)信號(hào)存儲(chǔ)在第一數(shù)據(jù)輸入235處,對(duì)存儲(chǔ)在第一數(shù)據(jù)輸入235處的數(shù)據(jù)進(jìn)行采樣,并且經(jīng)由第二數(shù)據(jù)輸出237來(lái)輸