TWI682400B - 半導體裝置與資料保護方法 - Google Patents
半導體裝置與資料保護方法 Download PDFInfo
- Publication number
- TWI682400B TWI682400B TW108106977A TW108106977A TWI682400B TW I682400 B TWI682400 B TW I682400B TW 108106977 A TW108106977 A TW 108106977A TW 108106977 A TW108106977 A TW 108106977A TW I682400 B TWI682400 B TW I682400B
- Authority
- TW
- Taiwan
- Prior art keywords
- processing unit
- access
- address
- access request
- verification logic
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1458—Protection against unauthorised use of memory or access to memory by checking the subject access rights
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1416—Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
- G06F12/1425—Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
Abstract
一種半導體裝置,包括一處理單元、一系統資源群組以及一除錯驗證邏輯單元。系統資源群組包括複數系統資源。系統資源包括一既定記憶體,既定記憶體儲存複數程式碼,並且既定記憶體被定義為僅能執行的記憶體。除錯驗證邏輯單元耦接至一外部除錯器,用以控制外部除錯器存取系統資源的一權限。除錯驗證邏輯單元自外部除錯器接收請求存取一系統資源之一存取請求。存取請求包括一存取位址。除錯驗證邏輯單元根據該處理單元目前之一操作狀態與存取位址判斷是否允許存取請求。當除錯驗證邏輯單元判斷不允許存取請求時,除錯驗證邏輯單元忽略存取請求,或者回覆一錯誤訊息或回覆一既定資料給外部除錯器。
Description
本發明係關於一種半導體裝置,特別是包含一種可可有效保護XOM區域所儲存的資料內容之半導體裝置。
僅能執行的記憶體(eXecute-Only-Memory,縮寫為XOM) 是一種韌體保護技術,藉由定義僅能執行的記憶體區域,以保護關鍵程式碼。透過XOM的保護,程式記憶體空間的一部分僅支援程式執行,任何裝置都無法讀回記憶體的內容。
第1圖係顯示一記憶體空間範例。如圖所示,記憶體空間100配置了一個XOM區域。正常記憶體區域所儲存的程式碼可透過呼叫程式(function call)的方式呼叫XOM區域所儲存的程式,但無法讀取其程式碼,也無法看到XOM區域所儲存的資料內容。換言之, XOM區域僅允許取指令(instruction fetch),不允許其他資料的讀取及寫入等存取行為。
對於連接一外部除錯器的裝置而言,雖XOM區域可防止外部除錯器與此裝置之處理單元對其直接進行資料讀取,但不能防止攻擊者使用外部除錯器控制處理單元進入除錯狀態,並以單步 (single step) 執行的方式,讀取指令,觀察其變化。
為了解決上述問題,本發明提出一種半導體裝置,其可有效保護XOM區域所儲存的資料內容,並且在阻止外部除錯器藉由任何方式讀取指令的同時,亦能維持半導體裝置與外部除錯器之間的連結,因而不會導致外部除錯器誤認為連結中斷而造成除錯失敗或其他不良影響。
根據本發明之一實施例,一種半導體裝置,包括一處理單元、一系統資源群組以及一除錯驗證邏輯單元。系統資源群組包括複數系統資源。系統資源包括一既定記憶體,既定記憶體儲存複數程式碼,並且既定記憶體被定義為僅能執行的記憶體。除錯驗證邏輯單元耦接至一外部除錯器,用以控制外部除錯器存取系統資源的一權限。除錯驗證邏輯單元自外部除錯器接收請求存取一系統資源之一存取請求。存取請求包括一存取位址。除錯驗證邏輯單元根據該處理單元目前之一操作狀態與存取位址判斷是否允許存取請求。當除錯驗證邏輯單元判斷不允許存取請求時,除錯驗證邏輯單元忽略存取請求,或者回覆一錯誤訊息或回覆一既定資料給外部除錯器。
根據本發明之另一實施例,一種資料保護方法,適用於一半導體裝置,半導體裝置包括一處理單元、一除錯驗證邏輯單元以及一系統資源群組,系統資源群組包括複數系統資源,系統資源包括被設定為僅能執行的記憶體之一既定記憶體,既定記憶體儲存複數程式碼,除錯驗證邏輯單元用以控制外部除錯器存取等系統資源的權限,該方法包括:自外部除錯器接收請求存取一系統資源之一存取請求,其中存取請求包括一存取位址;根據處理單元目前之一操作狀態與存取位址判斷是否允許存取請求;以及當判斷不允許存取請求時,忽略存取請求,或者回覆一錯誤訊息或回覆一既定資料給外部除錯器。
為讓本發明之目的、特徵和優點能更明顯易懂,下文特舉出本發明之具體實施例,並配合所附圖式,作詳細說明如下。目的在於說明本發明之精神而非用以限定本發明之保護範圍,應理解下列實施例可經由軟體、硬體、韌體、或上述任意組合來實現。
如上述,雖XOM區域可防止外部除錯器與處理單元對其進行資料讀取,但不能防止攻擊者使用外部除錯器控制處理單元進入除錯狀態,並以單步 (single step) 執行的方式,讀取指令,觀察其變化。傳統的一種解決方法為控制處理單元進入除錯模式的權限。當偵測到處理單元正在執行XOM所儲存的程式碼時,便不允許處理單元進入除錯模式。如此一來,處理單元在執行XOM所儲存的程式碼時,無法執行除錯操作。然而,實現此方法之結果將造成外部除錯器完全無法於處理單元執行XOM所儲存的程式碼時存取系統資源,導致外部除錯器誤認為裝置與外部除錯器之間的連結中斷,進而造成除錯失敗或其他不良影響。本發明所提出之半導體裝置架構及資料保護方法可有效解決上述問題。以下將藉由數個實施例詳細介紹本發明所提出之半導體裝置架構及資料保護方法。
第2圖係顯示根據本發明之第一實施例所述之一半導體裝置之範例方塊圖。根據本發明之一實施例,半導體裝置200為一晶片,例如,一微處理器晶片。半導體裝置200可包括一除錯存取埠(Debug Access Port,縮寫為DAP)210、一除錯驗證邏輯單元220、一處理單元230、一系統資源群組240以及一系統匯流排250。一外部除錯器50可耦接至半導體裝置200。除錯存取埠210提供做為外部除錯器50與半導體裝置200之內部裝置元件連接的介面。外部除錯器50透過序列除錯(Serial Wire Debug,縮寫為 SWD)或聯合測試工作群組(Joint Test Action Group,縮寫為 JTAG)等通訊協議與除錯存取埠210溝通。
除錯存取埠210透過除錯匯流排DBG_Bus耦接至除錯驗證邏輯單元220。除錯匯流排DBG_Bus可為高級高效能匯流排(Advanced High performance Bus,縮寫為 AHB)。根據本發明之實施例,除錯驗證邏輯單元220用以控制外部除錯器50存取半導體裝置200之系統資源的權限。
根據本發明之第一實施例,除錯驗證邏輯單元220透過除錯匯流排DBG_Bus耦接至處理單元230。處理單元230用以控制半導體裝置200之運作。系統資源群組240可包括複數系統資源,所述之系統資源可以是,例如,記憶體裝置、控制暫存器等。如圖所示,系統資源群組240可包括控制暫存器241與242,以及一被定義為僅能執行的記憶體(XOM)243(既定記憶體)。控制暫存器241與242可用以暫存系統參數或資料。XOM 243用以儲存複數程式碼。
值得注意的是,為簡潔說明,第2圖僅顯示出與本發明相關之元件。孰悉此技藝者均可理解,半導體裝置亦可包含一或多個未示於第2圖之內部元件,因此,本發明並不限於第2圖所示之半導體裝置結構。
根據本發明之一實施例,除錯驗證邏輯單元220可自外部除錯器50接收請求存取一系統資源之一存取請求,存取請求包括一存取位址。於接收到存取請求時,除錯驗證邏輯單元220會根據處理單元230目前之一操作狀態與存取請求所帶之存取位址判斷是否允許該存取請求。
根據本發明之一實施例,系統資源群組240所包含之各個系統資源都有其對應的位址,使得半導體裝置之各元件可根據對應之位址存取所需的系統資源。除錯驗證邏輯單元220可自處理單元230或系統資源群組240內之一記憶體控制器(圖未示)取得XOM 243的區域位址XOM_Region_Info。舉例而言,於處理單元230執行初始化程序,以初始化半導體裝置200之各元件時,可為系統資源群組240的各個系統資源設定對應的位址,並且於設定後將被設定或被定義為僅能執行的記憶體之區域的位址提供給除錯驗證邏輯單元220。舉另一例而言,系統資源群組240可包含一記憶體(例如,一快閃記憶體)與對應之一記憶體控制器。記憶體控制器可依系統需求設定或定義記憶體之一特定區域為僅能執行的記憶體,並且於設定後將被設定或被定義之區域的位址提供給除錯驗證邏輯單元220。
此外,根據本發明之一實施例,除錯驗證邏輯單元220可自一監測邏輯260取得處理單元230目前進行指令存取的位址資訊Fetching_Addr。監測邏輯260可被設置為耦接至系統匯流排250或耦接至處理單元230與系統匯流排250之間的實體介面,用以監測處理單元230所發出的存取指令,以取得處理單元230目前進行指令存取的位址資訊Fetching_Addr,並將此資訊提供給除錯驗證邏輯單元220。
此外,根據本發明之一實施例,處理單元230亦可將處理單元230目前之一狀態資訊State_Info提供給除錯驗證邏輯單元220。舉例而言,處理單元230可告知除錯驗證邏輯單元220目前是否操作於一除錯狀態。
於本發明之一實施例中,處理單元230可根據XOM 243的區域位址XOM_Region_Info、處理單元230目前進行指令存取的位址資訊Fetching_Addr及/或處理單元230目前之一狀態資訊State_Info判斷處理單元240目前之一操作狀態(例如,是否正在執行XOM 243所儲存之程式碼、目前是否操作於一除錯狀態等)。
第3圖係顯示根據本發明之一實施例所述之用以保護半導體裝置之XOM所儲存之資料的資料保護方法流程圖。資料保護方法之程序起始於除錯驗證邏輯單元220自外部除錯器50接收到請求存取一系統資源之一存取請求。首先,除錯驗證邏輯單元220根據處理單元230目前之一操作狀態判斷處理單元230是否正在執行XOM所儲存之程式碼(步驟S302)。舉例而言,除錯驗證邏輯單元220可根據所得之XOM 243的區域位址XOM_Region_Info及處理單元230目前進行指令存取的位址資訊Fetching_Addr判斷處理單元230是否正在執行XOM 243所儲存之程式碼。
若否,則表示目前XOM 243所儲存之程式碼並沒有被存取的風險,除錯驗證邏輯單元220可直接判斷允許外部除錯器50的存取請求(步驟S308)。
若是,除錯驗證邏輯單元220進一步根據所得之狀態資訊State_Info判斷處理單元230目前是否操作於一除錯狀態(步驟S304)。若否,則表示目前XOM 243所儲存之程式碼並沒有被存取的風險,除錯驗證邏輯單元220可直接判斷允許外部除錯器50的存取請求。
若是,除錯驗證邏輯單元220進一步根據存取請求所帶之存取位址判斷此存取位址是否為被允許的位址。若是,則表示目前XOM 243所儲存之程式碼並沒有被存取的風險,除錯驗證邏輯單元220可直接判斷允許外部除錯器50的存取請求(步驟S308)。然而,若存取請求所帶之存取位址判斷此存取位址為不被允許的位址,則除錯驗證邏輯單元220將不允許外部除錯器50的存取請求(步驟S310)。
根據本發明之一實施例,半導體裝置之系統設計者可事先定義一些允許外部除錯器50存取的位址,例如,系統控制區塊、除錯控制區塊、及用以紀錄系統控制資訊(例如,系統重置、系統時脈、電源模式等控制資訊)的暫存器等的位址,使得當處理單元230正在執行XOM所儲存之程式碼且操作於一除錯狀態時,外部除錯器50仍可存取必須的資訊,得知目前系統的狀態,因而不會影響外部除錯器50的操作,且外部除錯器50仍可維持與半導體裝置200之連線。此外,於本發明之一些實施例中,藉由設定允許外部除錯器50存取的位址,亦可進一步使得系統控制區塊、除錯控制區塊等區塊中僅部分區域允許外部除錯器50存取。即,若有其他區域包含了處理單元230所執行之程式碼的資訊,則仍可被設定為禁止外部除錯器50存取的位址。
根據本發明之第一實施例,當除錯驗證邏輯單元220允許外部除錯器50的存取請求時,可將存取請求傳送至處理單元230,由處理單元230根據此存取請求進一步控制外部除錯器50存取系統資源的權限。舉例而言,處理單元230或半導體裝置200內部之一裝置或邏輯電路可設定一除錯致能旗標值DBG_EN。當除錯致能旗標值DBG_EN被設起時,代表處理單元230可執行除錯操作。當除錯致能旗標值DBG_EN未被設起時,處理單元230無法執行除錯操作,於此狀態下,處理單元230會持續忽略自除錯匯流排DBG_Bus所接收到的訊號,直到除錯致能旗標值DBG_EN再度被設起為止。
另一方,當除錯驗證邏輯單元220不允許外部除錯器50的存取請求時,除錯驗證邏輯單元220可直接忽略該存取請求,亦即,除錯驗證邏輯單元220並不回覆該存取請求,或者,錯驗證邏輯單元220可回覆一錯誤訊息(例如,一匯流排錯誤訊息)或回覆一既定資料(例如,全0或全1的資料)給外部除錯器50。如此一來,使得外部除錯器50仍可維持與半導體裝置200之連線。
第4圖係顯示根據本發明之第二實施例所述之一半導體裝置之範例方塊圖。半導體裝置400的結構大致與半導體裝置200相同,其差別在於除錯驗證邏輯單元420可透過除錯匯流排DBG_Bus直接與系統匯流排連接。對於相同或相似的元件,其說明可參考第2圖之相關內容,並於此不再贅述。
於本發明之第二實施例,半導體裝置400所實施的資料保護方法流程與半導體裝置200相同,因此,根據本發明之第二實施例所述之資料保護方法流程圖可參考第3圖之相關內容,並於此不再贅述。
根據本發明之第二實施例,當除錯驗證邏輯單元420允許外部除錯器50的存取請求時,可直接根據此存取請求存取系統資源。亦即,於本發明之第二實施例中,外部除錯器50的存取權限將全由除錯驗證邏輯單元420所控制,外部除錯器50不再藉由處理單元430存取系統資源。
另一方,當除錯驗證邏輯單元420根據第3圖所示之流程決定不允許外部除錯器50的存取請求時,除錯驗證邏輯單元420可直接忽略該存取請求(即,不回覆該存取請求)之外,除錯驗證邏輯單元420也可選擇回覆一錯誤訊息(例如,一匯流排錯誤訊息)或回覆一既定資料(例如,全0或全1的資料)給外部除錯器50。如此一來,使得外部除錯器50仍可維持與半導體裝置400之連線。
值得注意的是,為簡潔說明,第4圖僅顯示出與本發明相關之元件。孰悉此技藝者均可理解,半導體裝置亦可包含一或多個未示於第4圖之內部元件,因此,本發明並不限於第4圖所示之半導體裝置結構。
第5圖係顯示根據本發明之第三實施例所述之一半導體裝置之範例方塊圖。半導體裝置500的結構大致與半導體裝置200相同,其差別在於除錯驗證邏輯單元520可透過除錯匯流排DBG_Bus同時擁有與處理單元530之連結及與系統匯流排的連接。對於相同或相似的元件,其說明可參考第2圖之相關內容,並於此不再贅述。
於本發明之第三實施例,半導體裝置500所實施的資料保護方法流程與半導體裝置200相同,因此,根據本發明之第三實施例所述之資料保護方法流程圖可參考第3圖之相關內容,並於此不再贅述。
根據本發明之第三實施例,當除錯驗證邏輯單元520允許外部除錯器50的存取請求時,可直接根據此存取請求存取系統資源,亦可將此存取請求傳送至處理單元530,由處理單元530根據此存取請求進一步控制外部除錯器50存取系統資源的權限。換言之,於本發明之第三實施例中,半導體裝置之系統設計者可依需求彈性地設計外部除錯器50存取系統資源的路徑。舉例而言,當處理單元530正在執行XOM所儲存之程式碼,且處理單元530目前操作於除錯狀態時,除錯驗證邏輯單元520不將存取請求傳送至處理單元530,如此一來,外部除錯器50僅能透過除錯驗證邏輯單元520存取系統資源。舉另一例而言,系統設計者亦可將系統設計為對於特定的存取位址,外部除錯器50僅能透過除錯驗證邏輯單元520存取系統資源,其餘存取位址則可透過處理單元530存取系統資源。
值得注意的是,為簡潔說明,第5圖僅顯示出與本發明相關之元件。孰悉此技藝者均可理解,半導體裝置亦可包含一或多個未示於第5圖之內部元件,因此,本發明並不限於第4圖所示之半導體裝置結構。
傳統技術中,僅僅因為處理單元正在執行XOM所儲存的程式碼,相關的控制邏輯便將除錯致能旗標值DBG_EN失能(即上述的不設起除錯致能旗標值DBG_EN)。如此一來,將導致外部除錯器誤認為裝置與外部除錯器之間的連結中斷,進而造成除錯失敗或其他不良影響。不同於傳統技術,於本發明之實施例中,透過除錯驗證邏輯單元根據處理單元目前之操作狀態與外部除錯器所請求的存取位址判斷是否允取外部除錯器的存取請求,並且於判斷不允許請求時,除錯驗證邏輯單元可透過回覆特定的訊息或資料保持半導體裝置與外部除錯器之間的連結。如此一來,有效解決傳統技術中的所存在的問題。此外,外部除錯器對於系統資源的存取亦可選擇地被設計為透過處理單元或除錯驗證邏輯單元來進行,如此一來,設計者可根據資料的重要性作彈性地設計,以進一步提高資料保護的效能。
雖然本發明已以較佳實施例揭露如上,然其並非用以限定本發明,任何熟悉此項技藝者,在不脫離本發明之精神和範圍內,當可做些許更動與潤飾,因此本發明之保護範圍當視後附之申請專利範圍所界定者為準。
50‧‧‧外部除錯器
100‧‧‧記憶體空間
200、400、500‧‧‧半導體裝置
210‧‧‧除錯存取埠
220、420、520‧‧‧除錯驗證邏輯單元
230、430、530‧‧‧處理單元
240‧‧‧系統資源群組
250‧‧‧系統匯流排
260‧‧‧監測邏輯
241、242‧‧‧控制暫存器
243、XOM‧‧‧僅能執行的記憶體
250‧‧‧系統匯流排
DBG_Bus‧‧‧除錯匯流排
Fetching_Addr‧‧‧指令存取的位址資訊
JTAG‧‧‧聯合測試工作群組
SWD‧‧‧序列除錯
State_Info‧‧‧狀態資訊
XOM_Region_Info‧‧‧XOM的區域位址
第1圖係顯示一記憶體空間範例。 第2圖係顯示根據本發明之第一實施例所述之一半導體裝置之範例方塊圖。 第3圖係顯示根據本發明之一實施例所述之用以保護半導體裝置之XOM所儲存之資料的資料保護方法流程圖。 第4圖係顯示根據本發明之第二實施例所述之一半導體裝置之範例方塊圖。 第5圖係顯示根據本發明之第三實施例所述之一半導體裝置之範例方塊圖。
50‧‧‧外部除錯器
200‧‧‧半導體裝置
210‧‧‧除錯存取埠
220‧‧‧除錯驗證邏輯單元
230‧‧‧處理單元
240‧‧‧系統資源群組
250‧‧‧系統匯流排
260‧‧‧監測邏輯
241、242‧‧‧控制暫存器
243、XOM‧‧‧僅能執行的記憶體
DBG_Bus‧‧‧除錯匯流排
Fetching_Addr‧‧‧指令存取的位址資訊
JTAG‧‧‧聯合測試工作群組
SWD‧‧‧序列除錯
State_Info‧‧‧狀態資訊
XOM_Region_Info‧‧‧XOM的區域位址
Claims (10)
- 一種半導體裝置,包括: 一處理單元; 一系統資源群組,包括複數系統資源,其中該複數系統資源包括一既定記憶體,該既定記憶體儲存複數程式碼,並且該既定記憶體被定義為僅能執行的記憶體;以及 一除錯驗證邏輯單元,耦接至一外部除錯器,用以控制該外部除錯器存取該複數系統資源的一權限; 其中該除錯驗證邏輯單元自該外部除錯器接收請求存取一系統資源之一存取請求,該存取請求包括一存取位址,並且該除錯驗證邏輯單元根據該處理單元目前之一操作狀態與該存取位址判斷是否允許該存取請求;並且 其中當該除錯驗證邏輯單元判斷不允許該存取請求時,該除錯驗證邏輯單元忽略該存取請求,或者回覆一錯誤訊息或回覆一既定資料給該外部除錯器。
- 如申請專利範圍第1項所述之半導體裝置,其中該除錯驗證邏輯單元取得該處理單元目前進行指令存取的位址資訊,當該除錯驗證邏輯單元根據該處理單元目前進行指令存取的位址資訊判斷該處理單元並非正在執行該既定記憶體所儲存之該複數程式碼時,該除錯驗證邏輯單元允許該存取請求。
- 如申請專利範圍第1項所述之半導體裝置,其中該除錯驗證邏輯單元取得該處理單元目前進行指令存取的位址資訊以及該處理單元目前之一狀態資訊,當該除錯驗證邏輯單元根據該處理單元目前進行指令存取的位址資訊判斷該處理單元正在執行該既定記憶體所儲存之該複數程式碼,且該除錯驗證邏輯單元根據該處理單元之該狀態資訊判斷該處理單元目前並未操作於一除錯狀態時,該除錯驗證邏輯單元允許該存取請求。
- 如申請專利範圍第1項所述之半導體裝置,其中該除錯驗證邏輯單元取得該處理單元目前進行指令存取的位址資訊以及該處理單元目前之一狀態資訊,當該除錯驗證邏輯單元根據該處理單元目前進行指令存取的位址資訊判斷該處理單元正在執行該既定記憶體所儲存之該複數程式碼,且該除錯驗證邏輯單元根據該處理單元之該狀態資訊判斷該處理單元目前操作於一除錯狀態,該除錯驗證邏輯單元進一步判斷該存取位址是否為被允許的位址,當該存取位址為被允許的位址時,該除錯驗證邏輯單元允許該存取請求。
- 如申請專利範圍第4項所述之半導體裝置,當該存取位址為不被允許的位址時,該除錯驗證邏輯單元不允許該存取請求。
- 一種資料保護方法,適用於一半導體裝置,該半導體裝置包括一處理單元、一除錯驗證邏輯單元以及一系統資源群組,該系統資源群組包括複數系統資源,該複數系統資源包括被設定為僅能執行的記憶體之一既定記憶體,該既定記憶體儲存複數程式碼,該除錯驗證邏輯單元用以控制一外部除錯器存取該複數系統資源的權限,該方法包括: 自該外部除錯器接收請求存取一系統資源之一存取請求,其中該存取請求包括一存取位址; 根據該處理單元目前之一操作狀態與該存取位址判斷是否允許該存取請求;以及 當判斷不允許該存取請求時,忽略該存取請求,或者回覆一錯誤訊息或回覆一既定資料給該外部除錯器。
- 如申請專利範圍第6項所述之資料保護方法,更包括: 取得該處理單元目前進行指令存取的位址資訊,並且其中根據該處理單元目前之該操作狀態與該存取位址判斷是否允許該存取請求之步驟更包括: 根據該處理單元目前進行指令存取的位址資訊判斷該處理單元是否正在執行該既定記憶體所儲存之該複數程式碼;以及 當判斷該處理單元並非正在執行該既定記憶體所儲存之該複數程式碼時,允許該外部除錯器之該存取請求。
- 如申請專利範圍第6項所述之資料保護方法,更包括: 取得該處理單元目前進行指令存取的位址資訊以及該處理單元目前之一狀態資訊,並且其中根據該處理單元目前之該操作狀態與該存取位址判斷是否允許該存取請求之步驟更包括: 根據該處理單元目前進行指令存取的位址資訊判斷該處理單元是否正在執行該既定記憶體所儲存之該複數程式碼; 當判斷該處理單元正在執行該既定記憶體所儲存之該複數程式碼時,進一步根據該處理單元之該狀態資訊判斷該處理單元目前是否操作於一除錯狀態;以及 當判斷該處理單元目前並未操作於該除錯狀態時,允許該外部除錯器之該存取請求。
- 如申請專利範圍第6項所述之資料保護方法,更包括: 取得該處理單元目前進行指令存取的位址資訊以及該處理單元目前之一狀態資訊,並且其中根據該處理單元目前之該操作狀態與該存取位址判斷是否允許該存取請求之步驟更包括: 根據該處理單元目前進行指令存取的位址資訊判斷該處理單元是否正在執行該既定記憶體所儲存之該複數程式碼; 當判斷該處理單元正在執行該既定記憶體所儲存之該複數程式碼時,進一步根據該處理單元之該狀態資訊判斷該處理單元目前是否操作於一除錯狀態; 當判斷該處理單元目前操作於該除錯狀態時,進一步判斷該存取位址是否為被允許的位址;以及 當該存取位址為被允許的位址時,允許該外部除錯器之該存取請求。
- 如申請專利範圍第9項所述之資料保護方法,其中當該存取位址為不被允許的位址,不允許該外部除錯器之該存取請求。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW108106977A TWI682400B (zh) | 2019-03-04 | 2019-03-04 | 半導體裝置與資料保護方法 |
CN201911421462.XA CN111651381B (zh) | 2019-03-04 | 2019-12-31 | 半导体装置与数据保护方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW108106977A TWI682400B (zh) | 2019-03-04 | 2019-03-04 | 半導體裝置與資料保護方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
TWI682400B true TWI682400B (zh) | 2020-01-11 |
TW202034342A TW202034342A (zh) | 2020-09-16 |
Family
ID=69942370
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW108106977A TWI682400B (zh) | 2019-03-04 | 2019-03-04 | 半導體裝置與資料保護方法 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN111651381B (zh) |
TW (1) | TWI682400B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9665373B2 (en) * | 2015-06-26 | 2017-05-30 | Intel Corporation | Protecting confidential data with transactional processing in execute-only memory |
US20170213039A1 (en) * | 2016-01-22 | 2017-07-27 | The University Of North Carolina At Chapel Hill | Methods, systems, and computer readable media for preventing code reuse attacks |
US20170337139A1 (en) * | 2016-05-19 | 2017-11-23 | Narf Industries, LLC | System and method for probabilistic defense against remote exploitation of memory |
US20180247069A1 (en) * | 2015-08-18 | 2018-08-30 | The Trustees of Columbia University in the City of New Yoirk | Inhibiting memory disclosure attacks using destructive code reads |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE10036278A1 (de) * | 2000-07-26 | 2002-02-07 | Bosch Gmbh Robert | Verfahren zur Überwachung eines Programmablaufs mittels einer Debug Logik |
CN100470656C (zh) * | 2003-10-31 | 2009-03-18 | 宇田控股有限公司 | 摆动时钟信号的产生方法和产生装置 |
US20060179380A1 (en) * | 2005-01-14 | 2006-08-10 | Ivo Tousek | On-chip electronic hardware debug support units having execution halting capabilities |
US8639919B2 (en) * | 2011-01-18 | 2014-01-28 | Via Technologies, Inc. | Tracer configuration and enablement by reset microcode |
GB2503470B (en) * | 2012-06-27 | 2014-08-13 | Nordic Semiconductor Asa | Memory protection |
-
2019
- 2019-03-04 TW TW108106977A patent/TWI682400B/zh active
- 2019-12-31 CN CN201911421462.XA patent/CN111651381B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9665373B2 (en) * | 2015-06-26 | 2017-05-30 | Intel Corporation | Protecting confidential data with transactional processing in execute-only memory |
US20180247069A1 (en) * | 2015-08-18 | 2018-08-30 | The Trustees of Columbia University in the City of New Yoirk | Inhibiting memory disclosure attacks using destructive code reads |
US20170213039A1 (en) * | 2016-01-22 | 2017-07-27 | The University Of North Carolina At Chapel Hill | Methods, systems, and computer readable media for preventing code reuse attacks |
US20170337139A1 (en) * | 2016-05-19 | 2017-11-23 | Narf Industries, LLC | System and method for probabilistic defense against remote exploitation of memory |
Also Published As
Publication number | Publication date |
---|---|
CN111651381B (zh) | 2023-11-17 |
TW202034342A (zh) | 2020-09-16 |
CN111651381A (zh) | 2020-09-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3287800B1 (en) | Jtag debug apparatus and jtag debug method | |
TWI470420B (zh) | 除錯方法及電腦系統 | |
US9081954B2 (en) | Verifying firmware integrity of a device | |
US8156317B2 (en) | Integrated circuit with secure boot from a debug access port and method therefor | |
US11675526B2 (en) | Memory-access control | |
JP2008158899A (ja) | デバイス制御装置 | |
US20080016415A1 (en) | Evaluation system and method | |
JP5975923B2 (ja) | 車両用制御装置 | |
TWI682400B (zh) | 半導體裝置與資料保護方法 | |
JP6029437B2 (ja) | 半導体装置及びアクセス制限方法 | |
KR100543152B1 (ko) | 마이크로프로세서 및 마이크로프로세서의 처리 방법 | |
CN110275845B (zh) | 存储器控制方法、装置及电子设备 | |
JP2022052018A (ja) | 情報処理装置 | |
JP2008140124A (ja) | データ処理装置 | |
JP7537805B2 (ja) | チップモニタリング方法及び装置 | |
US11609268B2 (en) | Debug system providing debug protection | |
KR101244684B1 (ko) | 에러검출이 가능한 마이크로 컴퓨팅 장치 및 그의 에러검출방법 | |
KR20180089632A (ko) | 반도체 장치 및 반도체 장치의 테스트 방법 | |
CN116052755A (zh) | Rpmb功能测试方法、装置、计算机设备及存储介质 | |
CN117873800A (zh) | 针对服务器部件的安全检测方法、装置、服务器及介质 | |
JP2001350643A (ja) | マイクロコンピュータの制御方法及び異常監視装置 | |
JP2022047564A (ja) | 情報処理装置 | |
JP2008129697A (ja) | Icカードおよびメモリ間のデータ転送制御方法 | |
JP2006099527A (ja) | システムlsi | |
JP2007157060A (ja) | マルチプロセッサシステムと初期立ち上げ方法およびプログラム |