TWI229258B - Data processing apparatus - Google Patents

Data processing apparatus Download PDF

Info

Publication number
TWI229258B
TWI229258B TW92119761A TW92119761A TWI229258B TW I229258 B TWI229258 B TW I229258B TW 92119761 A TW92119761 A TW 92119761A TW 92119761 A TW92119761 A TW 92119761A TW I229258 B TWI229258 B TW I229258B
Authority
TW
Taiwan
Prior art keywords
program counter
data processing
program
address
sensor
Prior art date
Application number
TW92119761A
Other languages
English (en)
Other versions
TW200405162A (en
Inventor
Jan Otterstedt
Markus Gail
Original Assignee
Infineon Technologies Ag
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Infineon Technologies Ag filed Critical Infineon Technologies Ag
Publication of TW200405162A publication Critical patent/TW200405162A/zh
Application granted granted Critical
Publication of TWI229258B publication Critical patent/TWI229258B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/28Error detection; Error correction; Monitoring by checking the correct order of processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/32Address formation of the next instruction, e.g. by incrementing the instruction counter
    • G06F9/321Program or instruction counter, e.g. incrementing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3861Recovery, e.g. branch miss-prediction, exception handling

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • Quality & Reliability (AREA)
  • Debugging And Monitoring (AREA)

Description

本發明係有關一種資料處理裝置,其具有一執行單元 及一具有程式計數器之流程控制器。 -例如’該資料處理裝置係已知為微控制器型式。執行 單元可處理算術及邏輯指令。牵涉之運算元係被放置資料 及位址暫存器中或經由内部匯流排被施加。流 :包含-指令解碼器及一程式計數器。程式計;m續 之2 ΐ式中之指令。指令解碼器接著觸發執行該指令所需 位址^Λ開始時,程式計數器係被設定為開始位址。此 流至記憶體。被轉換於控制匯 : ϊ尚有疑問之記憶體區域内容出 觸發執行該指令所需之操作。指令:二^。指令解碼器 :式計數器設定為下一個指令之位址:後,指令解碼器將 Ά執行之指令一直視程式計數 备攻擊晶片卡及安全積體電路之位址而疋。 、建功能係被駭客利用。攻擊者告 式计數器之此關 紐件’使預期程式佇列被改變:::程式執行所牵涉之 :。該非預期程式流程改變係被稱j制器執行非預期之 為了使微控制器被跳越,攻擊者 兆越,’該微控制器。 干擾於時脈線或供給電壓線上。 /増加時脈頻率或注入 為了避免微控制器被跳越之 係提供複數個可偵測供給線上超 '例如,已知實務上 例如,若超額頻率^則器因為-微或干擾之感測器。 控制"被以增大時脈頻率
修正 1229258 __案號 921197m 五、發明說明(2) 操作而響應時,攻擊者係被假設且微控制器係被安全重 設。然而,該感測器因需類比電路組件所以實施起來相當 複雜。 本發明目的係具體說明跳越被安全及輕易辨識之資料 處理裝置。 本發明係藉由最初提及之資料處理裝置類型來達成 此,其係藉由被連接至資料匯流排及程式計數器之程式計 數器感測器而具體化,具有可經由資料匯流排從被轉換之 資料確認接著被執行之指令位址之裝置,及具有可比較該 被確認位址及程式計數器内容及若有任何不相符時觸發警 示訊號之比較器。 、本發明優點係不需提供複數個複雜感測器,其藉由债 ’則產生跳越之干擾而間接確認跳越風險。反之,確認接著 f執行之指令位址,意指與程式計數器平行操作之裝置, ^獨立於程式計數器被用來確認下個指令位址。正確操作 軼式期間,被確認位址係必須匹配程式計數器之内容。、 理若資料匯流排之資料及程式計數器之内容被延遲處 不以!別具有優點。此可避免攻擊者產生之干擾,而 〜胃^式計數器或程式計數器感測器。 因此’若程式計數器感測器使用不同於具程式 萨I ΐ控制器之電路技術來製造,則其亦特別具有優點。 曰因、成之效應係對干擾敏感度及對干擾響應有所不同 組件而為^本J务明之程式計數器感測器剛好可被建構自邏輯 莴類比組件,所以其可特別容易且便宜來製造。
2004.06.23.006 1229258
本文另一優點係程式計數器感測器可被隱藏於正常邏輯中 而被保護不受任何實體攻擊。此外,該感測器較具有類比 組件之感測器更容易測試。 一本發明係使用實施例被更詳細解釋如下。單一圖係顯 不具本發明之程式計數器感測器之微控制器略圖。 第一圖左半係顯示先前技術基礎上具有基本組件之微 控制器。 其具有一執行單元1,一流程控制器2,及一匯流排介 面3。執行單元1係包含一算術及邏輯單元6及一資料暫存 器1及一位址暫存器8。流程控制器2包括一程式計數器4及 一指令解碼器5。匯流排介面具有用於資料匯流排1 2 ,控 制匯流排1 3及位址匯流排丨4之驅動器9,1 〇及1卜執行單 凡1 ’流程控制器2及匯流排介面3係藉由内部匯流排1 5被 彼此相連。此先前技術基礎上之微控制器運作之基本方式 係已被描述於說明介紹中。 第一圖右半係顯示擴展先前技術基礎上微控制器之本 發明程式計數器感測器。程式計數器感測器2 0係具有被暫 存器形成,一延遲裝置21,用於辨識指令及新程式計數器 值之一邏輯單元22,及一程式計數器模擬23。此外,具有 I比較被+儲存於程式計數器模擬2 3中之值及實際程式計數 裔4之内容’其於此實施例中係被延遲裝置2 1於延遲後提 供丄延遲褒置21中之暫存器係可儲存程式計數器4目前之 内谷i使程式計數器感測器2 0可獲得流程控制器2之程式 計數裔值的暫時偏置確認。產生程式計數器4之新值錯誤
第7頁 2004. 06.23.007 1229258 索號五、發明說明(4) 正 改^ (跳越)之攻擊者,亦不會產生被執行於程式計數器感 I測器2 0中之下個指令之錯誤確認,其可增加攻擊辨識可靠 I性:可辨識指令及新程式計數器值之邏輯單元22及程式計 數,模擬23 ’係以其操作型式對應流程控制器2中之功能 性單兀,其負責確認程式計數器4之新值。 由於本發明,新程式計數器值可被程式計數5|感測器 Γ平1確認。ΐ式計數器模擬23之内容接著被與比〜較器24 中之程式計數器4做比較。第一圖之實施例中,此係於修 改程式計數器4之内容後完成。因延遲被暫存器2丨 之 ^匕^時域改變應為至少一時脈週期,但亦可為伸展為複數 個時脈週期。針對程式計數器感測器2〇中之資, I脈訊號CLK係被施加至後者。 、為了辨識指令,邏輯單元22繼續檢查被轉換資料丨5以 |決定其是否包含指令,及其是否具有程式計數器或程 |數器模擬23之新值。一旦包含用於接下來被執行之指令 、(如跳越指令)之位址之指令被辨識時,則新指令之位址 =存於程式計數器模擬23中。如亦發生於用於程 裔4之流程控制器2,若被辨識指令並不產生程式計數器任 =顯改變,也就是若線性程式流程存在時,則被儲存於 ^式計數器模擬23中之位址係於指令長度基礎上被增加,' 1因而可指示將被執行之線性下一個指令。 |若比較器24建立程式計數器模擬23及^式計數器4之内 相異,則其輸出警示訊號25。此可連續被用來 理裝置之安全重…替代是,“採取被警;訊;= 第8頁 20〇4· 06· 23. 〇〇8 1229258 修正 案號 92119761 五、發明說明(5) 發之反測量。 第一圖簡略描繪先前技術基礎上之微控制器組件,及 其彼此相隔之程式計數器感測器1。然而,真實實施例 中,程式計數器感測器2 0之組件係被整合入亦包含標準組 件之電路中。因此非常難以辨識全部電路中之程式計數器 感測器2 0,意指對攻擊者實體攻擊具有良好的保護。保護 微控制器之標準組件亦自然可保護程式計數器感測器2 0之 組件。 另一方面,因為此確保這些組件對干擾之反應不同, 所以程式計數器感測器使用不同於實際程式計數器4之電 路技術來製造係具有優點。
第9頁 2004.06.23.009 1229258 Ιϊ] _案號92119761 月日曰丨 修正_ 圖式簡單說明 第一圖簡略描繪先前技術基礎上之微控制器組件,及 其彼此相隔之程式計數器感測器1。 元件符號說明 1 執 行 單 元 2 流 程 控 制 器 3 匯 流 排 介 面 4 程 式 計 數 器 5 .指 令 解 碼 器 6 算 術 及 邏 輯 單 元 7 資 料 暫 存 器 8 位 址 暫 存 器 9 資 料 匯 流 排 驅 動 器 10 控 制 匯 流 排 驅 動 11 位 址 匯 流 排 驅 動 器 12 資 料 匯 流 排 13 控 制 匯 流 排 14 位 址 匯 流 排 15 内 部 匯 流 排 20 程 式 計 數 器 感 測 21 針 對 延 遲 之 暫 存 器 22 可 辨 識 指 令 及 新 程式計數 器 值 之 邏 輯 單 元 23 程 式 計 數 器 模 擬 24 比 較 器 25 警 示 訊 號 CLK 時 脈 訊 號
第10頁 2004.06.23.010

