TW202227995A - 可應用於透過動態電壓改變來進行系統保護之積體電路 - Google Patents
可應用於透過動態電壓改變來進行系統保護之積體電路 Download PDFInfo
- Publication number
- TW202227995A TW202227995A TW110100703A TW110100703A TW202227995A TW 202227995 A TW202227995 A TW 202227995A TW 110100703 A TW110100703 A TW 110100703A TW 110100703 A TW110100703 A TW 110100703A TW 202227995 A TW202227995 A TW 202227995A
- Authority
- TW
- Taiwan
- Prior art keywords
- power supply
- supply voltage
- circuit
- voltage
- integrated circuit
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/78—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
- G06F21/79—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in semiconductor storage media, e.g. directly-addressable memories
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/12005—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details comprising voltage or current generators
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/554—Detecting local intrusion or implementing counter-measures involving event detection and direct action
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/81—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer by operating on the power supply, e.g. enabling or disabling power-on, sleep or resume operations
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/02—Detection or location of defective auxiliary circuits, e.g. defective refresh counters
- G11C29/021—Detection or location of defective auxiliary circuits, e.g. defective refresh counters in voltage or current generators
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/02—Detection or location of defective auxiliary circuits, e.g. defective refresh counters
- G11C29/028—Detection or location of defective auxiliary circuits, e.g. defective refresh counters with adaption or trimming of parameters
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/12015—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details comprising clock generation or timing circuitry
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/38—Response verification devices
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/317—Testing of digital circuits
- G01R31/31719—Security aspects, e.g. preventing unauthorised access during test
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C2029/0409—Online test
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C2029/4402—Internal storage of test result, quality data, chip identification, repair information
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Power Sources (AREA)
- Protection Of Static Devices (AREA)
- Emergency Protection Circuit Devices (AREA)
- Semiconductor Integrated Circuits (AREA)
Abstract
本發明提供一種可應用於透過動態電壓改變來進行系統保護之積體電路(簡稱IC),包含一監控電路、至少一電源電壓產生電路及一電壓調整電路。該監控電路監控一安全引擎的至少一安全檢查結果以判斷是否發生至少一安全事件。該至少一電源電壓產生電路依據接收自IC的外部之至少一輸入電壓於IC中產生至少一內部電源電壓,以將它提供給IC的至少一內部元件。因應該至少一安全事件的發生,該電壓調整電路控制該至少一電源電壓產生電路動態地調整該至少一內部電源電壓,使該至少一內部電源電壓隨機性地超出其預定電壓範圍,藉此進行該系統保護。
Description
本發明係有關於系統保護,尤指一種可應用於(applicable to)透過動態電壓改變來進行系統保護之積體電路。
一電子裝置可能遭遇某些類型的攻擊。例如,一駭客(hacker)可能將該電子裝置的一非揮發性記憶體諸如一快閃記憶體(尤其,其內的原始韌體碼)取代為另一非揮發性記憶體諸如另一快閃記憶體(尤其,其內的惡意韌體碼)、或將惡意軟體碼下載到該電子裝置的一內部記憶體諸如一隨機存取記憶體,以進行不法的勾當。依據相關技術,該電子裝置可具備某些保護機制諸如硬體介面(interface)的有意錯接、封包(packet)內容相對於亂數之變化、加密/解密等,以對抗上述攻擊及保護該電子裝置的系統。然而,可能發生某些問題。舉例來說,由於這樣的保護機制是典型地基於複雜的組合,故該駭客可能透過對應於各種不同組合的試誤(try and error)來嘗試破解(crack),這表示他/她可能有破解成功的一天。因此,需要一種新穎的方法及相關架構,以在沒有副作用或較不可能帶來副作用之狀況下實現具有可靠的保護機制之電子裝置。
本發明之一目的在於提供一種可應用於透過動態電壓改變來進行系統保護之積體電路,以解決上述問題。
本發明之另一目的在於提供一種可應用於透過動態電壓改變來進行系統保護之積體電路,以確保電子裝置之正常運作。
本發明之至少一實施例提供一種積體電路,其是可應用於透過動態電壓改變來進行系統保護。該積體電路可包含一監控電路(monitoring circuit)、至少一電源電壓產生電路、以及耦接至該監控電路以及該至少一電源電壓產生電路的一電壓調整電路。例如,該監控電路可用來監控一安全引擎(security engine)的至少一安全檢查結果以判斷是否發生至少一安全事件(security event);該至少一電源電壓產生電路可用來依據接收自該積體電路的外部之至少一輸入電壓於該積體電路中產生至少一內部電源電壓,以提供該至少一內部電源電壓給該積體電路的至少一內部元件;以及該電壓調整電路可用來因應該至少一安全事件的發生,控制該至少一電源電壓產生電路動態地調整該至少一內部電源電壓,使該至少一內部電源電壓隨機性地(randomly)超出其預定電壓範圍,藉此擾亂該至少一安全事件的發生以進行該系統保護。
本發明的好處之一是,透過仔細設計之電源電壓調整機制,本發明能因應上述攻擊產生駭客所無法預期的電壓改變,尤其,透過改變某一元件諸如一記憶體(例如:位於該積體電路以外的一非揮發性記憶體,諸如一快閃記憶體;或該積體電路的一內部記憶體)的一或多個端子的一或多個電壓,使駭客執行其惡意程式碼產生不一致的執行結果,難以判斷攻擊成功與否,從而使駭客失去繼續攻擊的意志力。
第1圖為依據本發明一實施例之一種可應用於透過動態電壓改變來進行系統保護之積體電路(integrated circuit,後簡稱為IC)100的示意圖,其中該IC 100可位於一電子裝置10中,尤其,可被安裝(mount)於電子裝置10的一主電路板(例如印刷電路板)上,但本發明不限於此。該IC 100可包含一處理電路102、一安全引擎104以及一調整控制模組110,且包含至少一電壓調整暫存器(例如一或多個電壓調整暫存器),其可統稱為電壓調整暫存器120,且另包含與上述至少一電壓調整暫存器相對應之至少一電源電壓產生電路(例如一或多個電源電壓產生電路),諸如至少一內部電源巨集(internal power macro)模組(例如一或多個內部電源巨集模組),其可統稱為內部電源巨集模組130,其中調整控制模組110可包含一監控電路諸如一安全檢查及敏感位址監控電路112以及一電壓調整電路114。處理電路102可被配置成控制電子裝置10的操作,安全引擎104可被配置成進行安全檢查,而調整控制模組110可被配置成進行電源電壓調整控制,尤其,透過上述至少一電壓調整暫存器諸如電壓調整暫存器120來控制上述至少一電源電壓產生電路諸如內部電源巨集模組130進行電源電壓調整。
於第1圖所示架構中,該監控電路諸如安全檢查及敏感位址監控電路112可監控該IC 100中之安全引擎(engine)104的至少一安全檢查結果以判斷是否發生至少一安全事件(例如惡意(malicious)程式碼所導致的安全事件)。舉例來說,安全引擎104可對該IC 100(例如處理電路102)所處理的資訊,諸如該IC 100(例如處理電路102)於一儲存裝置(例如一記憶體,圖中未示)中存取(access)的指令、資料等,進行至少一安全檢查操作以產生該至少一安全檢查結果。安全引擎104的輸出訊號可載有該至少一安全檢查結果,而該監控電路諸如安全檢查及敏感位址監控電路112可透過安全引擎104的輸出訊號取得該至少一安全檢查結果,尤其,於該至少一安全檢查結果中的任何安全檢查結果指出安全檢查失敗時,判斷該至少一安全事件發生,但本發明不限於此。於某些實施例中,該監控電路諸如安全檢查及敏感位址監控電路112可被整合至安全引擎104中。此情況下,該監控電路可直接取得該至少一安全檢查結果,而不需要透過上述輸出訊號來取得該至少一安全檢查結果。在一些實施例中,安全引擎104可藉由領域中可應用的針對各種安全事件進行檢查操作、報告操作、反制操作等的軟體/硬體/韌體所實施,但不以此為限。
在該監控電路被實施為安全檢查及敏感位址監控電路112的情況下,該監控電路諸如安全檢查及敏感位址監控電路112可另被配置成監控一或多個敏感位址(sensitive address),諸如該儲存裝置(例如該記憶體)中的一或多個受保護儲存區的一或多個位址,以判斷是否發生該至少一安全事件。該一或多個受保護儲存區的例子可包含(但不限於):用來儲存該IC 100的系統資訊之一系統區。當該一或多個敏感位址中的任何敏感位址被存取(例如讀取或寫入)時,安全檢查及敏感位址監控電路112可判斷該至少一安全事件發生。
另外,上述至少一電源電壓產生電路諸如內部電源巨集模組130可依據接收自該IC 100的外部之至少一輸入電壓於該IC 100中產生至少一內部電源電壓,以提供電源給該IC 100的至少一內部元件(例如儲存裝置或處理電路102)。因應該至少一安全事件的發生,電壓調整電路114可控制該至少一電源電壓產生電路諸如內部電源巨集模組130動態地調整該至少一內部電源電壓,使該至少一內部電源電壓隨機性地(randomly)超出其預定電壓範圍,藉此進行該系統保護。例如,因應該至少一安全事件的發生,該監控電路諸如安全檢查及敏感位址監控電路112可觸發電壓調整電路114開始進行該系統保護,尤其,動態地調整該至少一內部電源電壓。由於該至少一內部電源電壓隨機性地超出其預定電壓範圍,故整個系統變得不穩定,這可造成駭客極大的困擾。
舉例來說,該IC 100可具備一或多個類型的保護機制,諸如硬體介面的有意錯接、封包內容相對於亂數之變化、加密/解密等中之一者或其組合,以進行基本的保護。在本發明架構中的電源電壓調整機制隨機性地使整個系統變得不穩定的情況下,會造成駭客的惡意程式碼(例如包含攻擊或操控指令的惡意韌體(malicious firmware)碼或惡意軟體(malicious software;或malware)碼)反饋的數值不穩定,駭客可能在某些時間點誤以為他/她已攻擊成功,但在某個時間點可能又發生錯誤,最終駭客會發現執行其惡意程式碼的結果是對錯交替的(例如以相同的惡意程式碼有時候的執行結果符合駭客所預期,而有時候的執行結果不符合駭客所預期),執行結果並不一致且錯誤發生的時間及數值無特定規律(因為隨機性)。於是,駭客或其惡意程式碼被迫處於一個無法辨認攻擊成效的困境(例如:針對基於複雜的組合的保護機制,駭客可透過對應於各種不同組合的試誤來嘗試破解系統保護,但因為系統保護的隨機性,駭客難以預期結果),從而降低駭客繼續攻擊的意願。
於上述實施例中,處理電路102可藉由一或多個處理器(例如中央處理器、微處理器等)、邏輯電路等方式來實施,而安全引擎104可藉由安全引擎電路等方式來實施。另外,內部電源巨集模組130可藉由電壓調節器(regulator)、低壓降調節器(low dropout regulator,LDO regulator)等方式來實施。例如,上述至少一電源電壓產生電路(諸如內部電源巨集模組130)中的任一電源電壓產生電路(諸如任一內部電源巨集模組)可包含一或多個電壓調節器、及/或一或多個低壓降調節器。此外,上述至少一電壓調整暫存器諸如電壓調整暫存器120可儲存至少一暫存器值,以控制上述至少一電源電壓產生電路諸如內部電源巨集模組130產生對應於該至少一暫存器值之該至少一內部電源電壓。因此,因應該至少一安全事件的發生,電壓調整電路114可透過調整該至少一暫存器值來控制該至少一電源電壓產生電路諸如內部電源巨集模組130,以動態地調整該至少一內部電源電壓,使該至少一內部電源電壓隨機性地超出其預定電壓範圍,藉此進行該系統保護。
表1
暫存器值 | 電壓(V) |
4’d15 | 1.96 |
4’d14 | 1.94 |
4’d13 | 1.92 |
4’d12 | 1.90 |
4’d11 | 1.88 |
4’d10 | 1.86 |
4’d9 | 1.84 |
4’d8 | 1.82 |
4’d7 | 1.80 |
4’d6 | 1.78 |
4’d5 | 1.76 |
4’d4 | 1.74 |
4’d3 | 1.72 |
4’d2 | 1.70 |
4’d1 | 1.68 |
4’d0 | 1.66 |
表1展示該至少一暫存器值中之任一暫存器值(例如每一暫存器值)及對應於所述任一暫存器值的內部電源電壓(於表1中標示「電壓」以求簡明)之間的關係的例子,其中這個暫存器值可用四個位元(標示「4’」以求簡明)來表示且可為區間[0, 15]中的整數(例如數值d0、d1…及d15中的任一者,其字頭d代表十進位),以及這個內部電源電壓可用伏特(volt,V)為單位來表示且可於從1.66 (V)至1.96 (V)的範圍中變化(即電壓隨機性),但本發明不限於此。依據某些實施例,用來表示該暫存器值的位元數(bit count)、該暫存器值的範圍、該內部電源電壓的單位、及/或該內部電源電壓的範圍可予以變化。
為了便於理解,該內部電源電壓之預定電壓範圍可代表該IC 100的工作電壓範圍,諸如區間[Vmin, Vmax]的範圍。例如,Vmin = 1.72 (V)且Vmax = 1.88 (V)。此情況下,表1中的斜體字的電壓,諸如
1.66(V)至
1.70(V)以及
1.90(V)至
1.96(V),可代表超出該預定電壓範圍的電壓位準的例子,而表1中的粗體字的電壓,諸如
1.78(V)至
1.82(V),可代表較佳工作電壓,其中
1.80(V)可代表最佳工作電壓。應理解,較佳工作電壓並非限定IC 100僅能在此電壓範圍內工作,且內部電源電壓本就可能因各種因素(例如溫度等)變動。在一些實施例中,該內部電源電壓之預定電壓範圍的數值皆為IC 100可容忍的工作電壓值,不影響IC 100的工作,但電壓值不以實施例中的數值為限。
依據某些實施例,上述任一電源電壓產生電路諸如上述任一內部電源巨集模組(例如內部電源巨集模組130中的某一內部電源巨集模組)可包含一組調節器及一或多個切換電路(例如開關),以供產生對應於上述任一暫存器值的該內部電源電壓。該組調節器可分別產生多個候選內部電源電壓,諸如表1中的分別對應於多個候選暫存器值4’d0-4’d15的候選內部電源電壓1.66-1.96 (V),並且,依據一目前暫存器值(例如多個候選暫存器值4’d0-4’d15中的某一候選暫存器值),該一或多個切換電路可選擇該組調節器中的某一調節器所輸出之對應的候選內部電源電壓(例如候選內部電源電壓1.66-1.96 (V) 中的某一候選內部電源電壓),以作為對應於上述任一暫存器值的該內部電源電壓,其中該組調節器可藉由電壓調節器、低壓降調節器等方式來實施,但本發明不限於此。
第2圖依據本發明一實施例繪示一種透過動態電壓改變來進行系統保護之方法的一第一控制方案,其中該方法可應用於第1圖所示之IC 100。為了便於理解,一垂直虛線的兩側分別標示「IC內部」及「IC外部」以指出電子裝置10中之該IC 100的內部及外部,而從標示著「惡意軟體」(malware)的框指向IC內部的箭頭代表來自駭客的惡意軟體觸發該至少一安全事件的發生。處理電路202可作為上述處理電路102的例子,尤其,處理電路202可包含至少一處理器、多個邏輯單元(logic cells)等。另外,調整控制模組210及其內的安全檢查及敏感位址監控電路212與電壓調整電路214可分別作為調整控制模組110及其內的安全檢查及敏感位址監控電路112與電壓調整電路114的例子,電壓調整暫存器#1、#2等可作為上述至少一電壓調整暫存器(諸如電壓調整暫存器120)的例子,而內部電源巨集模組#1、#2等可作為上述至少一內部電源巨集模組(諸如內部電源巨集模組130)的例子。
依據本實施例,調整控制模組210可包含至少一計時器諸如計時器#1、#2等,用以依據安全檢查及敏感位址監控電路212的設定,選擇性地啟用(enable)或停用(disable)電壓調整(標示「啟用/停用」以求簡明),尤其,啟用/停用從電壓調整電路214至電壓調整暫存器#1、#2等的控制路徑以持續/暫停電壓調整電路214對電壓調整暫存器#1、#2等之各自的暫存器值的改變,其中啟用或停用的時間可以規則或不規則(即時間隨機性),以增加動態電壓改變的複雜度,但本發明不限於此。於某些實施例中,上述至少一計時器可被整合至電壓調整電路214中。另外,在調整控制模組210(例如其中的電壓調整電路214)的控制下,電壓調整暫存器#1、#2等之各自的暫存器值可於該多個候選暫存器值4’d0-4’d15的範圍中變化(標示「4’d0-4’d15」以求簡明),且內部電源巨集模組#1、#2等可分別透過其輸出調整端子Output_adjust1、Output_adjust2等接收電壓調整暫存器#1、#2等之各自的暫存器值,以依據於輸入端子Vin1、Vin2等之上述至少一輸入電壓(標示「電壓輸入」以求簡明)產生分別對應於這些暫存器值的內部電源電壓(標示「電壓輸出」以求簡明),以供分別透過輸出端子Vout1、Vout2等來輸出。於某些實施例中,電壓調整電路214可藉由計時器及/或其他隨機性控制邏輯的協同運作來切換電壓調整暫存器#1、#2的暫存器值的改變,以實現電壓調整電路214進行電壓控制的隨機性。
如第2圖所示,該至少一內部電源電壓可包含被傳送朝向(toward)該IC 100內部(例如處理電路202)之一可調整核心電源(core power)電壓(標示「往IC內部之可調整核心電源」以求簡明)、被傳送朝向位於該IC 100內之至少一輸入輸出墊片(input/output pad,簡稱「IO墊片」)諸如IO墊片#0、#1、#2及#3之一可調整核心電源電壓(標示「往IO墊片之可調整核心電源」以求簡明)以及被傳送朝向位於該IC 100內之至少一IO墊片諸如IO墊片#0、#1、#2及#3之一可調整輸入輸出電源(IO power,簡稱「IO電源」)電壓(標示「往IO墊片之可調整IO電源」以求簡明),尤其,可另包含被傳送朝向該儲存裝置(例如該記憶體)的至少一IO墊片諸如IO墊片#10、#11、#12及#13(例如:被傳送至一電源電壓墊片諸如緊鄰於(next to)IO墊片#10、#11、#12及#13的VCC墊片)之一可調整輸入輸出電源電壓(標示「往IO墊片之可調整IO電源」以求簡明)。在一些實施例中,核心電源的電壓值大致上低於IO電源的電壓值。為了簡明起見,於本實施例中類似的內容在此不重複贅述。
第3圖依據本發明一實施例繪示該方法的一第二控制方案。相較於第2圖所示架構,被傳送至儲存裝置的VCC墊片之可調整輸入輸出電源電壓的線路被駭客竄改了(屬於一種常見的攻擊模式,但本發明不以此為限)。例如,駭客可能使用外部電源諸如一外部電源巨集模組來取代內部電源以提供電壓至儲存裝置的VCC墊片。如第3圖所示,由於該至少一內部電源電壓可包含多個可調整電源電壓(例如,傳送至IO墊片#0、#1、#2及#3的「往IO墊片之可調整核心電源」以及「往IO墊片之可調整核心電源」…等)。因此,駭客僅控制VCC墊片的電壓並無法成功破解系統的保護機制。為了簡明起見,於本實施例中類似的內容在此不重複贅述。
第4圖依據本發明一實施例繪示該方法的一第三控制方案。相較於第3圖所示架構,該儲存裝置(例如該記憶體)的位置改變,尤其,被設置於該IC 100外部,例如安裝在該主電路板(例如該印刷電路板)上。如第4圖所示,同樣地,該至少一內部電源電壓包含多個可調整電源電壓。因此,駭客僅控制VCC墊片的電壓並無法成功破解系統的保護機制。為了簡明起見,於本實施例中類似的內容在此不重複贅述。
第5圖依據本發明一實施例繪示該方法的一第四控制方案。處理電路502可作為上述處理電路102的例子,也可以作為上述處理電路202的例子,且調整控制模組210可包含上述至少一計時器諸如計時器#1、#2、#3等,尤其,電壓調整暫存器#1、#2、#3等可作為上述至少一電壓調整暫存器(諸如電壓調整暫存器120)的例子,而內部電源巨集模組#1、#2、#3等可作為上述至少一內部電源巨集模組(諸如內部電源巨集模組130)的例子,其中第1圖所示架構可依據第2圖至第4圖所示實施例的至少一實施例以及第5圖所示實施例來實現。處理電路502可包含上述至少一處理器、該多個邏輯單元(未示於第5圖中)以及一靜態隨機存取記憶體(Static Random Access Memory,簡稱SRAM),而上述至少一處理器可包含內部SRAM或快取(cache)記憶體(標示「內部SRAM或快取」以求簡明)。
依據本實施例,上述至少一計時器中之計時器#3可依據安全檢查及敏感位址監控電路212的設定,選擇性地啟用或停用電壓調整(標示「啟用/停用」以求簡明),尤其,啟用/停用從電壓調整電路214至電壓調整暫存器#3的控制路徑以持續/暫停電壓調整電路214對電壓調整暫存器#3的暫存器值的改變,其中啟用或停用的時間可以規則或不規則,以增加動態電壓改變的複雜度,但本發明不限於此。另外,在調整控制模組210(例如電壓調整電路214)的控制下,電壓調整暫存器#3的暫存器值可於該多個候選暫存器值4’d0-4’d15的範圍中變化(標示「4’d0-4’d15」以求簡明),且內部電源巨集模組#3可透過其輸出調整端子Output_adjust3接收電壓調整暫存器#3的暫存器值,以依據於輸入端子Vin3之輸入電壓(標示「電壓輸入」以求簡明)產生對應於這個暫存器值的內部電源電壓(標示「電壓輸出」以求簡明),以供透過輸出端子Vout3來輸出。為了簡明起見,於本實施例中類似的內容在此不重複贅述。
第6圖依據本發明一實施例繪示動態電壓改變的例子。橫軸可代表時間,而縱軸可代表對應於所述任一暫存器值的該內部電源電壓(標示「電壓」以求簡明),其中時間點{t0, t2, …, t28, …}可代表取樣時間點,但本發明不限於此。在處理電路102(例如其內的處理器)正運行著正常程式(例如該IC 100的製造商所提供的程式、該製造商的客戶所提供的程式、該IC 100的使用者程式等)的情況下,該IC 100可控制該內部電源電壓維持平穩的電壓位準,例如表1中的較佳工作電壓,諸如
1.78(V)至
1.82(V)。在處理電路102(例如其內的處理器)正運行著惡意程式(例如該惡意軟體)的情況(例如安全引擎104判斷該至少一安全事件發生時)下,該IC 100可控制該內部電源電壓隨機性地超出其預定電壓範圍,藉此進行該系統保護,前述的用以實現電壓隨機性以及時間隨機性的實施例皆為示例而非用以限制本發明。為了簡明起見,於本實施例中類似的內容在此不重複贅述。
承前所述,一般而言,IC 100可在較佳工作電壓的範圍內工作,但電壓值因各種因素(例如溫度等)有些微飄動,但在本發明的一些實施例中,在安全事件發生時,IC 100的工作電壓範圍會有隨機性的較大變動(但大致上不影響IC 100的工作),意在使駭客的惡意程式碼產生無法預期的反饋,從而瓦解其攻擊意願,是一種用以保護IC 100的機制。
以上所述僅為本發明之較佳實施例,凡依本發明申請專利範圍所做之均等變化與修飾,皆應屬本發明之涵蓋範圍。
10:電子裝置
100:IC
102,202,502:處理電路
104:安全引擎
110,210:調整控制模組
112,212:安全檢查及敏感位址監控電路
114,214:電壓調整電路
120:電壓調整暫存器
130:內部電源巨集模組
Vin1~Vin3:輸入端子
Vout1~Vout3:輸出端子
Output_adjust1~Output_adjust3:輸出調整端子
t0~t28:時間點
第1圖為依據本發明一實施例之一種可應用於透過動態電壓改變來進行系統保護之積體電路的示意圖,其中該積體電路可位於一電子裝置中。
第2圖依據本發明一實施例繪示一種透過動態電壓改變來進行系統保護之方法的一第一控制方案,其中該方法可應用於第1圖所示之積體電路。
第3圖依據本發明一實施例繪示該方法的一第二控制方案。
第4圖依據本發明一實施例繪示該方法的一第三控制方案。
第5圖依據本發明一實施例繪示該方法的一第四控制方案。
第6圖依據本發明一實施例繪示動態電壓改變的例子。
10:電子裝置
100:IC
102:處理電路
104:安全引擎
110:調整控制模組
112:安全檢查及敏感位址監控電路
114:電壓調整電路
120:電壓調整暫存器
130:內部電源巨集模組
Claims (10)
- 一種積體電路,可應用於透過動態電壓改變來進行系統保護,該積體電路包含: 一監控電路,用來監控一安全引擎的至少一安全檢查結果以判斷是否發生至少一安全事件; 至少一電源電壓產生電路,用來依據接收自該積體電路的外部之至少一輸入電壓於該積體電路中產生至少一內部電源電壓,以提供該至少一內部電源電壓給該積體電路的至少一內部元件;以及 一電壓調整電路,耦接至該監控電路以及該至少一電源電壓產生電路,用來因應該至少一安全事件的發生,控制該至少一電源電壓產生電路動態地調整該至少一內部電源電壓,使該至少一內部電源電壓隨機性地超出其預定電壓範圍,藉此擾亂該至少一安全事件的發生以進行該系統保護。
- 如申請專利範圍第1項所述之積體電路,另包含: 至少一電壓調整暫存器,耦接於該電壓調整電路以及該至少一電源電壓產生電路之間,用來儲存至少一暫存器值,以控制該至少一電源電壓產生電路產生對應於該至少一暫存器值之該至少一內部電源電壓。
- 如申請專利範圍第2項所述之積體電路,其中,因應該至少一安全事件的發生,該電壓調整電路透過調整該至少一暫存器值來控制該至少一電源電壓產生電路,以動態地調整該至少一內部電源電壓,使該至少一內部電源電壓隨機性地超出其預定電壓範圍。
- 如申請專利範圍第1項所述之積體電路,其中該至少一電源電壓產生電路中的任一電源電壓產生電路包含一或多個電壓調節器。
- 如申請專利範圍第1項所述之積體電路,其中該至少一電源電壓產生電路中的任一電源電壓產生電路包含一或多個低壓降調節器。
- 如申請專利範圍第1項所述之積體電路,其中該至少一內部電源電壓包含被傳送朝向該積體電路內部之一可調整核心電源電壓。
- 如申請專利範圍第1項所述之積體電路,其中該至少一內部電源電壓包含被傳送朝向位於該積體電路內之至少一輸入輸出墊片之一可調整核心電源電壓。
- 如申請專利範圍第1項所述之積體電路,其中該至少一內部電源電壓包含被傳送朝向位於該積體電路內之至少一輸入輸出墊片之一可調整輸入輸出電源電壓。
- 如申請專利範圍第1項所述之積體電路,其中該監控電路被整合至該安全引擎中。
- 如申請專利範圍第1項所述之積體電路,其中該監控電路被實施成一安全檢查及敏感位址監控電路,且另被配置成監控一或多個敏感位址以判斷是否發生該至少一安全事件,其中當該一或多個敏感位址中的任何敏感位址被存取時,該安全檢查及敏感位址監控電路判斷發生該至少一安全事件。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW110100703A TWI761027B (zh) | 2021-01-08 | 2021-01-08 | 可應用於透過動態電壓改變來進行系統保護之積體電路 |
US17/546,061 US20220222385A1 (en) | 2021-01-08 | 2021-12-09 | Integrated circuit applicable to performing system protection through dynamic voltage change |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW110100703A TWI761027B (zh) | 2021-01-08 | 2021-01-08 | 可應用於透過動態電壓改變來進行系統保護之積體電路 |
Publications (2)
Publication Number | Publication Date |
---|---|
TWI761027B TWI761027B (zh) | 2022-04-11 |
TW202227995A true TW202227995A (zh) | 2022-07-16 |
Family
ID=82198851
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW110100703A TWI761027B (zh) | 2021-01-08 | 2021-01-08 | 可應用於透過動態電壓改變來進行系統保護之積體電路 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20220222385A1 (zh) |
TW (1) | TWI761027B (zh) |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7376854B2 (en) * | 2004-03-31 | 2008-05-20 | Intel Corporation | System for enabling and disabling voltage regulator controller of electronic appliance according to a series of delay times assigned to voltage regulator controllers |
US10146282B2 (en) * | 2013-10-31 | 2018-12-04 | Advanced Micro Devices, Inc. | System and method for monitoring and controlling a performance state change |
US8921774B1 (en) * | 2014-05-02 | 2014-12-30 | 908 Devices Inc. | High pressure mass spectrometry systems and methods |
US10395032B2 (en) * | 2014-10-03 | 2019-08-27 | Nokomis, Inc. | Detection of malicious software, firmware, IP cores and circuitry via unintended emissions |
CN104283673A (zh) * | 2014-10-09 | 2015-01-14 | 东南大学 | 密码电路系统的随机动态电压调节抗攻击方法及电路系统 |
US20190108332A1 (en) * | 2017-10-06 | 2019-04-11 | Elwha Llc | Taint injection and tracking |
US10990682B2 (en) * | 2017-12-18 | 2021-04-27 | Nuvoton Technology Corporation | System and method for coping with fault injection attacks |
TWI750442B (zh) * | 2019-01-15 | 2021-12-21 | 緯穎科技服務股份有限公司 | 韌體安全防護方法與使用此方法的電子系統 |
-
2021
- 2021-01-08 TW TW110100703A patent/TWI761027B/zh active
- 2021-12-09 US US17/546,061 patent/US20220222385A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
US20220222385A1 (en) | 2022-07-14 |
TWI761027B (zh) | 2022-04-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7392415B2 (en) | Sleep protection | |
US8312292B2 (en) | Input output access controller | |
US8838924B2 (en) | Microprocessor having internal secure memory | |
US8843732B2 (en) | Mechanism for detecting a no-processor swap condition and modification of high speed bus calibration during boot | |
JP5939675B2 (ja) | 半導体装置及び制御システム | |
EP2124165A2 (en) | Microprocessor having a secure execution mode with provisions for monitoring, indication, and managing security levels | |
CN113557516A (zh) | 警报处置 | |
US10671546B2 (en) | Cryptographic-based initialization of memory content | |
US8489846B1 (en) | Partition processing system and method for reducing computing problems | |
KR20060028704A (ko) | 신뢰 주변 장치 메커니즘 | |
US11323239B2 (en) | Countermeasure for power injection security attack | |
US20160026824A1 (en) | Security against memory replay attacks in computing systems | |
TWI761027B (zh) | 可應用於透過動態電壓改變來進行系統保護之積體電路 | |
CN114815952B (zh) | 能应用于通过动态电压改变来进行系统保护的集成电路 | |
US20090158011A1 (en) | Data processing system | |
CN111630601A (zh) | 用于存储器控制器的安全增强 | |
JP2007122259A (ja) | 情報処理装置、およびそのメモリ制御方法 | |
JP2024051537A (ja) | 半導体装置 | |
Lu | VLSI Design and Test View of Computer Security | |
JP2016076000A (ja) | 情報処理システム | |
WO2023115022A2 (en) | Efficient and secure data handling using domain-oriented masking | |
CN115905108A (zh) | 一种用于risc-v芯片的iopmp架构实现方法 | |
KR100654805B1 (ko) | 전자장치 및 그 제어방법 | |
JP2007128319A (ja) | ユニバーサルメモリ,ユニバーサルメモリモジュール及びこれを用いた情報処理装置 |