於測試作業模式期間用於保障集成電路上數字信息安全的方法與設備的製作方法
2023-06-09 08:29:01 1
專利名稱:於測試作業模式期間用於保障集成電路上數字信息安全的方法與設備的製作方法
技術領域:
本發明一般而言是關於集成電路(ICs)與集成電路的各種作業模式,如包含可測 試性設計(DFT)模式的測試模式,並且進一步關於該集成電路內所含有的加密金鑰、密碼 及其它信息,更詳而言的,是關於避免通過將IC作業於DFT或類似的測試模式來存取該加 密金鑰、密碼及其它信息的方法與設備。
背景技術:
保護電子裝置作業所需的數字內容與其它信息經常求助於儲存於集成電路(IC) 上各個位置的加密金鑰與密碼。非經授權使用者以外的某人或甚至經授權使用者本人對 金鑰的存取皆可能造成版權經保護或經其它方式保護的數字內容被偷竊或侵佔。此外,經 保護的數字內容或其它機密信息經常經過解碼或使用前述加密金鑰進行解密,並且由該IC 暫時儲存在內存或寄存器位置內。對該內存或寄存器進行存取亦可能導致內容遭到未經授 權的使用者偷竊或侵佔。目前流行以不正當方式得到經保護的數字內容,其中未經授權的主體可能意圖通 過存取IC內部的寄存器與內存而對IC層次上經保護的數字內容進行存取。這些攻擊是利 用IC設計本身並且意圖合併利用IC測試特徵,如現有技術為」可測試性設計」(DFT)模式 的作業模式。因此,可測試性設計攻擊已造成信息安全領域的新觀點並且對IC的各個部分 (如靜態隨機存取內存(SRAM)、只讀存儲器(ROM)、可編程只讀存儲器(PR0M)、寄存器以及 觸發器,但不限於此)產生威脅。近期所提出的方法已經意圖保護寄存器與栓鎖免於受到DFT攻擊的威脅。此類近 期所提出的一種用於保護寄存器的方法是列舉出,,與機密有關的(secret-bearing),,寄存 器並且將其自該DFT程序排除。然而,此方法具有多個缺點。首先,通過排除寄存器,將降 低DFT的測試涵蓋率(test coverage)並且降低整體IC的良率。第二,容易出錯,因為需 要設計者確認並且自該DFT程序手動移除該」與機密有關的」寄存器,且可能難以或甚至不 可能準確地確認該與機密有關的特定寄存器。第三,該方法假設僅該寄存器含有機密信息, 而內存沒有。另一種經提出的方法是以混亂為基礎,其中,將不同寄存器的內容以偽隨機 (pseudo-random)形式多任務合併在一起(multiplex together)。此方法亦具有缺點,其 需要特殊的DFT算法,但工業標準計算機輔助設計(CAD)工具不支援該算法。此方法的第 二個缺點是其依賴混亂,但可能面臨堅決的黑客通過反向工程(reverse-engineering)進行挑戰。因此,亟需能夠用於保障經保護的信息免於受到未經授權使用者採用IC作業模 式攻擊(如可測試性設計攻擊(Design-for-Test attack)或利用IC測試模式的類似攻 擊)進行存取的方法。
發明內容
本說明書中所揭露的各個實施例皆用於保護集成電路上機密信息,避免利用該集 成電路的測試模式作業進行存取。舉例而言,本說明書中所揭露的各個實施例皆保護該集 成電路免於可測試性設計(DFT)所造成的衝擊。該等實施例使得儲存在寄存器或者栓鎖、 RAM中的暫時性機密、儲存在只讀存儲器(ROM)中的永久機密、及/或儲存在可編程只讀存 儲器(PROM)(如晶片上保險絲)中的永久機密皆可獲得保障。本說明書中所揭露的一種保障集成電路上信息安全的方法,包含進入測試模式, 並且在接收測試模式命令之前重置一組寄存器的各個寄存器,以響應進入該測試模式作 業。該方法可進一步包含接收進入掃描模式的命令;組構該組寄存器進入至少一個掃描 鏈;執行掃描作業;接收退出該掃描模式的命令;響應接收該退出該掃描模式的命令並且 在進入功能模式之前,經由測試控制邏輯電路重置該組寄存器的各個寄存器。該重置方法 可由該裝置內的功能重置控制器經由重置命令所提供。該方法可進一步包含重置觸發器, 並且亦可包含將已知的位組合模式(bit pattern)寫入至隨機存取內存(RAM)的所有位 置,以響應進入該測試模式作業,並且在起初阻擋RAM讀取命令之後,並且在之後寫入該已 知的位組合模式之後允許後續的RAM讀取命令另一種保障集成電路上信息安全的方法,包含進入測試模式作業;響應進入該 測試模式作業,判斷該集成電路在進入該測試模式作業之前是作業於功能模式作業中;以 及響應判斷該集成電路在進入該測試模式作業之前是作業於該功能模式作業中,當在該測 試模式作業中時,阻擋隨機存取內存(RAM)讀取命令。該方法亦可包含判斷該集成電路在 進入該測試模式作業之前是作業於該功能模式作業中,還包含響應進入該測試模式作業, 判斷一組寄存器含有經加密的數據,該組寄存器是自掃描鏈組構脫離。另一種保障集成電路上信息安全的方法,包含進入測試模式作業;接收只讀存 儲器(ROM)讀取命令;將來自多個ROM地址位置的數據寫入至加密邏輯電路,以響應接收 該ROM讀取命令;以及將該加密邏輯電路的加密邏輯電路輸出寫入至測試控制邏輯電路, 該加密邏輯電路輸出代表來自該多個ROM地址位置的數據。該方法可進一步包含將來自該 多個ROM地址位置的數據寫入至加密邏輯電路,還包含將來自該多個ROM地址位置的數據 寫入至多重輸入位移寄存器(MISR),以響應接收該ROM讀取命令;以及將MISR輸出寫入至 該測試控制邏輯電路,該MISR輸出代表來自該多個ROM地址位置的數據。另一種保障集成電路上信息安全的方法,包含進入測試模式作業;在進入該測 試模式作業之後,接收可編程只讀存儲器(PROM)讀取命令,該PROM讀取命令明確指出讀 取地址;判斷該讀取地址指向機密信息;以及提供有利的輸出型樣,以響應該PROM讀取命 令。該方法可進一步包含判斷該讀取地址指向機密信息,還包含讀取至少一個PROM地址 位置,其中,該PROM地址位置能夠確認機密信息是儲存在該PROM內何處,並且將該PROM地 址位置儲存在PROM保護寄存器中。
另一種保障集成電路上信息安全的方法,包含進入測試模式作業;響應進入該 測試模式作業並且在接收測試模式命令之前,重置一組寄存器的各個寄存器;響應進入該 測試模式作業,判斷該集成電路在進入該測試模式作業之前是作業於功能模式作業中;當 在該測試模式作業中時,阻擋隨機存取內存(RAM)讀取命令,以響應判斷該集成電路在進 入該測試模式作業之前是作業於該功能模式作業中;接收只讀存儲器(ROM)讀取命令;將 來自多個ROM地址位置的數據寫入至加密邏輯電路,以響應接收該ROM讀取命令;將該加密 邏輯電路的加密邏輯電路輸出寫入至測試控制邏輯電路,該加密邏輯電路輸出代表來自該 多個ROM地址位置的數據;在進入該測試模式作業之後,接收可編程只讀存儲器(PROM)讀 取命令,該PROM讀取命令明確指出讀取地址;判斷該讀取地址指向機密信息;以及提供有 利的輸出型樣,以響應該PROM讀取命令。本說明書中揭露一種集成電路,包含測試控制邏輯電路,是用以將該集成電路組 構進入測試模式並且當在該測試模式中時控制該集成電路;一組寄存器;以及功能重置控 制器,是連接至該測試控制邏輯電路以及該組寄存器,用以接收來自該測試控制邏輯電路 的重置命令並且將該重置命令提供至該組寄存器,以響應進入該測試模式的命令。該集成 電路測試控制邏輯電路可進一步用以接收進入掃描模式的命令;將該組寄存器組構進入 至少一個掃描鏈,以響應該進入該掃描模式的命令;在該至少一個掃描鏈上執行掃描作業; 接收退出該掃描模式的命令;以及響應接收該退出該掃描模式的命令並且在進入功能模式 之前,重置該組寄存器的各個寄存器。本說明書中所揭露的另一種集成電路,包含至少一個隨機存取內存(RAM);測試 控制邏輯電路,是連接至該至少一個RAM,該測試控制邏輯電路是用以將該集成電路組構 進入測試模式並且當在該測試模式中時控制該集成電路;響應進入該測試模式,判斷該集 成電路在進入該測試模式之前是作業在功能模式中;以及響應判斷該集成電路在進入該測 試模式之前是作業在該功能模式中,當在該測試模式中時,阻擋RAM讀取命令。該集成電 路可進一步包含一組寄存器,是連接至該測試控制邏輯電路,該組寄存器是自該測試模式 的掃描鏈組構脫離,且該測試控制器是進一步用以通過判斷該組寄存器含有經加密的數 據來判斷該集成電路在進入該測試模式之前是作業在該功能模式中,以響應進入該測試模 式。本說明書中所揭露的另一種集成電路,包含至少一個只讀存儲器(ROM);加密邏 輯電路;以及測試控制邏輯電路,是連接至該至少一個ROM以及該加密邏輯電路,該測試控 制邏輯電路是用以將該集成電路組構進入測試模式;接收ROM讀取命令;將來自多個ROM 地址位置的數據寫入至該加密邏輯電路,以響應接收該ROM讀取命令;以及將該加密邏輯 電路的加密邏輯電路輸出寫入至測試控制邏輯電路,該加密邏輯電路輸出代表來自該多個 ROM地址位置的數據。該集成電路加密邏輯電路可進一步包含至少一個多輸入位移寄存器 (MISR),是連接至該測試控制邏輯電路,且該測試控制邏輯電路可進一步用以將來自該多 個ROM地址位置的數據寫入至該至少一個MISR,以響應該ROM讀取命令,並且將MISR輸出 寫入至該測試控制邏輯電路,該MISR輸出代表來自該多個ROM地址位置的數據。本說明書中所揭露的另一種集成電路,包含至少一個可編程只讀存儲器 (PROM);測試控制邏輯電路,是連接至該至少一個PR0M,該測試控制邏輯電路是用以將該 集成電路組構進入測試模式並且當在該測試模式中時控制該集成電路在進入該測試模式
9之後,接收可編程只讀存儲器(PROM)讀取命令,該PROM讀取命令明確指出讀取地址;判斷 該讀取地址指向機密信息;以及提供有利的輸出型樣,以響應該PROM讀取命令。該集成電 路可進一步包含PR0M存取邏輯電路,是連接至該至少一個PROM ;PROM保護寄存器,是連接 至該至少一個PROM與該PROM存取邏輯電路;PROM保護寄存器控制器,是連接至該PROM保 護寄存器、該至少一個PR0M、以及該測試控制邏輯電路;且該測試控制邏輯電路可進一步 用以通過傳送控制信號至該PROM存取邏輯電路來判斷該讀取地址指向機密信息,該PROM 存取邏輯電路是用以讀取至少一個PROM地址位置,該PROM地址位置能夠確認機密信息是 儲存在該I3ROM內何處,並且將該PROM地址位置儲存於PROM保護寄存器中。本說明書中所揭露的另一種集成電路,包含測試控制邏輯電路,是用以將該集成 電路組構進入測試模式並且當在該測試模式中時控制該集成電路;一組寄存器;功能重置 控制器,是連接至該測試控制邏輯電路以及該組寄存器,用以接收來自該測試控制邏輯電 路的重置命令並且將該重置命令提供至該組寄存器,以響應進入該測試模式的命令;至少 一個隨機存取內存(RAM),是連接至該測試控制邏輯電路;至少一個只讀存儲器(ROM),是 連接至該測試控制邏輯電路;加密邏輯電路,是連接至該測試控制邏輯電路;以及至少一 個可編程只讀存儲器(PROM),是連接至該測試控制邏輯電路,其中,該測試控制邏輯電路是 進一步用以響應進入該測試模式,判斷該集成電路在進入該測試模式之前是作業在功能 模式中;響應判斷該集成電路在進入該測試模式之前是作業在該功能模式中,當在該測試 模式中時,阻擋MM讀取命令;接收ROM讀取命令;將來自多個ROM地址位置的數據寫入至 該加密邏輯電路,以響應接收該ROM讀取命令;接收該加密邏輯電路的加密邏輯電路輸出, 該加密邏輯電路輸出代表來自該多個ROM地址位置的數據;在進入該測試模式之後,接收 可編程只讀存儲器(PROM)讀取命令,該PROM讀取命令明確指出讀取地址;判斷該讀取地址 指向機密信息;以及提供有利的輸出型樣,以響應該PROM讀取命令。
第1圖是依據實施例的集成電路的方塊圖;第2圖是依據實施例在測試模式中且具有掃描鏈的集成電路的方塊圖;第3圖是用於保護寄存器數據的實施例的作業方法的流程圖;第4圖是依據實施例提供用於保護寄存器數據的方法的進一步細節的流程圖;第5圖是顯示保護遍及集成電路各個位置的數據並且用於第5圖的寄存器與RAM 的實施例的作業細節的流程圖;第6圖是顯示延續第5圖保護遍及集成電路各個位置的數據的實施例的作業細節 並且用於保護PROM的流程圖;第7圖是顯示延續第5圖保護遍及集成電路各個位置的數據的實施例的作業細節 並且用於保護RAM的流程圖;第8圖是顯示延續第5圖保護遍及集成電路各個位置的數據的實施例的作業細節 並且用於保護ROM的流程圖;第9圖是顯示用於保護RAM的替代實施例的作業細節的流程圖;第10圖是描繪用於保護RAM的實施例作業的流程圖;第11圖是描繪用於保護RAM的實施例的額外細節的流程圖;。
第12圖是依據實施例的集成電路I3ROM保護的方塊圖;第13圖是依據第12圖所示的實施例描繪作業方法的流程圖;第14圖是依據實施例的集成電路ROM保護的方塊圖;第15圖是依據第14圖所示的實施例描繪作業方法的流程圖;第16圖是描繪用於保護ROM的替代實施例的方法;以及第17圖是依據實施例顯示集成電路的作業方法的流程圖。
具體實施例方式現請參照該等附加圖式,其中類似的編號代表類似的零件,第1圖是依據實施例 的例示集成電路(IC) 100的方塊圖。該IC 100可併入電子裝置101中,該電子裝置101可 為任何適合的電子裝置(如經由天線103進行通訊的無線通訊裝置、PDA、平板計算機、桌上 型計算機等,但不限於此)。該集成電路100內部的電路系統可分類成兩個邏輯區塊功能 區塊104與測試區塊105。該功能性區塊104包含該IC 100正常作業所需的所有的電路系 統及/或零件,例如功能性方塊133至功能性方塊135、以及各種內存。該等功能性方塊 133至135可包含各種寄存器、觸發器、栓鎖、及/或該IC 100作業所需的邏輯間。該等內 存可包含隨機存取內存(Random Access Memories ;RAM)(如靜態RAM內存123)、只讀存儲 器(ROMs) 125、以及可編程 ROMs (PROMs) 127。功能重置控制器107是連接至多個功能性方塊133至135,且是用以透過邏輯結構 (如現有技術的重置樹109)將重置信號提供至該功能性區塊104內的所有功能性方塊。舉 例而言,該重置信號可用以抹除該等功能性方塊133至135的各個寄存器的內容,並且強制 各個寄存器的狀態為可由該IC 100設計者判斷的已知數值。該功能重置控制器將該重置 信號是施加至該重置樹109達足夠長的持續期間,以在開始作業之前重置所有的寄存器。該等功能性方塊133至135、以及所包含的任何對應的寄存器、觸發器、栓鎖等,皆 連接至對應的時鐘(未顯示),用於提供時序信號至該等功能性方塊。該等時鐘可進一步連 接至各個時鐘樹(clock tree) 136,該時鐘樹136是進一步連接至時鐘控制器137。該時鐘 控制器137是存在該功能性區塊104內,用以產生及/或將多個不同的時鐘信號路由至該 集成電路100的所有同步的零件,以確保適當的作業並且通過提供同步化信號而對連接至 該等時鐘樹136的所有時鐘信號進行同步。在一些實施例中,該時鐘控制器137與時鐘樹 136亦可作業在該測試區塊105中。該集成電路100包含寫入功能性輸入板119與讀取功能性輸出板121,分別用於接 收數據並且輸出數據。該等寫入功能性輸入板119與該等讀取功能性輸出板121可連接至 該電子裝置101的額外內部電路系統(未顯示),其中該內部電路系統可在該電子裝置101 的實體連接埠(實體connection port)提供輸入與輸出,使得該集成電路100可自外部 連接讀取數據或將數據寫入至外部連接。在一些實施例中,該集成電路100可經由該等寫 入功能性輸入板119與該等讀取功能性輸出板121直接連接至該電子裝置101的實體輸入 /輸出連接。該集成電路100中的測試區塊105在一些實施例中可能符合可測試性設計(DFT) 作業模式,各種其它零件是主動的,這些其它零件在正常的集成電路100作業期間可能無 法作業。舉例而言,該測試區塊105包含測試控制邏輯電路106,該測試控制邏輯電路106是用以將該集成電路100組構進入測試模式,並且當在該測試模式中時控制該集成電路100。 該測試控制邏輯電路106經由一個或多個控制線115控制該測試區塊105,該測試控制邏輯 電路106可在該等控制線115上傳送命令並接收來自該功能性區塊104的各個零件(如包 含各種寄存器、觸發器、栓鎖、邏輯閘等的功能性方塊133至135,但不限於此)的響應。該 測試控制邏輯電路106亦經由時鐘控制信號線139連接至該時鐘控制器137,並且用以傳送 命令(激活與停止各個時鐘)至該時鐘控制器137,造成該時鐘控制器137響應提供或抑制 同步化時鐘信號(synchronization clock signal)至所有連接至該時鐘樹136的時鐘。該測試控制邏輯電路106是連接至測試控制信號輸入與輸出埠 117,該測試控 制信號輸入與輸出埠 117對應該集成電路100的一個或多個接腳。該測試控制信號輸入 與輸出埠 117可為DFT輸入埠與輸出埠。該測試控制信號輸入與輸出埠 117可進一步 連接至該電子裝置101上對應的連接器(connector),以對測試功能性提供存取。然而,在 一些實施例中,必須直接存取該集成電路100本身或者該電子裝置101內部與該集成電路 100合併的電路板,以與該測試控制信號輸入與輸出埠 117介接。因此,在任何實施例中, 潛在威脅在於惡意使用者(malicious user)或黑客可能意圖通過存取該測試控制信號輸 入與輸出埠 117來存取該測試控制邏輯電路106。換言的,在一些情況下,黑客為了能夠 存取該集成電路100測試功能,可能必須局部地拆卸電子裝置101。本說明書中所揭露的各 種實施例阻礙了黑客對該測試控制邏輯電路106的任何類型存取(例如拆卸裝置或者透 過實體連接存取)。該測試控制邏輯電路106可包含一個或多個測試控制器(TC)(例如TC 108),並 且可進一步包含一個或多個內存測試控制器(MTC)(例如MTC 110)。在一些實施例中,該 一個或多個內存測試控制器(如MTC 110)可位於該功能性區塊104內部。該測試控制邏輯 電路具有多條控制線129,用於傳送命令至該等內存(包含RAM 123,ROM 125及PROM 127) 以及接收來自該等內存的數據。在一些實施例中,該MTCllO將利用該等控制線1 與該等 內存的其中一者或多者進行溝通,並且可傳送各種測試命令至該等內存並且自該等內存接 收測試輸出。應了解到第1圖與所有其它圖式所揭示的內容皆僅僅作為例示,是用於對熟習本 領域者描述並且說明如何製作與使用本說明書中所揭露的各種實施例。因此,本說明書中 所提供的第1圖與所有其它圖式是限定在所示用以輔助熟習本領域者了解如何製作與使 用各種實施例的必須組件、零件等,並非意圖完全示意與本說明書實施例合併的例如任何 IC或任何電子裝置。因此,熟習本領域者將了解到IC及/或電子裝置可包含該IC及/或 電子裝置作業所需的各種其它組件、零件等。再者,熟習本領域者將了解到與第1圖相關的 測試區塊105與功能性區塊104可能同樣包含第1圖及/或其它圖式未顯示的其它方塊、組 件、零件等,而熟習本領域者將了解到可存在用於使該IC適當作業所需的任何此類方塊。在該集成電路100的正常作業期間,該測試控制邏輯電路106、以及任何TCs與 MTCs (如TC 108與MTC 110)是非主動的(inactive)且並未乾擾該集成電路100功能性區 塊104的作業。然而,當使用者激活該集成電路100的測試模式並且因而激活該測試區塊 105時,該集成電路100(包含例如測試控制邏輯電路106、TC108、MTC 110、及任何其它的 TCs與MTCs)的測試功能是經激活。該測試作業模式可為例如該集成電路100的可測試性 設計(DFT)作業模式。當該集成電路100的此類測試功能經激活時,該集成電路100稱為
12在」測試模式」中。因此,當集成電路100在測試模式中時,該測試區塊105是主動的(active)。該等 實施例的測試控制邏輯電路106是經由測試重置命令線113連接至該功能重置控制器107。 該功能重置控制器107是用以經由測試重置命令線113接收測試重置命令(Test Reset Command),並且將該測試重置命令提供至稍後將說明的功能性方塊133至135的寄存器與 觸發器。當該集成電路100在該測試模式中時,使用者可經由該測試控制信號輸入與輸出 埠 117命令該測試控制邏輯電路106在該集成電路100的內部電路系統上執行各種測 試。舉例而言,該等關鍵DFT測試的其中一者是現有技術的」掃描測試(Scan Test ;ST) 」。 為了掌控掃描測試Gcan Test),該測試控制邏輯電路106將重新將該集成電路100內所有 的寄存器與其它邏輯電路組構進入一個或多個」掃描鏈(Scan Chains)」。在此種組構下, 該集成電路100稱為在」掃描模式(kan Mode) 」中。第2圖描繪當經組構於掃描模式中時並且具有一個或多個掃描鏈(如掃描鏈201) 的集成電路100。該等掃描鏈(如掃描鏈201)是由各種寄存器203及/或其它對應的邏輯 電路205所構成。該邏輯電路205可包含例如觸發器或其它邏輯組件。在一些實施例中, 該等MTC(如MTC 110)亦可被強制成為部分該掃描鏈組構。在掃描模式期間,測試數據是通過透過該功能性輸入板119將新數據移位並且透 過該功能性輸出板121讀出寄存器數據而傳遞進入該集成電路100。因此,本發明所預期 可能危及該集成電路100寄存器203所儲存的機密的攻擊方向可包含1)重置該集成電 路100並且作業在功能模式中,直到機密存在該集成電路100寄存器203、或其它邏輯電路 (如觸發器、栓鎖等)內為止;2)將該集成電路100切換至測試模式並且接著切換至掃描模 式;3)在進入測試模式之前讀取離去的位串流(stream of bits)以及含有該集成電路100 寄存器203的內容的功能性輸出板121 ;以及4)自該離去的位串流萃取寄存器203固有的 機密。本發明所預期可能危及該集成電路100寄存器203所儲存的機密的第二種攻擊方 向可包含1)重置該晶片並且作業在功能模式中,直到機密存在該集成電路100寄存器203 內為止;2)將該集成電路100切換至測試模式並且接著切換至掃描模式;3)透過該功能性 輸入板116引入寄存器組構,使得該等寄存器203的最終內容禁能該功能模式的安全特徵; 4)使該集成電路100回到功能模式中;以及5)利用經降低的安全狀態存取該集成電路100 寄存器203與內存(RAM 123, ROM 125、及PROM 127)內的機密。各個實施例皆使得這兩種通過在進入掃描模式之前重置所有寄存器的預期攻擊 方向無效,且在一些實施例中,亦可能在退出掃描模式之後,但是在進入功能模式之前。該 等實施例的測試控制邏輯電路106是負責該集成電路100進入與退出掃描模式。當該集成 電路100是處在測試模式中時,該測試控制邏輯電路106將等待外部命令(例如來自該測 試控制信號輸入與輸出埠 117)以進入掃描模式並且將該集成電路100組構進入掃描鏈 (如掃描鏈201)。此時,在將該集成電路100組構進入掃描鏈之前,該測試控制邏輯電路106將傳送 命令至該時鐘控制器137,以激活所有的時鐘同步化信號,並且接著將測試重置命令經由測 試重置命令線113傳送至該功能重置控制器107。該功能重置控制器107將於該重置樹109
13上傳送重置命令並且重置該集成電路100中所有寄存器以作為響應。此重置亦可包含重置 所有栓鎖、觸發器以及可儲存狀態數據的任何其它邏輯組件。在重置之後,該測試控制邏輯電路106繼續將該集成電路100置於掃描模式中,如 第2圖所示,以將該集成電路100設置進入一個或多個掃描鏈(如掃描鏈201)。該測試控 制邏輯電路106接著等待另一個外部命令,例如使集成電路100回到功能模式中的命令。 在一些實施例中,該測試控制邏輯電路106在集成電路100中執行另一個重置所有寄存器 203與其它邏輯電路205,避免存取任何機密數據。如第1圖所示,該測試控制邏輯電路106 可接著使該集成電路100回到功能模式中。第3圖描繪所上所述的作業方法。在步驟301中,該集成電路進入測試模式作業, 並且(作為響應)在步驟303中重置一組寄存器的各個寄存器(例如該掃描鏈中所有寄 存器)。如步驟303所示,該重置是在該集成電路接收任何測試模式命令之前執行。依據實 施例,該測試控制邏輯電路106經由測試重置命令線113提供該重置。如第3圖所示,可以各種不同的方式達成所有寄存器的重置。舉例而言,該集成電 路100中可包含新的重置樹(除了該重置樹109以外)。對於此實施例而言,額外的重置樹 將由該測試控制邏輯電路106所驅動。然而,此實施例需要在該集成電路中插入第二個重 置樹,且重置樹消耗大量的IC面積與功率。因此,在另一實施例中,該測試控制邏輯電路106可使用現存的重置樹109(自該 功能重置控制器107發出)來執行所有集成電路寄存器的重置。在此實施例中,測試重置 命令信號是自該測試控制邏輯電路106經由該測試重置命令線113發出至該功能重置控制 器107。當該測試控制邏輯電路106確立該測試重置命令時,該功能重置控制器107在該重 置樹109上發出重置至該IC內所有寄存器,以此清除該等寄存器的內容。因此,此實施例 排除了對於第二個重置樹的需求,因而降低了整體IC的面積與複雜度。第4圖依據第3圖所示的實施例描繪方法的進一步細節,其中,該功能重置控制 器107是用以發出該重置命令。在步驟303中該重置之後,在步驟401中,該測試控制邏輯 電路106可經由測試控制信號輸入與輸出埠 117接收進入掃描模式的命令。在步驟403 中,該測試控制邏輯電路106可接著繼續將寄存器組構進入一個或多個掃描鏈(如掃描鏈 201)。如步驟405所示,該測試控制邏輯電路106可繼續允許執行掃描作業。倘若該測試 控制邏輯電路106如步驟407所示般接收退出掃描模式的命令,則該測試控制邏輯電路106 可再次傳送測試重置命令至該功能重置控制器107,以造成該重置樹109上所有寄存器的 重置。因此,在由於一些測試作業或其它原因造成任何寄存器含有機密信息的情況下,上述 實施例提供了額外的安全性手段。第5圖依據一些實施例描繪進一步的作業細節。當該集成電路100如步驟501所 示進入測試模式時,該測試控制邏輯電路106可在時鐘控制信號線139上傳送時鐘控制信 號至該時鐘控制器137。該時鐘控制器137將利用該時鐘樹136激活所有時鐘同步化信號 至所有寄存器時鐘以作為響應。在時鐘同步化之後,該測試控制邏輯電路106可如步驟505 所示提供重置至該功能重置控制器107。該功能重置控制器107所提供的重置亦可提供重 置至該RAM 123 (如步驟507所示),以清除RAM內容。此動作可通過例如將已知的位組合 模式寫入至該RAM 123的所有內存位置而完成。倘若該測試控制邏輯電路106或MTC(如 MTC 110)能夠獨立自主地覆寫所有RAM 123的內存位置,則該測試控制邏輯電路106(或一些實施例中的TC 108)等待該MTC 110完成該RAM覆寫任務。然而,倘若該MTC 110—次 僅能夠寫入一個RAM 123內存位置,則接著該測試控制邏輯電路106的TC 108將發出寫入 命令串流(stream ofwrite commands),以強制該MTC 110覆寫各個RAM 123的內存位置。該測試控制邏輯電路106接著可等待外部的進入掃描模式的命令,如步驟509所 示。倘若如步驟511所示接收該掃描模式命令,該測試控制邏輯電路106將使該集成電路 100處於掃描模式,且在步驟513中將使該寄存器連接進入一個或多個掃描鏈(如第2圖所 示)。在步驟515中,該測試控制邏輯電路106可執行掃描作業。在一些實施例中,該掃描 作業可響應另一個命令或者可在測試模式組構的正常程序下完成。在步驟517中,該測試 控制邏輯電路106將等待退出掃描模式的命令,並且在步驟519中,將如先前所述在一些實 施例中再一次重置該等寄存器。該測試控制邏輯電路106接著可使得該集成電路100回到 功能模式,並且因此回到如第1圖所示的功能性區塊104。如步驟523所示,結束該等實施 例的寄存器保護方法。再者,一些實施例可異步地重置該等寄存器,也就是說,無須任何時鐘。又或者,該 時鐘控制器137接收到來自該測試控制邏輯電路106的時鐘控制信號(如先前所述)的情 況下,可同步地重置該等寄存器。在測試模式期間,第5圖所描繪的方法可與其它用於保障該集成電路100上數字 信息安全的額外方法串聯使用,而這些方法是顯示在第6、7、8、及9圖。現在將說明這些用 於保障該集成電路100的其它部分上數字信息安全的額外方法。在測試模式中,外部使用者可通過傳送適當命令至該測試控制邏輯電路106開始 測試該集成電路100,或者更具體地在一些實施例中,經由一個或多個測試控制器(如TC 108)傳送命令至一個或多個內存測試控制器(如MTC 110)。一些MTC命令可能例如造成 該使用者在該讀取功能性輸出板121上讀出RAM123的內容。因此,惡意使用者可利用例如 以下RAM測試攻擊算法來讀取RAM 123中所儲存的機密1)重置該集成電路100並且作業 在功能模式中,直到機密存在該集成電路100內存123內;幻將該集成電路100切換至測 試模式;3)發出命令至一個或多個MTC(如MTC 110),以讀出RAM 123的內容;4)自該RAM 123的內容萃取RAM 123固有的機密。為了克服此類以RAM為基礎的攻擊,該等實施例在允許外部使用者存取該RAM的 任何內容之前清除該IC中所有RAM(例如集成電路100中的RAM 123)的所有內容。現在 將說明各種用於保護該RAM的實施例。第一實施例是顯示在第5圖的方塊507中,其中,進入測試模式之後,該測試控制 邏輯電路106可清除所有內存。然而,清除整體RAM耗費時間且可能因此增加該集成電路 100的測試成本。因此,第7圖所示的第二實施例無須完全清除該RAM,而僅有當該測試控 制邏輯電路106接收到有關讀取內部RAM(如RAM 123)的命令時才清除該RAM。因此,在第7圖的步驟703中,可接收來自外部使用者的命令,用於存取RAM或經 由MTC (如MTC 110)存取RAM。在接收該RAM存取命令之前,該測試控制邏輯電路106或 TC 108可能已經正常地處理所有與RAM無關的測試命令。然而,在接收到來自該外部使用 者的第一個與RAM有關的命令之後,該測試控制邏輯電路106發出內部命令至各個MTC (如 MTC 110),以覆寫具有已知型樣的所有RAM 123內存位置。倘若該測試控制邏輯電路106 或MTC 110能夠獨立自主地覆寫所有RAM 123內存位置,則該測試控制邏輯電路106接著
15等待該MTC 110完成其任務。因此,在步驟707中,倘若該RAM 123內存位置已經過覆寫, 則可正常地處理任何後續的命令,如步驟711所示。然而,倘若在步驟707中該MTC 110 — 次僅能夠覆寫一個RAM 123內存位置,則在步驟709中該測試控制邏輯電路106將發出寫 入命令串流,以強制該MTC 110覆寫各個RAM 123內存位置。在步驟711中,該測試控制邏 輯電路106可接著繼續處理第一個與RAM有關的測試命令。後續與RAM有關的測試命令是 經處理而無須再次清除該RAM 123。到目前為止,本說明書中所描述的實施例可在不考慮該集成電路100的先前狀態 的情況下被執行。然而,在一些實施例中,在該IC產品測試期間,當該IC含有非動態產生 的機密時,可省略該等方法的其中一些,以縮減測試時間並因此降低該IC的成本。因此,用 於保護RAM的第三實施例是描繪在第2圖與第9圖,其中在IC產品測試期間,可省略該等 RAM保護方法。再者,在一些實施例中,可自IC產品測試省略該寄存器保護方法。第2圖顯示安全獲得保障且機密的位移寄存器(Signature Register) 217群 組,雖然該位移寄存器217在一些實施例中是可重置的,但其未包含於任何掃描鏈中,因 而無法被掃描。該安全獲得保障的位移寄存器217群組是插入在該集成電路100的功能 性區塊104中。這些位移寄存器217可由該功能性區塊電路系統(Functional Domain Circuitry) 211通過例如寫入輸入線(write input line) 213進行寫入,並且可由該測試控 制邏輯電路106通過例如該讀取線(read line) 215進行讀取。。第9圖描繪一種具有位移寄存器217的實施例的作業方法。在該集成電路100 經通電時,該位移寄存器217的數值是隨機的且未知的。當該集成電路100如步驟901中 作業在功能模式中時,該集成電路100的功能性區塊電路系統211(如步驟903所示)在 產生任何機密信息或自外界接收機密信息之前可將經預先判斷的識別密碼(Signature Password)寫入該位移寄存器217中。每當在步驟905中致能測試模式時,該測試控制邏輯電路106檢查該位移寄存器 217的數值,如步驟907所示。倘若該位移寄存器217在步驟909中含有經預先判斷的識別 密碼,則接著假設該RAM 123在步驟913中由在該功能模式作業而具有機密信息。該測試 控制邏輯電路106在步驟915中將因而拒絕接受外部測試命令與所有將被禁能的測試作業 (例如DFT作業)。然而,倘若在步驟909中不存在有該識別密碼,則該測試控制邏輯電路 106可允許如步驟911所示的正常RAM123存取。為了重新激活有關RAM的測試控制邏輯電路106功能,必須移除並且接著重新施 加該集成電路100的電源。這種移除並還原供應至集成電路100的電源的程序將強制所有 寄存器與RAM的內容回到隨機且未知的狀態。維持該經預先判斷的識別密碼的位移寄存器 217的數量必須夠高,以確保該寄存器經通電的數值等同該經預先判斷的識別密碼的可能 性非常低。雖然該實施例只是描述採用該位移寄存器217,但是依據實施例可使用經加密數 據的任何適當形式。第10圖描繪一種依據實施例的方法,其中,該IC在步驟1001中進入測 試模式,並且在步驟1003中響應判斷該IC在進入測試模式之前是作業在功能模式中。在 步驟1005中,由於該測試控制邏輯電路106基於步驟1003中的判斷假設該RAM將具有機 密信息,故在測試模式中阻擋讀取命令存取RAM。在第11圖中,在在步驟1101中進入測試 模式之後,在步驟1103中判斷一組寄存器含有經加密數據,其中,該組寄存器是自任何掃描鏈脫離。在步驟1105中,由於該測試控制邏輯電路106基於步驟1003中的判斷假設該 RAM將具有機密信息,故在測試模式中阻擋讀取命令存取RAM。在一些實施例中,可通過比 較該寄存器內容與事先已知的經加密數據可作出該寄存器含有經加密數據的判斷,並且判 斷該寄存器內容與事先已知的經加密數據相符。現在將說明用於保護PROM的實施例。晶片上可編程只讀存儲器(PROM)(如保險 絲)是用以儲存各種金鑰與機密IC確認信息。一般而言,PROM可透過外部IC板(如寫入 功能性輸入板119與讀取功能性輸入板121)以及經由多任務器(mux) 131進行存取,使得 該PROM可於製造時被編程。然而,一旦完成此編程步驟,該PROM的內容必須無法被惡意使用者所讀取。在測 試模式(如DFT模式)期間,必須不危及PROM的存取。如第1圖所示,PROM直接連接至外 部板(功能性輸入板119、121),倘若攻擊者能夠在測試模式(如DFT模式)期間操控該功 能性輸入板119的輸入數值,則該I3ROM對於該攻擊者而言是存在弱點的。第12圖描繪用在集成電路100測試模式期間保護PROM 127內容的PROM保 護邏輯電路223的實施例。PROM是以異步方式進行讀取,其中,該位置地址(location Address) 1211與控制信號1209(讀取致能(read enable)與內存致能)是提供至該PROM 127。該PROM 127通過輸出該讀取數據信號線(Read Data signal line) 1215上的位置地 址的內容作為響應。在如上所述經該測試控制邏輯電路106開始重置的期間,該輸入位置 地址1211與控制信號1209的數值是設計成用以讀取該PROM 127中特定位置(例如位置 地址0)。倘若有的話,該位置的內容明確指出用在該PROM 127的不同區域的讀取-存取規 則(read-access rule)。在重置期間,這些讀取-存取保護規則是儲存在該PROM保護寄 存器1203中。一旦移除重置,該PROM保護寄存器1203的內容即無法被更改。在測試模式 期間,在將該讀取作業傳遞至該PROM 127之前,所有經使用者請求的讀取作業是經該PROM 存取邏輯電路1201評估。倘若該PROM保護寄存器1203中所儲存的數值指示用在讀取存 取(Read Access)的使用者請求是對準經保護的位置,則該PROM存取邏輯電路1201攔截 該請求並且防止其傳遞至該PROM 127。第13圖描繪作業方法,其中,該集成電路100在步驟1301中進入測試模式。在步 驟1303中,在測試模式之後接收PROM讀取命令,其中,該PROM讀取命令指定PROM位置地 址。在步驟1305中,判斷該PROM讀取命令所指定的地址位置(address location)指向機 密信息。接著可提供有利的輸出(亦即,」垃圾數據(garbage data)」)以響應該PROM讀 取命令,如步驟1307所示。第6圖亦顯示可與第5圖所示方法並行操作的方法。因此,在步驟501中在進入 測試模式之後,該測試控制邏輯電路106發出重置命令,經由重置1207將該PROM存取邏輯 電路1201重置。如步驟605所示,該PROM存取邏輯電路1201讀取PROM 127的地址(例 如位置地址0或其它任何含有不可讀取與機密的地址識別的地址)以響應該重置。在步 驟607中,該PROM存取邏輯電路1201儲存該PROM保護寄存器1203中的位置地址(如位 置地址0等)內容。該方法在步驟609停止。現在將說明用在保護ROM的實施例。在該IC製程期間,ROM及PROM的內容是固 定的。必須保護此內容免於惡意使用者,同時提供機制以測試該ROM內容的有效性。傳統 上,是利用內存測試控制器(MTC)(如MTC 110)測試R0M,該內存測試控制器能夠允許攻擊者在測試模式期間經由該測試控制邏輯電路106再次對該PROM的內容進行存取。本實施例通過禁能所有對個別ROM列(ROM row)的讀取作業來防止以MTC為基礎 的讀取攻擊。然而,為了確保該ROM仍然是可測試的,本實施例包含內嵌在該只讀存儲器 MTC 110中的特殊讀取功能。此功能允許該MTC 110在內部讀取大量的列(row),並且利用 加密邏輯電路(以及在一些實施例中是利用多重輸入移位寄存器(MISR))計算用在這些列 的內容的經加密數值或識別密碼(signature)。所產生的加密數據或識別密碼可與無缺陷 的ROM的期望數值進行比較,以確保測試中的ROM不具有缺陷,而無須對外部使用者顯露該 ROM內容。參照第14圖,該測試控制邏輯電路105可經由MTC 110發出讀取命令401至ROM 125。該ROM將把其數據列(rows of data) 1403寫入至加密邏輯電路225作為響應。該加 密邏輯電路225將輸出1405寫入至該測試控制邏輯電路106或MTC 110作為響應。第15 圖描繪依據第14圖所示的ROM保護的實施例的方法。在步驟1501中,該集成電路100進 入測試模式。在步驟1503中,接收可能來自該MTC 110的ROM讀取命令1401。在1505中, 該ROM 125將其數據列(rows of data) 1403寫入至加密邏輯電路225,以響應該讀取命令 1401。該加密邏輯電路225在步驟1507中將加密輸出寫入至該測試控制邏輯電路106或 MTC 110,其中,該加密輸出代表該ROM內容。該加密輸出可經由測試控制輸入與輸出埠117 提供至外界。第16圖描繪替代實施例,其中,MISR是用以提供代表如步驟1605與1607中所示 的ROM內容的輸出。第8圖描繪與第5圖、第6圖及第7圖的方法平行使用與結合使用的 方法。第17圖描繪合併本說明書中所揭露的所有各種實施例並且保護本說明書中已揭 露的所有寄存器、栓鎖、ROM、RAM及PROM的實施例的例示方法。
權利要求
1.一種保障集成電路上信息安全的方法,該方法包括 進入測試模式作業;以及響應進入該測試模式作業並且在接收測試模式命令之前,重置一組寄存器的各個寄存器。
2.如權利要求1所述的方法,還包括 接收進入掃描模式的命令;組構該組寄存器進入至少一個掃描鏈; 執行掃描作業;接收退出該掃描模式的命令;以及響應接收該退出該掃描模式的命令並且在進入功能模式之前,經由測試控制邏輯電路 重置該組寄存器的各個寄存器。
3.如權利要求1所述的方法,其中,重置由功能重置控制器經由重置命令所提供。
4.如權利要求1所述的方法,其中,重置一組寄存器的各個寄存器還包括 重置一組觸發器的各個觸發器。
5.如權利要求1所述的方法,還包括將已知的位組合模式寫入至隨機存取內存(RAM)的所有位置,以響應進入該測試模式 作業;以及允許後續的RAM讀取命令。
6.如權利要求1所述的方法,還包括在進入該測試模式作業之後並且在該重置之前,傳送時鐘控制信號至時鐘控制器,以 同步該組寄存器的寄存器時鐘。
7.一種保障集成電路上信息安全的方法,該方法包括 進入測試模式作業;響應進入該測試模式作業,判斷該集成電路在進入該測試模式作業之前是作業於功能 模式作業中;以及響應判斷該集成電路在進入該測試模式作業之前是作業於該功能模式作業中,當在該 測試模式作業中時,阻擋隨機存取內存(RAM)讀取命令。
8.如權利要求7所述的方法,其中,判斷該集成電路在進入該測試模式作業之前是作 業於該功能模式作業中還包括響應進入該測試模式作業,判斷一組寄存器含有事先已知的數據,該組寄存器自掃描 鏈組構脫離。
9.如權利要求8所述的方法,其中,判斷該組寄存器含有該事先已知的數據還包括 將該組寄存器的內容與經儲存的數據進行比較;判斷該內容與該經儲存的數據相符;響應該相符,判斷該集成電路在進入該測試模式作業之前正作業於該功能模式作業 中,且由於RAM正作業於該功能模式作業中,因此該RAM將含有機密信息;以及 阻擋來自該集成電路的測試使用者接口的該RAM讀取命令。
10.如權利要求9所述的方法,其中,該經加密的數據是當該集成電路在該功能模式作 業中時通過執行於該RAM所含有的數據上的散列作業所得到,該經加密的數據代表該RAM所含有的該數據。
11.如權利要求8所述的方法,其中,判斷該組寄存器含有事先已知的數據還包括 將該組寄存器的內容與經儲存的數據進行比較;判斷該內容與該經儲存的數據相符;響應該相符,判斷該集成電路在進入該測試模式作業之前正作業於該功能模式作業 中,且由於RAM正作業於該功能模式作業中,因此該RAM將含有機密信息;在該阻擋RAM讀取命令之後,將已知的位組合模式寫入至該RAM的所有位置,以響應判 斷該RAM正作業於該功能模式作業中;以及 允許後續的RAM讀取命令。
12.—種保障集成電路上信息安全的方法,該方法包括 進入測試模式作業;將已知的位組合模式寫入至隨機存取內存(RAM)的所有位置,以響應進入該測試模式 作業;以及允許後續的RAM讀取命令。
13.一種保障集成電路上信息安全的方法,該方法包括 進入測試模式作業;響應進入該測試模式作業並且在接收測試模式命令之前,重置一組寄存器的各個寄存器;響應進入該測試模式作業,判斷該集成電路在進入該測試模式作業之前是作業於功能 模式作業中;響應判斷該集成電路在進入該測試模式作業之前是作業於該功能模式作業中,當在該 測試模式作業中時,阻擋隨機存取內存(RAM)讀取命令;將已知的位組合模式寫入至該RAM的所有位置,以響應判斷該RAM正作業於該功能模 式中;允許後續的RAM讀取命令; 接收只讀存儲器(ROM)讀取命令;將來自多個ROM地址位置的數據寫入至加密邏輯電路,以響應接收該ROM讀取命令; 將該加密邏輯電路的加密邏輯電路輸出寫入至測試控制邏輯電路,該加密邏輯電路輸 出代表來自該多個ROM地址位置的該數據;在進入該測試模式作業之後,接收可編程只讀存儲器(PROM)讀取命令,該PROM讀取命 令明確指出讀取地址;判斷該讀取地址指向機密信息;以及提供有利的輸出組合模式,以響應該PROM讀取命令。
14.如權利要求13所述的方法,還包括 退出掃描模式作業;以及重置一組寄存器的各個寄存器,以響應退出該掃描模式作業。
15.一種集成電路,包括測試控制邏輯電路,用以將該集成電路組構進入測試模式並且當在該測試模式中時控 制該集成電路;一組寄存器;以及功能重置控制器,連接至該測試控制邏輯電路以及該組寄存器,用以接收來自該測試 控制邏輯電路的重置命令並且將該重置命令提供至該組寄存器,以響應進入該測試模式的 命令。
16.如權利要求15所述的集成電路,其中,該測試控制邏輯電路進一步用以 接收進入掃描模式的命令;將該組寄存器組構進入至少一個掃描鏈,以響應該進入該掃描模式的命令; 於該至少一個掃描鏈上執行掃描作業; 接收退出該掃描模式的命令;以及響應接收該退出該掃描模式的命令並且在進入功能模式之前,重置該組寄存器的各個 寄存器。
17.如權利要求15所述的集成電路,還包括一組觸發器,連接至該測試控制邏輯電路以及該功能重置控制器,並且用以接收來自 該測試控制邏輯電路的該重置命令。
18.如權利要求15所述的集成電路,還包括 多個時鐘,連接至該組寄存器;以及時鐘控制器,連接至該多個時鐘並且連接至該測試控制邏輯電路,該時鐘控制器用以 接收來自該測試控制邏輯電路的時鐘重置信號,並且將同步信號提供至該多個時鐘,以響 應接收該時鐘重置信號。
19.如權利要求15所述的集成電路,還包括至少一個隨機存取內存(RAM),連至該測試控制邏輯電路;其中,該測試控制邏輯電路進一步用以響應進入該測試模式並且在接收該進入該掃描 模式的命令之前,將已知的位組合模式寫入至該至少一個MM的所有位置。
20.如權利要求15所述的集成電路,還包括測試輸入埠,連接至該測試控制邏輯電路,以接收該進入該測試模式的命令; 測試輸出埠,連接至該測試控制邏輯電路,用於接收來自該組寄存器的輸出數據;以及其中,該測試控制邏輯電路經由測試命令重置信號線連接至該功能重置控制器,使得 該功能重置控制器接收該重置命令;以及其中,該功能重置控制器經由重置樹連接至該組 寄存器,該重置樹將該重置命令提供至該組寄存器。
21.一種集成電路,包括至少一個隨機存取內存(RAM);測試控制邏輯電路,連接至該至少一個RAM,該測試控制邏輯電路用以將該集成電路組構進入測試模式並且當在該測試模式中時控制該集成電路;響應進入該測試模式,判斷該集成電路在進入該測試模式之前是作業於功能模式中;以及響應判斷該集成電路在進入該測試模式之前是作業於該功能模式中,當在該測試模式 中時,阻擋RAM讀取命令。
22.如權利要求21所述的集成電路,還包括一組寄存器,連接至該測試控制邏輯電路,該組寄存器自該測試模式的掃描鏈組構脫 離;以及其中,該測試控制器進一步用以通過判斷該組寄存器含有事先已知的數據來判斷該集成電路在進入該測試模式之前 是作業於該功能模式中,以響應進入該測試模式。
23.如權利要求22所述的集成電路,其中,該測試控制器進一步用以 判斷該組寄存器含有該事先已知的數據,通過將該組寄存器的內容與經儲存的數據進行比較; 判斷該內容與該經儲存的數據相符;響應該相符,判斷該集成電路在進入該測試模式之前是正作業於該功能模式中,且由 於RAM正作業於該功能模式中,因此該RAM將含有機密信息;以及 阻擋來自該集成電路的測試使用者接口的該RAM讀取命令。
24.如權利要求22所述的集成電路,還包括測試輸入埠,連接至該測試控制邏輯電路,以接收該RAM讀取命令; 測試輸出埠,連接至該測試控制邏輯電路,用於接收來自該RAM的輸出數據;以及 其中,該測試控制邏輯電路還包括連接至該MM的至少一個內存測試控制邏輯電路, 該內存測試控制邏輯電路用以響應判斷該集成電路在進入該測試模式之前是作業於該功 能模式中,當在該測試模式中時,阻擋該RAM讀取命令。
25.如權利要求M所述的集成電路,其中,該集成電路為RAM集成電路。
26.一種集成電路,包括測試控制邏輯電路,用以將該集成電路組構進入測試模式並且當在該測試模式中時控 制該集成電路;一組寄存器;功能重置控制器,連接至該測試控制邏輯電路以及該組寄存器,用以接收來自該測試 控制邏輯電路的重置命令並且將該重置命令提供至該組寄存器,以響應進入該測試模式的 命令;至少一個隨機存取內存(RAM),連接至該測試控制邏輯電路; 至少一個只讀存儲器(ROM),連接至該測試控制邏輯電路; 加密邏輯電路,連接至該測試控制邏輯電路;以及 至少一個可編程只讀存儲器(PROM),連接至該測試控制邏輯電路; 其中,該測試控制邏輯電路進一步用以響應進入該測試模式,判斷該集成電路在進入該測試模式之前是作業於功能模式中; 響應判斷該集成電路在進入該測試模式之前是作業於該功能模式中,當在該測試模式 中時,阻擋RAM讀取命令; 接收ROM讀取命令;將來自多個ROM地址位置的數據寫入至該加密邏輯電路,以響應接收該ROM讀取命令;接收該加密邏輯電路的加密邏輯電路輸出,該加密邏輯電路輸出代表來自該多個ROM 地址位置的該數據;在進入該測試模式之後,接收可編程只讀存儲器(PROM)讀取命令,該PROM讀取命令明 確指出讀取地址;判斷該讀取地址指向機密信息;以及提供有利的輸出組合模式,以響應該PROM讀取命令。
全文摘要
本發明的實施例保護集成電路免於可測試性設計(DFT)或其它測試模式所造成的衝擊。無論儲存在寄存器或者栓鎖、RAM中的暫時性機密、及/或儲存在ROM及/或PROM中的永久機密皆可獲得保障。用於保障集成電路上信息安全的一個實施例包含進入測試模式,並且在接收測試模式命令之前重置各個寄存器,以響應進入該測試模式作業。集成電路實施例包含測試控制邏輯電路,是用以將該集成電路設置進入測試模式並且當在該測試模式中時控制該集成電路;一組寄存器;以及功能重置控制器,用以連接至該測試控制邏輯電路以及該組寄存器,用以接收來自該測試控制邏輯電路的重置命令並且將該重置命令提供至該組寄存器,以響應進入該測試模式的命令。
文檔編號G01R31/3185GK102066963SQ200980120418
公開日2011年5月18日 申請日期2009年6月3日 優先權日2008年6月4日
發明者B·杜, D·福利, S·M·加德爾拉波, Z·S·賽義德 申請人:Ati技術無限責任公司