TW202201176A - 處理電路及處理方法 - Google Patents
處理電路及處理方法 Download PDFInfo
- Publication number
- TW202201176A TW202201176A TW109121499A TW109121499A TW202201176A TW 202201176 A TW202201176 A TW 202201176A TW 109121499 A TW109121499 A TW 109121499A TW 109121499 A TW109121499 A TW 109121499A TW 202201176 A TW202201176 A TW 202201176A
- Authority
- TW
- Taiwan
- Prior art keywords
- circuit
- dat
- clock signal
- control circuit
- count value
- 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/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
- G06F21/75—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information by inhibiting the analysis of circuitry or operation
- G06F21/755—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information by inhibiting the analysis of circuitry or operation with measures against power attack
-
- 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
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R19/00—Arrangements for measuring currents or voltages or for indicating presence or sign thereof
- G01R19/165—Indicating that current or voltage is either above or below a predetermined value or within or outside a predetermined range of values
- G01R19/16533—Indicating that current or voltage is either above or below a predetermined value or within or outside a predetermined range of values characterised by the application
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/04—Generating or distributing clock signals or signals derived directly therefrom
- G06F1/06—Clock generators producing several clock signals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/04—Generating or distributing clock signals or signals derived directly therefrom
- G06F1/08—Clock generators with changeable or programmable clock frequency
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/28—Supervision thereof, e.g. detecting power-supply failure by out of limits supervision
-
- 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/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
- G06F21/75—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information by inhibiting the analysis of circuitry or operation
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K21/00—Details of pulse counters or frequency dividers
- H03K21/08—Output circuits
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Mathematical Physics (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Power Sources (AREA)
- Manipulation Of Pulses (AREA)
Abstract
一種處理電路,包括一第一振盪電路、一第二振盪電路、一計數電路以及一控制電路。第一振盪電路接收一輸入電壓,並根據輸入電壓,產生一第一時脈信號。第二振盪電路接收一輸出電壓,並根據輸出電壓,產生一第二時脈信號。計數電路接收輸出電壓,並根據第一時脈信號,調整一第一計數值,以及根據第二時脈信號,調整一第二計數值。控制電路接收輸出電壓,並根據第一及第二計數值,判斷輸入電壓是否受到攻擊。第一振盪電路係操作於一未受保護電源域(un-protected power domain)中。第二振盪電路、計數電路以及控制電路係操作於一受保護電源域(protected power domain)中。
Description
本發明係有關於一種處理電路,特別是有關於一種用以判斷一輸入電壓是否受到電源毛刺(power glitch)攻擊的處理電路。
電源毛刺(power glitch)攻擊是一種常見的竊取資料的手法,用以讓具有安全防護的晶片經過攻擊後解除安全防護模式,進而竊取晶片內的重要資料。
本發明提供一種處理電路,包括一第一振盪電路、一第二振盪電路、一計數電路以及一控制電路。第一振盪電路接收一輸入電壓,並根據輸入電壓,產生一第一時脈信號。第二振盪電路接收一輸出電壓,並根據輸出電壓,產生一第二時脈信號。計數電路接收輸出電壓,並根據第一時脈信號,調整一第一計數值,以及根據第二時脈信號,調整一第二計數值。控制電路接收輸出電壓,並根據第一及第二計數值,判斷輸入電壓是否受到攻擊。第一振盪電路係操作於一未受保護電源域(un-protected power domain)中。第二振盪電路、計數電路以及控制電路係操作於一受保護電源域(protected power domain)中。
本發明更提供一種處理方法,用以判斷一輸入電壓是否被攻擊。本發明之處理方法包括,調整輸入電壓,用以產生一輸出電壓;提供輸入電壓予一第一振盪電路,用以產生一第一時脈信號;提供輸出電壓予一第二振盪電路,用以產生一第二時脈信號;根據第一時脈信號,調整一第一計數值;根據第二時脈信號,調整一第二計數值;以及讀取第一及第二計數值,用以判斷輸入電壓是否受到攻擊。
本發明之處理方法可經由本發明之處理電路來實作,其為可執行特定功能之硬體或韌體,亦可以透過程式碼方式收錄於一紀錄媒體中,並結合特定硬體來實作。當程式碼被電子裝置、處理器、電腦或機器載入且執行時,電子裝置、處理器、電腦或機器變成用以實行本發明之處理電路。
為讓本發明之目的、特徵和優點能更明顯易懂,下文特舉出實施例,並配合所附圖式,做詳細之說明。本發明說明書提供不同的實施例來說明本發明不同實施方式的技術特徵。其中,實施例中的各元件之配置係為說明之用,並非用以限制本發明。另外,實施例中圖式標號之部分重覆,係為了簡化說明,並非意指不同實施例之間的關聯性。
第1圖為本發明之處理電路的示意圖。如圖所示,處理電路100具有一電源端110,用以接收一輸入電壓VIN。在一可能實施例中,電源端110作為處理電路100的一輸入/輸出接腳,用以接收來自外部的電源(如VIN)。在本實施例中,處理電路100包括振盪電路130、140、一計數電路150以及一控制電路160。
振盪電路130接收一輸入電壓VIN,並根據輸入電壓VIN,產生一時脈信號CK1。在本實施例中,時脈信號CK1的頻率係隨著輸入電壓VIN而變化。舉例而言,當輸入電壓VIN增加時,時脈信號CK1的頻率可能變大或變小,當輸入電壓VIN減少時,時脈信號CK1的頻率可能變小或變大。本發明並不限定振盪電路130的架構。任何根據一輸入電壓的準位調整一輸出時脈的頻率的電路,均可作為振盪電路130。在一可能實施例中,振盪電路130係為一環形振盪器(ring oscillator)。在其它實施例中,振盪電路130係為一壓控震盪器(voltage-controlled oscillator;VCO)。
振盪電路140接收一輸出電壓VOUT,並根據輸出電壓VOUT,產生一時脈信號CK2。由於振盪電路140的特性相同於振盪電路130的特性,故不再贅述。在本實施例中,振盪電路130與140的差別在於,振盪電路140所接收的輸出電壓VOUT係為一受保護的電壓(protected power),而振盪電路130所接收的輸入電壓VIN係為一未受保護的電壓(un-protected power)。
計數電路150接收輸出電壓VOUT。在本實施例中,輸出電壓VOUT係為計數電路150的操作電壓。在接收到輸出電壓VOUT後,計數電路150根據時脈信號CK1調整一計數值CNT1_DAT,以及根據時脈信號CK2調整一計數值CNT2_DAT。由於輸出電壓VOUT受到保護,故當輸入電壓VIN受到電源毛刺攻擊時,計數電路150的計數操作不會受到影響。
控制電路160接收輸出電壓VOUT。在本實施例中,輸出電壓VOUT係為控制電路160的操作電壓。在接收到輸出電壓VOUT後,控制電路160根據計數值CNT1_DAT及CNT2_DAT,判斷輸入電壓VIN是否受到電源毛刺攻擊。在一可能實施例中,當計數值CNT1_DAT不同於計數值CNT2_DAT時,表示輸入電壓VIN受到攻擊。舉例而言,當計數值CNT1_DAT大於計數值CNT2_DAT時,表示輸入電壓VIN可能因受到攻擊而準位發生變化(如往上拉升)。因此,控制電路160致能一警示信號PPG_ALARM。當計數值CNT1_DAT小於計數值CNT2_DAT時,表示輸入電壓VIN可能因受到攻擊而準位下降。因此,控制電路160致能另一警示信號NPG_ALARM。在其它實施例中,控制電路160致能單一警示信號。在此例中,只要計數值CNT1_DAT不同於計數值CNT2_DAT,控制電路160便致能該單一警示信號。
在其它實施例中,處理電路100更包括一電源保護電路120。電源保護電路120調整輸入電壓VIN,用以產生輸出電壓VOUT。在一可能實施例中,電源保護電路120調升或調降輸入電壓VIN,並將調整後的結果作為輸出電壓VOUT。本發明並不限定電源保護電路120的架構。任何可調整輸入電壓VIN的電路均可作為電源保護電路120。在一可能實施例中,電源保護電路120係為一線性穩壓器(Linear Regulator),如一低壓差穩壓器(Low Dropout Linear Regulator)。在此例中,由於低壓差穩壓器並非利用一外部電容穩定輸出電壓VOUT,故輸出電壓VOUT不會因電源毛刺攻擊而變化。在本實施例中,輸出電壓VOUT係為一受保護的電壓,其安全性高於輸入電壓VIN。
在一些實施例中,當輸入電壓VIN受到攻擊時,控制電路160修改至少一旗標的值,如由數值0變化成數值1。在此例中,一竄改事件管理單元(tamper event management unit)根據該旗標的值,進行特定的動作,如立即停止處理電路100的運作。在其它實施例中,竄改事件管理單元記錄旗標的數值由數值0變化成數值1的次數。在此例中,竄改事件管理單元可能將旗標的值由數值1恢復成數值0。當輸入電壓VIN再度受到攻擊時,控制電路160再次修改旗標的數值,如由數值0變化成數值1。在一可能實施例中,當外部電壓VIN受到攻擊的次數達一上限值時,竄改事件管理單元可能禁能處理電路100,如命令電源保護電路120停止提供輸出信號VOUT。
在其它實施例中,控制電路160設定時脈信號CK1及CK2的初始頻率。在此例中,時脈信號CK1的初始頻率相同於時脈信號CK2的初始頻率。本發明並不限定控制電路160如何設定時脈信號CK1及CK2的初始頻率。在一可能實施例中,控制電路160產生設定信號CK1_FREQ_SEL予振盪電路130,用以設定時脈信號CK1的初始頻率,如為100MHz。此外,控制電路160更產生另一設定信號CK2_FREQ_SEL予振盪電路140,用以設定時脈信號CK2的初始頻率,如為100MHz。由於時脈信號CK1及CK2的初始頻率相同,故在正常情況下,計數值CNT1_DAT等於計數值CNT2_DAT。然而,當輸入電壓VIN因受到攻擊而準位變化時,時脈信號CK1的頻率也隨之變化。此時,由於時脈信號CK1的頻率不等於初始頻率,故計數值CNT1_DAT不同於計數值CNT2_DAT。因此,控制電路160得知輸入電壓VIN受到攻擊。
在一可能實施例中,當計數值CNT1_DAT或CNT2_DAT達一預設值時,計數電路150致能一中斷信號INT,使得控制電路160讀取計數值CNT1_DAT及CNT2_DAT,並根據計數值CNT1_DAT及CNT2_DAT而動作。舉例而言,當中斷信號INT被致能時,控制電路160產生一控制信號CONT,用以暫停(stop)計數電路150,使得計數電路150暫停調整得計數值CNT1_DAT及CNT2_DAT。在一些實施例中,當中斷信號INT被致能時,控制電路160透過設定信號CK1_FREQ_SEL及CK2_FREQ_SEL命令振盪電路130及140停止產生時脈信號CK1及CK2。因此,計數電路150停止調整計數值CNT1_DAT及CNT2_DAT。
在其它實施例中,計數電路150具有一第一計數器以及一第二計數器。在此例中,第一計數器根據時脈信號CK1調整計數值CNT1_DAT,第二計數器根據時脈信號CK2調整計數值CNT2_DAT。在此例中,當計數值CNT1_DAT等於一預設值時,第一計數器致能中斷信號INT。當計數值CNT2_DAT等於該預設值時,第二計數器致能中斷信號INT。
當中斷信號INT被致能時,控制電路160判斷計數值CNT1_DAT是否大於計數值CNT2_DAT。當計數值CNT1_DAT大於計數值CNT2_DAT時,控制電路160致能警示信號PPG_ALARM。當計數值CNT1_DAT小於計數值CNT2_DAT時,控制電路160致能警示信號NPG_ALARM。在其它實施例中,當計數值CNT1_DAT等於計數值CNT2_DAT時,控制電路160透過控制信號CONT重置(reset) 計數電路150,使得計數值CNT1_DAT及CNT2_DAT回到一初始值,如數值0。在此例中,控制電路160再透過控制信號CONT,命令計數電路150重新根據時脈信號CK1及CK2調整得計數值CNT1_DAT及CNT2_DAT。
本發明並不限定控制電路160如何控制計數電路150。在一可能實施例中,控制電路160利用單一控制信號CONT控制計數電路150。在此例中,計數電路150根據控制信號CONT的頻率或電壓位準進行不同的操作。舉例而言,當控制信號CONT等於一第一位準時,計數電路150重置計數值CNT1_DAT及CNT2_DAT。當控制信號CONT等於一第二位準時,計數電路150停止調整計數值CNT1_DAT及CNT2_DAT。當控制信號CONT等於一第三位準時,計數電路150根據時脈信號CK1及CK2調整計數值CNT1_DAT及CNT2_DAT。在其它實施例中,控制電路160分別產生一重置信號、一暫停信號以及一啟動信號。在此例中,當重置信號被致能時,計數電路150重置計數值CNT1_DAT及CNT2_DAT。當暫停信號被致能時,計數電路150停止調整計數值CNT1_DAT及CNT2_DAT。當啟動信號被致能時,計數電路150根據時脈信號CK1及CK2調整計數值CNT1_DAT及CNT2_DAT。
在本實施例中,由於輸入電壓VIN易受攻擊,並且輸入電壓VIN作為振盪電路130的操作電壓,故振盪電路130係操作於一未受保護電源域(un-protected power domain)。在此例中,由於輸出電壓VOUT不因輸入電壓VIN變動而變動,並且輸入電壓VOUT作為振盪電路140、計數電路150及控制電路160的操作電壓,故振盪電路140、計數電路150及控制電路160操作於一受保護電源域(protected power domain)。當輸入電壓VIN受到電源毛刺攻擊時,振盪電路140、計數電路150及控制電路160仍可正常動作。在一可能實施例中,電源保護電路120、振盪電路140、計數電路150及控制電路160整合在一積體電路(IC)中。
第2圖為本發明的處理電路的另一實施例。處理電路200具有一電源端210,用以接收一輸入電壓VIN,並包括一電源保護電路220、振盪電路230、240、計數器251、252以及一控制電路260。電源保護電路220調整輸入電壓VIN,用以產生一輸出電壓VOUT。由於電源保護電路220的特性與第1圖的電源保護電路120的特性相似,故不再贅述。
振盪電路230接收輸入電壓VIN,並根據輸入電壓VIN,產生一時脈信號CK1。振盪電路240接收輸出電壓VOUT,並根據輸出電壓VOUT,產生一時脈信號CK2。由於振盪電路230及240的特性與第1圖的振盪電路13及140的特性相似,故不再贅述。
計數器251根據時脈信號CK1的頻率,調整計數值CNT1_DAT。在本實施例中,當計數值CNT1_DAT達一第一預設值時,計數器251致能一溢位信號CNT1_OV。在一可能實施例中,第一預設值係儲存於計數器251之中。在此例中,控制電路260發出一設定信號CNT1_SEL予計數器251,用以設定第一預設值。
在一可能實施例中,計數器251具有一計數暫存器(未顯示)。該計數暫存器(count register)可能具有16位元(bit),但並非用以限制本發明。計數暫存器根據設定信號CNT1_SEL,決定使用幾個位元進行計數。舉例而言,如果計數暫存器利用8位元計數時脈信號CK1的脈衝數量時,則計數暫存器可計數到數值255。在此例中,當時脈信號CK1的脈衝數量超過255時,計數暫存器發生溢位(overflow)。因此,溢位信號CNT1_OV被致能。
在本實施例中,控制電路260根據溢位信號CNT1_OV,決定是否讀取計數值CNT1_DAT。舉例而言,當溢位信號CNT1_OV被致能時,控制電路260讀取計數值CNT1_DAT。此時,控制電路260也讀取計數值CNT2_DAT。然而,當溢位信號CNT1_OV未被致能時,控制電路260不讀取計數值CNT1_DAT。
計數器252根據時脈信號CK2的頻率,調整計數值CNT2_DAT。在本實施例中,當計數值CNT2_DAT達一第二預設值時,計數器252致能一溢位信號CNT2_OV。當溢位信號CNT2_OV被致能時,控制電路260讀取計數值CNT2_DAT。此時,控制電路260也讀取計數值CNT1_DAT。然而,當溢位信號CNT2_OV未被致能時,控制電路260不讀取計數值CNT2_DAT。由於計數器252的特性與計數器251的特性相似,故不再贅述。
在其它實施例中,當溢位信號CNT1_OV或是CNT2_OV被致能時,控制電路260透過控制信號CONT命令計數器251及252暫停調整計數值CNT1_DAT及CNT2_DAT。此時,控制電路260讀取計數值CNT1_DAT及CNT2_DAT。當計數值CNT1_DAT及CNT2_DAT不相同時,表示輸入電壓VIN受到電源毛刺攻擊。因此,控制電路260致能警示信號PPG_ALARM或NPG_ALARM。
在致能警示信號PPG_ALARM或NPG_ALARM後,控制電路260透過控制信號CONT重置計數器251及252,用以設定計數值CNT1_DAT及CNT2_DAT等於一初始值,如數值0。接著,控制電路260透過控制信號CONT命令計數器251及252根據時脈信號CK1及CK2,再次調整計數值CNT1_DAT及CNT2_DAT。
在其它實施例中,控制電路260根據計數值CNT1_DAT及CNT2_DAT的差值,得知輸入電壓VIN是否受到電源毛刺攻擊。舉例而言,當溢位信號CNT1_OV被致能時,控制電路260判斷計數值CNT1_DAT與CNT2_DAT的一第一差值(CNT1_DAT-CNT2_DAT)是否大於一第一臨界值。當第一差值(CNT1_DAT-CNT2_DAT)大於第一臨界值時,表示輸入電壓VIN的準位因電源毛刺攻擊而被上拉。因此,控制電路260致能警示信號PPG_ALARM。然而,當第一差值(CNT1_DAT-CNT2_DAT)未大於第一臨界值時,表示輸入電壓VIN的變動並非因電源毛刺攻擊,可能只是微小的突波。因此,控制電路260不致能警示信號PPG_ALARM及NPG_ALARM。此時,控制電路260重置計數器251及252,用以設定計數值CNT1_DAT及CNT2_DAT等於一初始值。
在另一可能實施例中,當溢位信號CNT2_OV被致能時,控制電路260判斷計數值CNT2_DAT與CNT1_DAT的一第二差值(CNT2_DAT-CNT1_DAT)是否大於一第二臨界值。當第二差值(CNT2_DAT-CNT1_DAT)大於第二臨界值時,表示輸入電壓VIN的準位因受到電源毛刺攻擊而被下拉。因此,控制電路260致能警示信號NPG_ALARM。然而,當第二差值(CNT2_DAT-CNT1_DAT)未大於第二臨界值時,表示輸入電壓VIN的變動並非電源毛刺攻擊的緣故。因此,控制電路260不致能警示信號PPG_ALARM及NPG_ALARM,並重置計數器251及252。
在一些實施例中,控制電路260根據時脈信號CK2而動作。在此例中,時脈信號CK2作為控制電路260的操作時脈。在本實施例中,振盪電路240、計數器251、252及控制電路260均利用輸出電壓VOUT作為操作電壓,故當輸入電壓VIN受到攻擊時,振盪電路240、計數器251、252及控制電路260仍可正常工作。
第3圖為本發明之處理方法的一可能流程示意圖。本發明的處理方法可由第1圖的控制電路160或是第2圖的控制電路260執行,用以判斷一輸入電壓是否被攻擊。首先,執行一設定動作(步驟S310)。在本實施例中,步驟S310包括步驟S311及S312。步驟S311係調整一輸入電壓,用以產生一輸出電壓。在一可能實施例中,第1圖的控制電路160致能電源保護電路120。在此例中,電源保護電路120調整輸入電壓VIN,並將調整後的結果作為輸出電壓VOUT。
接著,根據輸入電壓,產生一第一時脈信號以及根據輸出電壓,產生一第二時脈信號(步驟S312)。在一可能實施例中,一第一振盪電路(如第1圖的130)根據輸入電壓(如如第1圖的VIN)產生一第一時脈信號(如CK1),並且一第二振盪電路(如第1圖的140)根據輸出電壓(如第1圖的VOUT)產生一第二時脈信號(如CK2)。在一可能實施例中,控制電路160發出一第一設定信號(如CK1_FREQ_SEL)予第一振盪電路,用以設定第一時脈信號的初始頻率。在此例中,控制電路160更發出一第二設定信號(如CK2_FREQ_SEL)予第二振盪電路140,用以設定第二時脈信號的初始頻率。在本實施例中,第一時脈信號的初始頻率相同於第二時脈信號的初始頻率。本發明並不限定第一及第二振盪電路的架構。在一些實施例中,第一及第二振盪電路均為環形振盪器。
根據第一時脈信號,調整一第一計數值,並根據第二時脈信號,調整一第二計數值(步驟S313)。在一可能實施例中,第一及第二計數值係由一計數電路所提供。以第1圖為例,計數電路150可能根據一控制信號CONT,重置第一及第二計數值(如CNT1_DAT及CNT2_DAT),使得第一及第二計數值等於一初始值。在其它實施例中,計數電路150可能根據控制信號,停止調整第一及第二計數值或是開始調整第一及第二計數值。
接著,根據第一及第二計數值,判斷輸入電壓是否受到攻擊(步驟S314)。在一可能實施例中,當第一計數值等於第二計數值時,表示輸入電壓並未受到攻擊。因此,控制電路可能重置第一及第二計數值,使得第一及第二計數值等於一初始值。然而,當第一計數值不等於第二計數值時,表示輸入電壓受到攻擊。因此,控制電路進行一特定操作,如致能一警示信號。
在一可能實施例中,控制電路係在一中斷信號被致能時,才讀取第一及第二計數值。在此例中,當第一或第二計數值等於一預設值時,計數電路停止調整第一及第二計數值,並致能一中斷信號。因此,控制電路讀取第一及第二計數值,並判斷第一計數值是否等於第二計數值。在一可能實施例中,當第一計數值大於第二計數值時,表示輸入電壓因受到攻擊而準位上升,因此,控制電路致能一第一警示信號。當第一計數值小於第二計數值時,表示輸入電壓因受到攻擊而準位下降,因此,控制電路致能一第二警示信號。在其它實施例中,控制電路記錄攻擊次數。當攻擊次數達一上限值時,控制電路可能暫停所有元件的動作。
第4圖為本發明之處理方法的另一流程示意圖。以本案的第2圖為例,首先,設定振盪電路230、240以及計數器251、252(步驟S411)。在一可能實施例中,控制電路260利用設定信號CK1_FREQ_SEL及CK2_FREQ_SEL設定振盪電路230及240所產生的時脈信號CK1及CK2的初始頻率。在一些實施例中,時脈信號CK1的初始頻率相同於時脈信號CK2的初始頻率。另外,控制電路260利用設定信號CNT1_SEL及CNT2_SEL決定計數器251及252內的計數暫存器的位元數量,用以設定計數器251及252的計數上限值。在本實施例中,計數器251及252具有相同的計數上限值(如數值6)。
啟動計數器251及252(步驟S412)。在本實施例中,計數器251根據時脈信號CK1的脈衝數量,調整計數值CNT1_DAT,並且計數器252根據時脈信號CK2的脈衝數量,調整計數值CNT2_DAT。在一可能實施例中,計數器251係計數時脈信號CK1的上升邊緣(rising edge)或是下降邊緣(falling edge)的數量。在此例中,計數器252也是計數時脈信號CK2的上升邊緣或是下降邊緣的數量。
接著,判斷計數器251的溢位信號CNT1_OV或是計數器252的溢位信號CNT2_OV是否被致能(步驟S413)。在一可能實施例中,當計數值CNT1_DAT達一第一計數上限值時,計數器251致能溢位信號CNT1_OV。同樣地,當計數值CNT2_DAT達一第二計數上限值時,計數器252致能溢位信號CNT2_OV。
當溢位信號CNT1_OV及CNT2_OV均未被致能時,回到步驟S413,繼續計數時脈信號CK1及CK2的脈衝數量。然而,當溢位信號CNT1_OV或是CNT2_OV被致能時,停止計數器251及252的計數動作(步驟S414)。因此,計數器251及252停止調整計數值CNT1_DAT及CNT2_DAT。
接著,判斷溢位信號CNT1_OV是否被致能(步驟S415)。當溢位信號CNT1_OV被致能時,表示輸入電壓VIN的準位因攻擊而上升。因此,致能一警示信號PPG_ALARM(步驟S416)。在一可能實施例中,步驟S416更重置計數器251及252,使得計數值CNT1_DAT及CNT2_DAT回到一初始值(如數值0),並回到步驟S412,重新計數時脈信號CK1及CK2的脈衝數量。
然而,當溢位信號CNT1_OV未被致能時,表示溢位信號CNT2_OV被致能。此時,由於輸入電壓VIN的準位因攻擊而下拉,故致能一警示信號NPG_ALARM(步驟S417)。在一可能實施例中,步驟S417更重置計數器251及252,使得計數值CNT1_DAT及CNT2_DAT回到一初始值(如數值0),並回到步驟S412,重新計數時脈信號CK1及CK2的脈衝數量。
第5圖為本發明之處理方法的另一流程示意圖。第5圖的處理方法也可利用第2圖的控制電路260完成。由於第5圖的步驟S511~S515的特性相似於第4圖的步驟S411~S415的特性,故不再贅述。
步驟S515係判斷溢位信號CNT1_OV是否被致能。當溢位信號CNT1_OV被致能時,控制電路260判斷計數值CNT1_DAT與計數值CNT2_DAT的第一差值(CNT1_DAT-CNT2_DAT)是否大於一第一臨界值(步驟S516)。當第一差值(CNT1_DAT-CNT2_DAT)大於第一臨界值時,表示輸入電壓VIN的準位因攻擊而上升。因此,致能一警示信號PPG_ALARM(步驟S517)。在一可能實施例中,步驟S517更重置計數器251及252,使得計數值CNT1_DAT及CNT2_DAT回到一初始值(如數值0),並回到步驟S512,重新計數時脈信號CK1及CK2的脈衝數量。然而,當第一差值(CNT1_DAT-CNT2_DAT)未大於第一臨界值時,表示輸入電壓VIN的準位變化並非因受到攻擊。因此,控制電路260重置計數器251及252,並且不致能警示信號PPG_ALARM及NPG_ALARM(步驟S518)。
在步驟S515中,當溢位信號CNT1_OV未被致能時,表示溢位信號CNT2_OV被致能。因此,控制電路260判斷計數值CNT2_DAT與計數值CNT1_DAT的第二差值(CNT2_DAT-CNT1_DAT)是否大於一第二臨界值(步驟S519)。當第二差值(CNT2_DAT-CNT1_DAT)大於第二臨界值時,表示輸入電壓VIN的準位因攻擊而下降。因此,致能一警示信NPPG_ALARM(步驟S520)。在一可能實施例中,步驟S520更重置計數器251及252,使得計數值CNT1_DAT及CNT2_DAT回到一初始值(如數值0),並回到步驟S512,重新計數時脈信號CK1及CK2的脈衝數量。然而,當第二差值(CNT2_DAT-CNT1_DAT)未大於第二臨界值時,表示輸入電壓VIN的準位變化並非因受到攻擊。因此,控制電路260重置計數器251及252,並且不致能警示信號PPG_ALARM及NPG_ALARM(步驟S518)。
本發明之處理方法,或特定型態或其部份,可以以程式碼的型態存在。程式碼可儲存於實體媒體,如軟碟、光碟片、硬碟、或是任何其他機器可讀取(如電腦可讀取)儲存媒體,亦或不限於外在形式之電腦程式產品,其中,當程式碼被機器,如電腦載入且執行時,此機器變成用以參與本發明之處理電路。程式碼也可透過一些傳送媒體,如電線或電纜、光纖、或是任何傳輸型態進行傳送,其中,當程式碼被機器,如電腦接收、載入且執行時,此機器變成用以參與本發明之處理電路。當在一般用途處理單元實作時,程式碼結合處理單元提供一操作類似於應用特定邏輯電路之獨特裝置。
除非另作定義,在此所有詞彙(包含技術與科學詞彙)均屬本發明所屬技術領域中具有通常知識者之一般理解。此外,除非明白表示,詞彙於一般字典中之定義應解釋為與其相關技術領域之文章中意義一致,而不應解釋為理想狀態或過分正式之語態。
雖然本發明已以較佳實施例揭露如上,然其並非用以限定本發明,任何所屬技術領域中具有通常知識者,在不脫離本發明之精神和範圍內,當可作些許之更動與潤飾。舉例來說,本發明實施例所述之系統、裝置或是方法可以硬體、軟體或硬體以及軟體的組合的實體實施例加以實現。因此本發明之保護範圍當視後附之申請專利範圍所界定者為準。
100、200:處理電路
110、210:電源端
VIN:輸入電壓
VOUT:輸出電壓
120、220:電源保護電路
130、140、230、2420:振盪電路
150:計數電路
160:控制電路
CK1、CK2:時脈信號
CNT1_DAT、CNT2_DAT:計數值
PPG_ALARM、NPG_ALARM:警示信號
CK1_FREQ_SEL、CK2_FREQ_SEL:設定信號
INT:中斷信號
CONT:控制信號
CNT1_SEL、CNT2_SEL:設定信號
CNT1_OV、CNT2_OV:溢位信號
251、252:計數器
S310~S314、S411~S417、S511~S520:步驟
第1圖為本發明之處理電路的示意圖。
第2圖為本發明之處理電路的另一示意圖。
第3圖為本發明之處理方法的一可能流程示意圖。
第4圖為本發明之處理方法的另一流程示意圖。
第5圖為本發明之處理方法的另一流程示意圖。
200:處理電路
210:電源端
VIN:輸入電壓
VOUT:輸出電壓
220:電源保護電路
230、240:振盪電路
251、252:計數器
260:控制電路
CK1、CK2:時脈信號
CNT1_DAT、CNT2_DAT:計數值
PPG_ALARM、NPG_ALARM:警示信號
CK1_FREQ_SEL、CK2_FREQ_SEL:設定信號
CONT:控制信號
CNT1_SEL、CNT2_SEL:設定信號
CNT1_OV、CNT2_OV:溢位信號
Claims (10)
- 一種處理電路,包括: 一第一振盪電路,接收一輸入電壓,並根據該輸入電壓,產生一第一時脈信號; 一第二振盪電路,接收一輸出電壓,並根據該輸出電壓,產生一第二時脈信號; 一計數電路,接收該輸出電壓,並根據該第一時脈信號,調整一第一計數值,以及根據該第二時脈信號,調整一第二計數值;以及 一控制電路,接收該輸出電壓,並根據該第一及第二計數值,判斷該輸入電壓是否受到攻擊; 其中,該第一振盪電路係操作於一未受保護電源域(un-protected power domain)中,該第二振盪電路、該計數電路以及該控制電路係操作於一受保護電源域(protected power domain)中。
- 如請求項1之處理電路,更包括: 一電源保護電路,調整該輸入電壓,用以產生該輸出電壓; 其中該第一及第二振盪電路均為環形振盪器。
- 如請求項1之處理電路,其中該控制電路產生一第一設定信號予該第一振盪電路,用以設定該第一時脈信號的頻率,該控制電路產生一第二設定信號予該第二振盪電路,用以設定該第二時脈信號的頻率。
- 如請求項1之處理電路,其中當該第一或第二計數值等於一預設值時,該計數電路致能一中斷信號,使得該控制電路讀取該第一及第二計數值。
- 如請求項4之處理電路,其中當該第一計數值等於該預設值時,該控制電路判斷該第一及第二計數值的一第一差值是否大於一第一臨界值,當該第一差值大於該第一臨界值時,該控制電路致能一第一警示信號。
- 如請求項5之處理電路,其中當該第二計數值等於該預設值時,該控制電路判斷該第一及第二計數值的一第二差值是否大於一第二臨界值,當該第二差值大於該第二臨界值時,該控制電路致能一第二警示信號。
- 如請求項4之處理電路,其中該計數電路包括: 一第一計數器,根據該第一時脈信號的頻率,調整該第一計數值;以及 一第二計數器,根據該第二時脈信號的頻率,調整該第二計數值。
- 一種處理方法,用以判斷一輸入電壓是否被攻擊,該處理方法包括: 調整該輸入電壓,用以產生一輸出電壓; 提供該輸入電壓予一第一振盪電路,用以產生一第一時脈信號; 提供該輸出電壓予一第二振盪電路,用以產生一第二時脈信號; 根據該第一時脈信號,調整一第一計數值; 根據該第二時脈信號,調整一第二計數值;以及 讀取該第一及第二計數值,用以判斷該輸入電壓是否受到攻擊。
- 如請求項8之處理方法,更包括: 判斷該第一或第二計數值是否等於一預設值; 當該第一或第二計數值達該預設值時,致能一中斷信號;以及 當該中斷信號被致能時,讀取該第一及第二計數值。
- 如請求項9之處理方法,更包括: 當該第一計數值等於該預設值時,判斷該第一及第二計數值的一第一差值是否大於一第一臨界值; 當該第二計數值等於該預設值時,判斷該第一及第二計數值的一第二差值是否大於一第二臨界值;以及 當該第一差值大於該第一臨界值或是該第二差值大於該第二臨界值時,表示該輸入電壓受到攻擊。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW109121499A TWI755771B (zh) | 2020-06-24 | 2020-06-24 | 處理電路及處理方法 |
CN202011592291.XA CN113834979B (zh) | 2020-06-24 | 2020-12-29 | 一种处理电路及处理方法 |
US17/137,963 US11989335B2 (en) | 2020-06-24 | 2020-12-30 | Processing circuit and processing method thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW109121499A TWI755771B (zh) | 2020-06-24 | 2020-06-24 | 處理電路及處理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW202201176A true TW202201176A (zh) | 2022-01-01 |
TWI755771B TWI755771B (zh) | 2022-02-21 |
Family
ID=78962453
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW109121499A TWI755771B (zh) | 2020-06-24 | 2020-06-24 | 處理電路及處理方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11989335B2 (zh) |
CN (1) | CN113834979B (zh) |
TW (1) | TWI755771B (zh) |
Family Cites Families (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA1306496C (en) * | 1987-04-13 | 1992-08-18 | Joseph L. Ardini, Jr. | Method and apparatus for high accuracy measurement of vlsi components |
US20040128528A1 (en) * | 2002-12-31 | 2004-07-01 | Poisner David I. | Trusted real time clock |
US7543163B2 (en) * | 2005-01-05 | 2009-06-02 | Exar Corporation | Low power method of monitoring and of responsively initiating higher powered intelligent response to detected change of condition |
US20080189557A1 (en) * | 2005-01-19 | 2008-08-07 | Stmicroelectronics S.R.I. | Method and architecture for restricting access to a memory device |
DE602005018215D1 (de) * | 2005-09-29 | 2010-01-21 | Research In Motion Ltd | System und Verfahren zur Registrierung von Dateneinheiten für Codesignierungs-Diensten |
DE102008003946A1 (de) * | 2008-01-11 | 2009-07-23 | Micronas Gmbh | Schaltung und Verfahren zur Generierung einer echten, schaltungsspezifischen und zeitinvarianten Zufallszahl |
CN101446615B (zh) * | 2008-12-19 | 2012-03-07 | 艾默生网络能源有限公司 | 一种太阳能方阵管理方法 |
US8135970B2 (en) * | 2009-03-06 | 2012-03-13 | Via Technologies, Inc. | Microprocessor that performs adaptive power throttling |
CN101943728B (zh) * | 2009-07-06 | 2012-03-28 | 北京中电华大电子设计有限责任公司 | 一种防电源毛刺攻击的检测电路 |
JP5285643B2 (ja) * | 2010-03-15 | 2013-09-11 | シャープ株式会社 | 半導体集積回路および電子情報機器 |
JP2012074674A (ja) * | 2010-09-02 | 2012-04-12 | Canon Inc | 半導体集積回路装置 |
JP2012199604A (ja) * | 2011-03-18 | 2012-10-18 | Seiko Epson Corp | カウンター回路及びそれを内蔵した半導体集積回路 |
CN102789565A (zh) * | 2011-05-19 | 2012-11-21 | 鸿富锦精密工业(深圳)有限公司 | 访问驱动程序权限控制系统及方法 |
US9590638B2 (en) * | 2012-09-07 | 2017-03-07 | University Of Virginia Patent Foundation | Low power clock source |
DE112013005029T5 (de) * | 2012-10-17 | 2015-07-30 | Semiconductor Energy Laboratory Co., Ltd. | Mikrocontroller und Herstellungsverfahren dafür |
CN103902930B (zh) * | 2014-03-10 | 2016-09-07 | 杭州晟元数据安全技术股份有限公司 | 基于环形振荡器的物理不可克隆函数电路结构 |
JP6370929B2 (ja) * | 2014-05-22 | 2018-08-08 | テキサス インスツルメンツ インコーポレイテッド | デュアルカウンタデジタル積分器を備えるdc‐dcコンバータコントローラ装置 |
TW201544946A (zh) * | 2014-05-29 | 2015-12-01 | Ibm | 資訊處理系統之電源系統及其電源供應方法 |
US9350365B2 (en) * | 2014-09-18 | 2016-05-24 | Intel Corporation | Digital phase-locked loop supply voltage control |
KR20170015706A (ko) * | 2015-07-30 | 2017-02-09 | 삼성전자주식회사 | 글리치 검출기, 그것을 포함하는 전자 장치 및 그것의 알람 신호 발생 방법 |
JP6441194B2 (ja) * | 2015-09-14 | 2018-12-19 | 東芝メモリ株式会社 | レギュレータ、シリアライザ、デシリアライザ、並列直列相互変換回路及びその制御方法 |
EP3531321B1 (en) * | 2015-09-15 | 2020-08-19 | Gatekeeper Ltd. | System and method for securely connecting to a peripheral device |
US10380341B2 (en) * | 2016-04-01 | 2019-08-13 | Qualcomm Incorporated | Adaptive systems and procedures for defending a processor against transient fault attacks |
US10156595B2 (en) * | 2016-12-09 | 2018-12-18 | Microsemi Soc Corp. | Power supply glitch detector |
TWI781134B (zh) * | 2017-01-25 | 2022-10-21 | 日商精工愛普生股份有限公司 | 電路裝置、電子機器及束線器 |
JP6939261B2 (ja) * | 2017-08-29 | 2021-09-22 | セイコーエプソン株式会社 | 時間デジタル変換回路、回路装置、物理量測定装置、電子機器及び移動体 |
JP6497475B1 (ja) * | 2018-08-31 | 2019-04-10 | ミツミ電機株式会社 | 二次電池保護回路、二次電池保護装置、電池パック及び二次電池保護回路の制御方法 |
US11256287B2 (en) * | 2019-06-13 | 2022-02-22 | Intel Corporation | Apparatus and method to maintain stable clocking |
-
2020
- 2020-06-24 TW TW109121499A patent/TWI755771B/zh active
- 2020-12-29 CN CN202011592291.XA patent/CN113834979B/zh active Active
- 2020-12-30 US US17/137,963 patent/US11989335B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
CN113834979A (zh) | 2021-12-24 |
CN113834979B (zh) | 2023-12-15 |
TWI755771B (zh) | 2022-02-21 |
US11989335B2 (en) | 2024-05-21 |
US20210406408A1 (en) | 2021-12-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100468210B1 (ko) | Usb 장치용 클록 제너레이터 | |
CN110908488A (zh) | 电压下降监测电路及片上系统 | |
KR100647166B1 (ko) | 열 관리가 조절된 운영 체계 | |
KR101440403B1 (ko) | 고속 클록 검지회로 | |
EP1749256A1 (en) | Automatic clock speed control | |
US20030185392A1 (en) | Random number generator | |
US6956416B2 (en) | Powerup control of PLL | |
US6804793B2 (en) | Manipulating an integrated circuit clock in response to early detection of an operation known to trigger an internal disturbance | |
TWI755771B (zh) | 處理電路及處理方法 | |
KR20230116011A (ko) | 클록 동기화 모니터링에 기반한 전압 글리치 검출 기능의 시스템 온 칩 | |
US9360915B1 (en) | Dynamically controlling clocking rate of a processor based on user defined rule | |
US7809974B2 (en) | Circuit to reduce power supply fluctuations in high frequency/high power circuits | |
KR20210113289A (ko) | 보안 시간축의 주파수 조작의 검출 | |
US8762764B2 (en) | Method to detect clock tampering | |
US20100127767A1 (en) | Integrated Circuit Device Including Noise Filter | |
JPH0321928B2 (zh) | ||
KR20080100562A (ko) | 클럭 생성 회로 및 이를 이용한 반도체 메모리 장치 | |
US20230213578A1 (en) | System on chip including a pvt sensor and corresponding pvt sensing method | |
US20240337690A1 (en) | Low power and area clock monitoring circuit using ring delay arrangement | |
CN114696809A (zh) | 信号产生电路及操作系统 | |
JP2799753B2 (ja) | パルス幅変調制御装置 | |
WO2023055388A1 (en) | External crystal oscillator cycle duration and variation tracking | |
JPH06252750A (ja) | リセット制御信号生成回路 | |
KR20200031979A (ko) | 전압 드룹 모니터링 회로, 이를 포함하는 시스템 온 칩 및 시스템 온 칩의 동작 방법 | |
JPS5870336A (ja) | 情報処理装置 |