本發(fā)明涉及芯片抗攻擊領(lǐng)域,尤其涉及一種利用內(nèi)部低頻時鐘作為計數(shù)門限的外部高頻時鐘頻率檢測結(jié)構(gòu)。
背景技術(shù):
近年來,針對各類信息系統(tǒng)及芯片的攻擊方式不斷被提出,使得信息安全受到了嚴重威脅。隨著微電子技術(shù)的進步,針對不同攻擊方式的抗攻擊技術(shù)也在不斷發(fā)展。基于底層硬件電路的安全防護技術(shù),相比于軟件防護,具有更高的安全等級,逐漸成為了信息系統(tǒng)及芯片抗攻擊的首選方案。
一些信息安全芯片需要在外部輸入時鐘驅(qū)動下工作,內(nèi)部電路的工作速度完全由該時鐘決定。攻擊者可以通過改變輸入時鐘的頻率進而展開攻擊。頻率過高,會使得芯片工作發(fā)生紊亂,進入異常狀態(tài)[1]。頻率過低,會使得芯片內(nèi)一些攻擊檢測傳感器響應(yīng)時間增加,從而使得攻擊者有足夠的時間破解芯片的傳感器防護網(wǎng)。通過改變外部輸入的時鐘頻率,使芯片工作出現(xiàn)錯誤,從而獲得異常的訪問途徑,給信息安全芯片帶來了巨大的安全隱患。因此,需要一種頻率檢測結(jié)構(gòu),對外部輸入頻率進行檢測,一旦超出工作頻率范圍,立即產(chǎn)生報警信號,并采取有效措施。
經(jīng)過專利檢索,已有中國專利提出用于抗攻擊芯片的頻率檢測結(jié)構(gòu),專利CN101968840B僅從方法學的角度闡述了頻率檢測結(jié)構(gòu),并未涉及具體的電路實現(xiàn)方式[2]。專利CN103077346B采用模擬方式實現(xiàn)頻率檢測,受工藝影響較大,不容易實現(xiàn)高精度的測量[3]。
[參考文獻]
1.易青松,戴紫彬;SoC安全芯片物理級攻擊方法及安全防護探析[J],國外電子元器件,2007(5):23-26。
2.夏軍虎,徐功益,錢志恒;一種基于電壓檢測和頻率檢測的芯片抗攻擊方法[P],中國專利:CN101968840B,2012-9-26。
3.王新亞,吳曉勇;一種基于時鐘頻率檢測的芯片抗攻擊系統(tǒng)及方法[P],中國專利:CN103077346B,2015-7-22。
技術(shù)實現(xiàn)要素:
針對現(xiàn)有技術(shù)存在的缺陷,本發(fā)明提出一種適用于抗攻擊芯片的高頻時鐘頻率檢測電路結(jié)構(gòu),在芯片內(nèi)部嵌入一個低頻時鐘作為計數(shù)閘門,對外部輸入高頻時鐘頻率進行檢測,防止攻擊者利用外部高頻時鐘進行頻率攻擊,確??构粜酒軌蛟诤线m的頻率范圍內(nèi)正常工作。
為了解決上述技術(shù)問題,本發(fā)明提出的一種用于抗攻擊芯片的高頻時鐘頻率檢測結(jié)構(gòu)電路,其予以實現(xiàn)的一個技術(shù)方案是,包括兩個串聯(lián)的上升沿觸發(fā)的D觸發(fā)器、三個二輸入與門、延時單元D、或門OR、10位異步清零二進制加法計數(shù)器CT、10位鎖存器LATCH和10位數(shù)字比較器DCMP;其中,串聯(lián)的兩個上升沿觸發(fā)的D觸發(fā)器構(gòu)成了同步電路;兩個上升沿觸發(fā)的D觸發(fā)器和三個二輸入與門構(gòu)成了門控時鐘結(jié)構(gòu);延時單元D為偶數(shù)個反相器串聯(lián)而成,通過調(diào)節(jié)該反相器個數(shù)控制延時時間;所述10位數(shù)字比較器DCMP內(nèi)含兩個10位寄存器,即頻率上限寄存器H與頻率下限寄存器L;延時單元D與或門OR構(gòu)成了延時清零結(jié)構(gòu);外部提供的輸入信號為高頻時鐘CLKH、使能En、低頻時鐘CLKL;內(nèi)部信號為待測高頻信號CLKT、門控信號Gate、延時清零信號CLRG、門控高頻信號CLKG;輸出信號為報警信號ALARM;上述各器件之間、器件及信號之間的連接關(guān)系如下:
兩個上升沿觸發(fā)的D觸發(fā)器分別為D觸發(fā)器D1和D觸發(fā)器D2,三個二輸入與門分別為二輸入與門AND1、二輸入與門AND2和二輸入與門AND3;使能En與D觸發(fā)器D1的輸入端D相連,D觸發(fā)器D1的同相輸出端Q與D觸發(fā)器D2的輸入端D相連;低頻時鐘CLKL與D觸發(fā)器D1及D觸發(fā)器D2的時鐘輸入端CLK相連;D觸發(fā)器D2的同相輸出端Q同與門AND1的輸入端A2以及與門AND2的輸入端A3相連;與門AND1的另一個輸入端A1與高頻時鐘CLKH相連;與門AND2的另一個輸入端A4與低頻時鐘CLKL相連;與門AND1的輸出端B1與與門AND3的輸入端A5相連,與門AND2的輸出端B2與與門AND3的輸入端A6相連,與門AND3的輸出端B3作為計數(shù)器CT的時鐘輸入信號、并與10位異步清零二進制加法計數(shù)器CT的時鐘輸入端CP相連;與門AND2的輸出端B2與延時單元D的輸入端A7相連,延時單元D的輸出端B4與或門OR輸入端A9相連,或門OR另一個輸入端A8與與門AND2的輸出端B2相連;或門OR輸出端B5與10位異步清零二進制加法計數(shù)器CT的異步清零端Clr相連;10位異步清零二進制加法計數(shù)器CT的10位輸出端口與10位鎖存器LATCH的10位輸入端一一對應(yīng)相連;與門AND2的輸出端B2與10位鎖存器LATCH的鎖存控制端G相連;10位鎖存器LATCH的10位輸出信號分別作為10位數(shù)字比較器DCMP的10位輸入信號,并與10位數(shù)字比較器DCMP的輸入端一一相連;與門AND2的輸出端B2與10位數(shù)字比較器DCMP的使能輸入端E相連,D觸發(fā)器D2的同相輸出端Q與10位數(shù)字比較器DCMP復(fù)位輸入端Rst相連;10位數(shù)字比較器DCMP輸出報警信號ALARM。
本發(fā)明提出的一種用于抗攻擊芯片的高頻時鐘頻率檢測結(jié)構(gòu)電路,其予以實現(xiàn)的另一個技術(shù)方案是,將上述技術(shù)方案中連接在10位鎖存器LATCH后的10位數(shù)字比較器DCMP替換為10位數(shù)字運算單元ALU,該10位數(shù)字運算單元ALU輸出被測頻率為fH。
另外,在上述兩種技術(shù)方案的基礎(chǔ)上均可以在高頻時鐘CLKH和與門AND1的輸入端A1之間連接有一分頻器。
與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果是:
本發(fā)明通過在芯片內(nèi)部嵌入一個低頻時鐘作為計數(shù)閘門,在內(nèi)部低頻時鐘的高電平期間,對被測頻率的周期數(shù)進行計數(shù),再通過數(shù)字比較器判斷是否超出工作頻率范圍,從而實現(xiàn)數(shù)字寬范圍頻率測量。同時,低頻時鐘也可以作為應(yīng)急銷毀時鐘,當頻率檢測到異常狀態(tài)時,用于驅(qū)動芯片清除關(guān)鍵數(shù)據(jù)。
本發(fā)明采用門控時鐘技術(shù),降低了系統(tǒng)功耗。測量精度與計數(shù)閘門時間長度(低頻時鐘高電平寬度)有關(guān),測量范圍與計數(shù)器位數(shù)有關(guān),通過調(diào)節(jié)低頻時鐘頻率以及計數(shù)器位數(shù),可以靈活的更改頻率測量精度與測量范圍。通過修改數(shù)字比較器中的高閾值與低閾值寄存器,可以靈活的修改報警范圍。采用數(shù)字測量頻率的方式,版圖面積小,功耗低,對工藝誤差不敏感。
附圖說明
圖1是本發(fā)明實現(xiàn)固定范圍頻率檢測結(jié)構(gòu)電路圖;
圖2是圖1所示固定范圍頻率檢測結(jié)構(gòu)的檢測波形圖;
圖3是本發(fā)明實現(xiàn)寬范圍頻率檢測結(jié)構(gòu)電路圖;
圖4是圖3所示寬范圍頻率檢測結(jié)構(gòu)的檢測波形圖。
具體實施方式
下面結(jié)合附圖和具體實施例對本發(fā)明技術(shù)方案作進一步詳細描述,所描述的具體實施例僅對本發(fā)明進行解釋說明,并不用以限制本發(fā)明。
本發(fā)明針對抗攻擊芯片易受到頻率攻擊的問題,提出一種針對外部輸入高頻時鐘的頻率測量電路,該電路有效利用內(nèi)部低頻時鐘作為計數(shù)閘門,在固定時間內(nèi)對高頻時鐘周期個數(shù)計數(shù),從而推得高頻時鐘頻率。當所得頻率超過正常工作頻率范圍時,產(chǎn)生報警信號。
本發(fā)明提出的一種用于抗攻擊芯片的高頻時鐘頻率檢測結(jié)構(gòu)電路,其予以實現(xiàn)的一個技術(shù)方案是用于固定范圍的頻率檢測,如圖1所示,該結(jié)構(gòu)電路包括兩個串聯(lián)的上升沿觸發(fā)的D觸發(fā)器、三個二輸入與門、延時單元D、或門OR、10位異步清零二進制加法計數(shù)器CT、10位鎖存器LATCH和10位數(shù)字比較器DCMP;其中,串聯(lián)的兩個上升沿觸發(fā)的D觸發(fā)器構(gòu)成了同步電路;兩個上升沿觸發(fā)的D觸發(fā)器和三個二輸入與門構(gòu)成了門控時鐘結(jié)構(gòu);延時單元D為偶數(shù)個反相器串聯(lián)而成,通過調(diào)節(jié)該反相器個數(shù)控制延時時間;所述10位數(shù)字比較器DCMP內(nèi)含兩個10位寄存器,即頻率上限寄存器H與頻率下限寄存器L;延時單元D與或門OR構(gòu)成了延時清零結(jié)構(gòu)。
該高頻時鐘頻率檢測結(jié)構(gòu)電路外部提供的輸入信號為高頻時鐘CLKH、使能En、低頻時鐘CLKL;該高頻時鐘頻率檢測結(jié)構(gòu)電路內(nèi)部提供的主要信號為待測高頻信號CLKT、門控信號Gate、延時清零信號CLRG、門控高頻信號CLKG;該高頻時鐘頻率檢測結(jié)構(gòu)電路的輸出信號為報警信號ALARM;上述各器件之間、器件及信號之間的連接關(guān)系如下:
兩個上升沿觸發(fā)的D觸發(fā)器分別為D觸發(fā)器D1和D觸發(fā)器D2,三個二輸入與門分別為二輸入與門AND1、二輸入與門AND2和二輸入與門AND3;使能En與D觸發(fā)器D1的輸入端D相連,D觸發(fā)器D1的同相輸出端Q與D觸發(fā)器D2的輸入端D相連;低頻時鐘CLKL與D觸發(fā)器D1及D觸發(fā)器D2的時鐘輸入端CLK相連;D觸發(fā)器D2的同相輸出端Q同與門AND1的輸入端A2以及與門AND2的輸入端A3相連;與門AND1的另一個輸入端A1與高頻時鐘CLKH相連;與門AND2的另一個輸入端A4與低頻時鐘CLKL相連;與門AND1的輸出端B1與與門AND3的輸入端A5相連,與門AND2的輸出端B2與與門AND3的輸入端A6相連,與門AND3的輸出端B3作為計數(shù)器CT的時鐘輸入信號、并與10位異步清零二進制加法計數(shù)器CT的時鐘輸入端CP相連。
與門AND2的輸出端B2與延時單元D的輸入端A7相連,延時單元D的輸出端B4與或門OR輸入端A9相連,或門OR另一個輸入端A8與與門AND2的輸出端B2相連;或門OR輸出端B5與10位異步清零二進制加法計數(shù)器CT的異步清零端Clr相連。
10位異步清零二進制加法計數(shù)器CT的10位輸出端口Q9、Q8、Q7、Q6、Q5、Q4、Q3、Q2、Q1、Q0與10位鎖存器LATCH的10位輸入端C9、C8、C7、C6、C5、C4、C3、C2、C1、C0一一對應(yīng)相連;與門AND2的輸出端B2與10位鎖存器LATCH的鎖存控制端G相連。10位鎖存器LATCH的10位輸出信號L9、L8、L7、L6、L5、L4、L3、L2、L1、L0分別作為10位數(shù)字比較器DCMP的10位輸入信號,并與10位數(shù)字比較器DCMP的輸入端D9、D8、D7、D6、D5、D4、D3、D2、D1、D0一一相連;與門AND2的輸出端B2與10位數(shù)字比較器DCMP的使能輸入端E相連,D觸發(fā)器D2的同相輸出端Q與10位數(shù)字比較器DCMP復(fù)位輸入端Rst相連;10位數(shù)字比較器DCMP輸出報警信號ALARM。
如圖1所示,使用時依據(jù)測量精度選擇合適的低頻時鐘,然后根據(jù)所需測量的最高頻率值選擇合適位數(shù)的計數(shù)器。其次,根據(jù)鎖存器輸入數(shù)據(jù)所需的建立時間調(diào)節(jié)延時單元D的延時,使得計數(shù)器清零前鎖存器已經(jīng)將計數(shù)值鎖存,同時又為數(shù)字比較器留出充足的比較時間。最后,在低頻時鐘上升沿采樣ALARM輸出信號,即可得到有效報警信號。
本發(fā)明中,10位異步清零二進制加法計數(shù)器CT,其中CP為時鐘輸入端,上升沿有效;Clr為異步清零端,低電平有效;Q9、Q8、Q7、Q6、Q5、Q4、Q3、Q2、Q1、Q0為10位輸出端口,同時也代表計數(shù)輸出值,其中的Q9為最高位。10位鎖存器LATCH的鎖存控制端G也為鎖存控制輸入端,G下降沿鎖存數(shù)據(jù)并低電平保持,G為高電平時不鎖存,輸入端C9、C8、C7、C6、C5、C4、C3、C2、C1、C0的輸入數(shù)據(jù)直達鎖存控輸出端L9、L8、L7、L6、L5、L4、L3、L2、L1、L0。10位數(shù)字比較器DCMP內(nèi)含的兩個10位寄存器,即頻率上限寄存器H與頻率下限寄存器L。D9、D8、D7、D6、D5、D4、D3、D2、D1、D0為該數(shù)字比較器的數(shù)據(jù)輸入端,En為使能輸入端,低電平有效。Rst為復(fù)位輸入端,低電平有效。
本發(fā)明中,第一D觸發(fā)器D1和第二觸發(fā)器D2和三個與門AND1、AND2、AND3共同構(gòu)成了門控時鐘結(jié)構(gòu)。使能En為頻率測量控制信號,當其為高電平時,才能進行頻率測量。D1與D2串聯(lián)構(gòu)成同步電路,將使能En與低頻時鐘CLKL同步,得到同步使能信號Ena。使En與低頻時鐘同步,避免了在低頻時鐘CLKL高電平期間En改變而造成的錯誤檢測結(jié)果。同時,當Ena信號為低電平時,關(guān)閉了高頻時鐘CLKH與低頻時鐘CLKL經(jīng)與門AND1和AND2的輸出,從而避免了同步使能Ena無效時,后續(xù)電路仍有不必要的時鐘輸入,造成功耗損失。高頻時鐘CLKH與同步使能信號Ena經(jīng)過與門AND1相與得到待測高頻信號CLKT。低頻時鐘CLKL與同步使能信號Ena經(jīng)過與門AND2相與得到門控信號Gate。待測高頻信號CLKT與門控信號Gate經(jīng)過與門AND3相與得到門控高頻信號CLKG。門控高頻信號CLKG即為經(jīng)過門控處理的待檢測高頻信號。
本發(fā)明中,延時單元D與或門OR構(gòu)成了延時清零結(jié)構(gòu)。當門控信號Gate由高電平轉(zhuǎn)變?yōu)榈碗娖綍r,或門OR輸入端A8直接由高電平跳變?yōu)榈碗娖?,由于延時單元D延時效果,A9端并未立即發(fā)生改變,或門OR輸出端同樣未立即發(fā)生改變。經(jīng)過一定時間延時,延時單元D輸出端B4由高電平跳變?yōu)榈碗娖剑蜷TOR輸出端才由高電平跳變?yōu)榈碗娖?。門控信號Gate之后經(jīng)過一段時間,延時清零信號CLRG才改變,計數(shù)器CT經(jīng)過一定延時后才進行清零操作。當門控信號Gate由低電平轉(zhuǎn)變?yōu)楦唠娖綍r,或門OR輸入端A8直接由低電平跳變?yōu)楦唠娖剑蜷TOR輸出端同樣直接由低電平跳變?yōu)楦唠娖?。延時清零信號CLRG與門控信號Gate同時刻改變,計數(shù)器CT清零信號立即無效。延時清零結(jié)構(gòu)避免了由于走線延時等因素,使得計數(shù)器CT立即清零,而鎖存器由于延時未立即鎖存的情況,使得清零操作更加可靠。延時單元D的延時時間需要大于走線延時,使得計數(shù)器CT清零之前,鎖存器LATCH已經(jīng)將計數(shù)器輸出值鎖存。
頻率檢測結(jié)構(gòu)信號波形圖如圖2所示。第1個低頻時鐘CLKL周期的低電平期間,使能信號En轉(zhuǎn)為高電平,頻率檢測結(jié)構(gòu)開始工作。由于同步電路作用,直到第3個CLKL周期上升沿,得到與CLKL同步的同步使能信號Ena,頻率檢測結(jié)構(gòu)開始檢測頻率。第三個低頻時鐘CLKL高電平期間,門控信號Gate為高電平,與門AND3輸出待測門控高頻信號CLKG,該信號輸入計數(shù)器CT時鐘輸入端CP,每當CLKG信號上升沿到來時,計數(shù)器計數(shù)值加1。由于門控信號Gate為高電平,即鎖存器LATCH鎖存控制輸入端G輸入高電平,鎖存器LATCH保持透明狀態(tài),計數(shù)器CT輸出值Q9、Q8、Q7、Q6、Q5、Q4、Q3、Q2、Q1、Q0將直接到達鎖存器輸出L9、L8、L7、L6、L5、L4、L3、L2、L1、L0。由于數(shù)字比較器使能端E輸入無效高電平,故數(shù)字比較器不工作,輸出端ALARM保持不變。當?shù)皖l時鐘CLKL低電平期間,門控信號Gate為低電平,CLKG保持低電平,計數(shù)器CT時鐘輸入端CP無信號輸入,計數(shù)值不發(fā)生改變。門控信號Gate由高變低時刻,鎖存器LATCH鎖存計數(shù)器CT輸出值,L9、L8、L7、L6、L5、L4、L3、L2、L1、L0保持不變。數(shù)字比較器DCMP使能端E為有效低電平,開始正常工作。數(shù)字比較器DCMP讀取輸入端D9、D8、D7、D6、D5、D4、D3、D2、D1、D0數(shù)值,分別與頻率上限寄存器H與頻率下限寄存器L內(nèi)數(shù)值進行對比。由于第3個CLKL周期高電平期間CLKH頻率正常,故此時ALARM信號輸出低電平,無報警。經(jīng)過一定時間延遲,CLRG低電平,計數(shù)器CT清零。
第4個CLKL周期上升沿處,CLRG高電平,計數(shù)器CT清零無效,開始正常工作。由于第4個CLKL周期高電平期間CLKH頻率過高,該周期低電平期間,數(shù)字比較器DCMP完成比較后,ALARM信號將輸出高電平,即產(chǎn)生報警信號。第5個CLKL周期高電平期間CLKH頻率過低,ALARM信號也將輸出高電平報警信號。第6個CLKL周期低電平期間,En轉(zhuǎn)變?yōu)榈碗娖剑捎谕诫娐纷饔?,直到?個CLKL周期上升沿,同步使能信號Ena才轉(zhuǎn)變?yōu)榈碗娖?,頻率檢測電路停止工作。
通過選擇合適的低頻時鐘頻率以及計數(shù)器位數(shù),可以實現(xiàn)不同頻率范圍的檢測。如若需要檢測更高頻率,可以在高頻時鐘和與門AND1的輸入端A1之間插入分頻器,如圖3所示。如若需要獲得頻率具體值,可以在鎖存器后加入數(shù)字運算單元ALU,如圖4所示。假設(shè)低頻時鐘頻率為fL,被測頻率為fH,則計數(shù)器CT計數(shù)值為N=[fH/(2*fL)],故fH=2*fL*N,其中[]表示取整操作。即ALU需要實現(xiàn)(2*fL*N)的運算。
本發(fā)明的保護范圍并不以上述實施方式為限,本領(lǐng)域普通技術(shù)人員根據(jù)本發(fā)明所揭示內(nèi)容所作的等效修飾或變化,皆應(yīng)納入保護范圍。