Claims (1)

1229258 / ---- 案號 H19761_月?: ^,τ__ 六、申請專利範圍 一’ ·一一一一—’:2ϋ 1 · 一種資料處理裝置,具有 一執行單元(1 )及 一具有程式計數器(4 )之流程控制器(2 ), 其特徵在於 一程式計數器感測器(2 0 ),其係被連接至一資料匯流 排及該程式計數器(4),具有 一裝置(2 2 ),其可經由該資料匯流排從被轉換之資料 確認接著被執行之該指令位址之裝置(2 2 ),及 一比較器(2 4 ),其可比較該被確認位址及該程式計數
器(4 )内容,且若有任何不相符時觸發一警示訊號。 2·如申請專利範圍第丨項之資料處理裝置,其中 該程式計數器感測器(2 0 )具有可延遲該資料匯流排上 之該資料及該程式計數器(4 )之該内容之一延遲裝置 (21)〇 3 ·如申請專利範圍第1或2項之資料處理裝置,其中 該警示訊號(2 5 )觸發資料處理裝置之重設。 4 ·如申請專利範圍第1或2項之一資料處理裝置,其中 該程式計數器感測器(2 0 )係使用不同於流程控制器(2 ) 之電路技術來製造。
5 ·如申請專利範園第3項之一資料處理裝置,其中 該程式計數器感測器(2 0 )係使用不同於流程控制器 之電路技術來製造。
TW92119761A 2002-08-30 2003-07-18 Data processing apparatus TWI229258B (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE10240088A DE10240088B4 (de) 2002-08-30 2002-08-30 Datenverarbeitungsvorrichtung

Publications (2)

Publication Number Publication Date
TW200405162A TW200405162A (en) 2004-04-01
TWI229258B true TWI229258B (en) 2005-03-11

Family

ID=31724210

Family Applications (1)

Application Number Title Priority Date Filing Date
TW92119761A TWI229258B (en) 2002-08-30 2003-07-18 Data processing apparatus

Country Status (5)

Country Link
EP (1) EP1532508B1 (zh)
CN (1) CN1328635C (zh)
DE (2) DE10240088B4 (zh)
TW (1) TWI229258B (zh)
WO (1) WO2004023274A2 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102004027847A1 (de) * 2004-06-08 2006-01-05 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Vorrichtung und Verfahren zur induktiven Energieübertragung
FR2910144A1 (fr) 2006-12-18 2008-06-20 St Microelectronics Sa Procede et dispositif de detection errones au cours de l'execution d'un programme.

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5241547A (en) * 1987-08-31 1993-08-31 Unisys Corporation Enhanced error detection scheme for instruction address sequencing of control store structure
EP0455946A3 (en) * 1990-05-07 1992-10-28 International Business Machines Corporation System for debugging shared memory multiprocessor computers
JPH0535613A (ja) * 1991-07-26 1993-02-12 Nec Ic Microcomput Syst Ltd マイクロコンピユータの暴走防止回路
JPH0816434A (ja) * 1994-06-29 1996-01-19 Mitsubishi Denki Semiconductor Software Kk 暴走検出回路
JPH1063541A (ja) * 1996-08-19 1998-03-06 Nippon Motorola Ltd コンピュータシステムのプログラム暴走監視装置
US5812830A (en) * 1996-11-14 1998-09-22 Hewlett-Packard Company Debug system with raw mode trigger capability
US6026503A (en) * 1997-08-12 2000-02-15 Telrad Communication And Electronic Industries Ltd. Device and method for debugging systems controlled by microprocessors
US6360310B1 (en) * 2000-02-03 2002-03-19 Nec Electronics, Inc. Apparatus and method for instruction cache access
CN1149490C (zh) * 2000-09-06 2004-05-12 黄更 中介式控制传递的方法及中介式控制总线***

Also Published As

Publication number Publication date
WO2004023274A3 (de) 2004-05-06
DE10240088B4 (de) 2007-11-29
CN1678969A (zh) 2005-10-05
CN1328635C (zh) 2007-07-25
EP1532508B1 (de) 2006-11-02
WO2004023274A2 (de) 2004-03-18
DE50305595D1 (de) 2006-12-14
DE10240088A1 (de) 2004-03-18
EP1532508A2 (de) 2005-05-25
TW200405162A (en) 2004-04-01

Similar Documents

Publication Publication Date Title
JPH0719231B2 (ja) 改良されたアクセス安全装置を備える集積回路
US11803455B2 (en) Processor with debug pipeline
US20080141340A1 (en) Semiconductor Device Having Power Consumption Analysis Preventing Function
TWI229258B (en) Data processing apparatus
US7647495B2 (en) Method for protecting a computer from the manipulation of register contents and a corresponding computer for carrying out this method
JP2006344087A (ja) 制御装置のタスク管理装置、及び、制御装置のタスク管理方法
US7634640B2 (en) Data processing apparatus having program counter sensor
KR910017290A (ko) 롬 데이타 보호 방법 및 장치
JP6813513B2 (ja) プロセッサシステムのプログラムカウンタ構造を保護する方法及び装置並びに中断要求の処理を監視する方法及び装置
JP3082721B2 (ja) タイマ装置
JP2008262557A (ja) 制御装置のタスク管理装置、及び、制御装置のタスク管理方法
JP4842036B2 (ja) 半導体装置と、タイミング制御回路の異常検出方法
JP4317672B2 (ja) Cpu異常監視装置
JP2014048904A (ja) 制御装置、そのデータ保護方法およびデータ保護解除方法
JP3609601B2 (ja) 自己診断機能付きタイマー回路
JP3590289B2 (ja) イベント検出回路
JP2009205213A5 (zh)
JP2704062B2 (ja) 情報処理装置
JPS6346460B2 (zh)
JP2908042B2 (ja) メモリのシミュレーション方法
JP2004355430A (ja) Dmac回路の論理検証手法
JPH0333939A (ja) マイクロプロセッサ
JPS5880743A (ja) マイクロプロセツサ用フエツチ予告装置
JPS6237748A (ja) フア−ムウエアによるトリガ信号発生方式
TW201136455A (en) Electrostatic discharge protection module

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees