TWI472948B - 控制系統及其安全檢查方法 - Google Patents

控制系統及其安全檢查方法 Download PDF

Info

Publication number
TWI472948B
TWI472948B TW97143212A TW97143212A TWI472948B TW I472948 B TWI472948 B TW I472948B TW 97143212 A TW97143212 A TW 97143212A TW 97143212 A TW97143212 A TW 97143212A TW I472948 B TWI472948 B TW I472948B
Authority
TW
Taiwan
Prior art keywords
application
module
memory module
control system
security key
Prior art date
Application number
TW97143212A
Other languages
English (en)
Other versions
TW201019161A (en
Inventor
Shao Ping Chen
Lin Shu Chen
Original Assignee
Socle Technology Corp
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 Socle Technology Corp filed Critical Socle Technology Corp
Priority to TW97143212A priority Critical patent/TWI472948B/zh
Priority to US12/611,961 priority patent/US8412951B2/en
Publication of TW201019161A publication Critical patent/TW201019161A/zh
Application granted granted Critical
Publication of TWI472948B publication Critical patent/TWI472948B/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/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)

Description

控制系統及其安全檢查方法
本發明係關於一種控制系統及安全檢查方法,特別是一種適用於嵌入式系統之控制系統及安全檢查方法。
在現今的生活中,嵌入式系統已經被廣泛的設計並應用於各式場合,例如自動櫃員機(Automatic Teller Machine,ATM)之系統或是個人數位助理(Personal Digital Assistant,PDA)之系統。而為了要節省製造成本,先前技術中即開發出一種可適用於各式嵌入式系統之控制系統。控制系統搭配不同之介面與應用程式,即可成為不同用途之嵌入式系統。
由於此控制系統能適用於各式之介面與應用程式,因此需要一種安全檢查之方式以保護控制系統,使其不會被不明之介面或應用程式所破壞。
為避免上述的缺失發生,在先前技術中已經揭露一些保護嵌入式系統內之控制系統之方法。例如當控制系統安裝於嵌入式系統內時,可利用燒斷硬體之連接埠之方式,以隔絕控制系統與外部裝置之連接。或者是利用一次性密碼(One Time Password,OTP)之方式以保護控制系統。但先前技術之方式皆會使得嵌入式系統之擴充性受到限制。
因此需要一種適用於嵌入式系統之控制系統之安全檢查方法以解決先前技術之缺失。
本發明之主要目的係在提供一種控制系統,其具有於一嵌入式系統內以執行一安全檢查方法之功能。
本發明之另一主要目的係在提供一種適用於一嵌入式系統之安全檢查方法。
為達成上述之目的,本發明之嵌入式系統包括系統內編程模組、外部記憶體模組及控制系統。控制系統係與系統內編程模組及外部記憶體模組電性連接。控制系統包括處理模組以及第一記憶體模組。第一記憶體模組係與處理模組電性連接,用以儲存預先載入碼及第一安全金鑰。
本發明之安全檢查方法包括以下步驟:讀取預先載入碼與第一安全金鑰;執行預先載入碼以從系統內編程模組下載第一應用程式;判斷第一應用程式是否符合第一安全金鑰;若是,則從系統內編程模組下載第二應用程式;以及利用第二應用程式以建立內部程式及第二安全金鑰。
為讓本發明之上述和其他目的、特徵和優點能更明顯易懂,下文特舉出本發明之具體實施例,並配合所附圖式,作詳細說明如下。
請先參考圖1係本發明嵌入式系統之架構圖。
本發明之嵌入式系統1包括控制系統10、系統內編程(In System Programming,ISP)模組20及外部記憶體模組30,彼此之間係為電性連接。控制系統10係利用一系統級晶片(System On Chip,SOC)、一多晶入封裝(Multi-chip Package,MCP)或一系統級封裝(System In Package,SIP)所架構而成,但本發明並不以此為限。控制系統10包括處理模組11、第一記憶體模組12、第二記憶體模組13與第三記憶體模組14,彼此之間係為電性連接。若控制系統10為系統級晶片,則處理模組11、第一記憶體模組12、第二記憶體模組13與第三記憶體模組14係設置於同一晶片上。若控制系統10為利用多晶片封裝或系統級封裝所架構而成,則上述各模組即可設置於不同晶片上。需注意的是,上述之設置方式僅為舉例,本發明並不以此為限。
處理模組11係用以執行控制系統10所需執行之流程。在本實施例中,第一記憶體模組12係為一唯讀記憶體,但本發明並不以此為限。第一記憶體模組12用以儲存一預先載入碼(Pre-loader Code)12a與一第一安全金鑰(Secure Key)12b。處理模組11係依照預先載入碼12a以執行初步之系統開機流程,再利用第一安全金鑰12b檢查系統內編程模組20之第一應用程式20a是否合法,藉此判斷系統內編程模組20是否為合法之介面。第二記憶體模組13係為一揮發性記憶體模組,用以暫存經由檢查方法所檢查過之合法程式,例如經由系統內編程模組20所下載之第二應用程式20b。第三記憶體模組14係為一非揮發性記 憶體模組,用以儲存一內部程式14a。內部程式14a係藉由第二應用程式20b所建立。內部程式14a具有第二安全金鑰14b,用以檢查處理模組11所要執行之程式是否合法,例如經由外部記憶體模組30下載之第三應用程式30a。由於安全檢查方法在之後會有詳細的描述,故在此不再贅述。
系統內編程模組20係為一可進行程式化之模組,用以建立控制系統10所需之程式,並將其儲存於控制系統10之記憶模組中。控制系統10可藉由系統內編程模組20以直接更新其韌體,使得控制系統10得以配合不同之嵌入式系統1,例如自動櫃員機或是個人數位助理等介面,但本發明並不以此為限。外部記憶體模組30係為一非揮發性記憶體模組,用以儲存處理模組11所要執行之第三應用程式30a。需注意的是,外部記憶體模組30可設置於嵌入式系統1之內部,或者經由擴充槽等外部連接裝置連接,甚至是經由網路連接亦可,本發明並不限制其連接方式。在另一方面,第二安全金鑰14b之數量係根據可支援之第三應用程式30a之數量而做增減,本發明並不僅僅以單一的安全金鑰為限。
由上述之敘述可知,控制系統10利用系統內編程模組20架構以不同之韌體,再利用不同之外部記憶體模組30即可製成不同用途之嵌入式系統1。為避免控制系統10連接到不合法之系統內編程模組20或是執行不合法之應用程式而造成嵌入式系統1之損壞,因此控制系統10必需先執行安全檢查方法。
接著請參考圖2關於本發明嵌入式系統之韌體架構之 安全檢查方法之步驟流程圖。此處需注意的是,以下雖以控制系統10及嵌入式系統1為例說明本發明之安全檢查方法,但本發明之安全檢查方法並不以使用在控制系統10及嵌入式系統1為限。
首先進行步驟201:讀取預先載入碼12a與第一安全金鑰12b。
當嵌入式系統1要開始執行工作時,處理模組11首先由第一記憶體模組12中讀取出預先載入碼12a與第一安全金鑰12b。其中預先載入碼12a與第一安全金鑰12b可視為一韌體之架構,存放於第一記憶體模組12中。而第一記憶體模組12較佳者為一唯讀記憶體,使得使用者無法更動其儲存內容,藉此即可確保嵌入式系統1之安全性。
接著進行步驟202:下載第一應用程式20a。
處理模組11即依照預先載入碼12a之設定,從系統內編程模組20下載第一應用程式20a。其中第一應用程式20a係為起始之應用程式,用以執行嵌入式系統1之開機程序等最初之必要程序。
接著進行步驟203:判斷第一應用程式20a之第一驗證碼是否符合第一安全金鑰12b。
第一應用程式20a具有第一驗證碼。第一驗證碼可視為代表系統內編程模組20之權限(Access Right)是否為合法或是否為控制系統10認可之介面之依據。因此此時處理模組11即判斷從系統內編程模組20下載之第一應用程式20a之第一驗證碼是否能符合第一安全金鑰12b。
若不符合,即代表此系統內編程模組20為不合法、不合規格或是不被控制系統10認可之介面。
因此此時即進行步驟204:停止處理流程。
處理模組11此時即停止嵌入式系統1之處理流程。此時控制系統10亦可發出警示訊號以告知使用者,但本發明並不以此為限。
若在步驟203中第一應用程式20a之第一驗證碼與第一安全金鑰12b相符合,即進行步驟205:下載第二應用程式20b。
處理模組11此時即再執行預先載入碼12a,以從系統內編程模組20下載第二應用程式20b,並將其暫存於第二記憶體模組13內。由於已經將系統內編程模組20視為一合法之介面,因此第二應用程式20b亦視為一合法之應用程式。如此一來,系統內編程模組20可經由第二應用程式20b控制控制系統10及其內部之元件。而第二應用程式20b係包括了系統內編程模組20所認可之第二安全金鑰14b,因此此時即執行第二應用程式20b以進行步驟206。
步驟206:建立內部程式14a及第二安全金鑰14b。
處理模組11即利用第二記憶體模組13內之第二應用程式20b,以建立內部程式14a,並將其儲存於第三記憶體模組14中。其中內部程式14a係為嵌入式系統1在此系統內編程模組20之環境下所需執行之相關程式,內部程式14a還包括了第二安全金鑰14b。由於嵌入式系統1可能具有擴充之功能,因此嵌入式系統1即藉由第二安全金鑰14b以確定其擴充之應用程式是否合法。
第二安全金鑰14b係為一軟體之架構,使得嵌入式系統1除了具有韌體之第一安全金鑰12b保護外,還多一層軟體方面之保護流程。第二安全金鑰14b可包括複數種編碼,來對應複數之應用程式,本發明並不以單一之應用程式為限。
接著請參考圖3關於本發明嵌入式系統之軟體架構之安全檢查方法之步驟流程圖。
本發明之嵌入式系統1並不以執行系統內編程模組20所提供之應用程式為限,亦可執行額外擴充之應用程式。
而當嵌入式系統1要執行擴充之應用程式之前,需先進行步驟301:讀取內部程式14a及第二安全金鑰14b。
首先處理模組11即從第三記憶體模組14中讀取內部程式14a及第二安全金鑰14b。處理模組11係依照內部程式14a以執行嵌入式系統1所需執行之處理流程。
接著進行步驟302:讀取一第三應用程式30a。
此時若嵌入式系統1要執行儲存於外部記憶體模組30之第三應用程式30a,處理模組11即先由外部記憶體模組30讀取出第三應用程式30a。其中第三應用程式30a具有第二驗證碼。
再進行步驟303:判斷第三應用程式30a之第二驗證碼是否符合第二安全金鑰14b。
第三應用程式30a之第二驗證碼即可代表第三應用程式30a之權限是否為合法或是否為系統內編程模組20所認可之程式之依據。因此處理模組11即讀取第三記憶體模組 14之第二安全金鑰14b,來與第二驗證碼作比對。
若不符合,即代表此外部記憶體模組30所儲存之第三應用程式30a為不合法、不合規格或是不被系統內編程模組20所認可的程式。
因此此時即進行步驟304:停止處理流程。
處理模組11此時就停止執行第三應用程式30a,立即中止與外部記憶體模組30之間之相關處理流程,以防止嵌入式系統1被破壞。
若在步驟303中第二驗證碼具有第二安全金鑰14b,就進行步驟305:下載第三應用程式30a。
由於已經確認外部記憶體模組30所儲存之第三應用程式30a為合法之程式,因此處理模組11即下載第三應用程式30a,並將其儲存於第二記憶體模組13中。
最後進行步驟306:執行第三應用程式30a。
處理模組11即執行所下載之第三應用程式30a,使嵌入式系統1可以執行第三應用程式30a,藉此擴充嵌入式系統1之功能。
此處需注意的是,本發明之安全檢查方法並不以上述之步驟次序為限,只要能達成本發明之目的,上述之步驟次序亦可加以改變。
綜上所陳,本發明無論就目的、手段及功效,在在均顯示其迥異於習知技術之特徵,懇請 貴審查委員明察,早日賜准專利,俾嘉惠社會,實感德便。惟應注意的是,上述諸多實施例僅係為了便於說明而舉例而已,本發明所 主張之權利範圍自應以申請專利範圍所述為準,而非僅限於上述實施例。
嵌入式系統‧‧‧1
控制系統‧‧‧10
處理模組‧‧‧11
第一記憶體模組‧‧‧12
預先載入碼‧‧‧12a
第一安全金鑰‧‧‧12b
第二記憶體模組‧‧‧13
第三記憶體模組‧‧‧14
內部程式‧‧‧14a
第二安全金鑰‧‧‧14b
系統內編程模組‧‧‧20
第一應用程式‧‧‧20a
第二應用程式‧‧‧20b
外部記憶體模組‧‧‧30
第三應用程式‧‧‧30a
圖1係本發明嵌入式系統之架構圖。
圖2係本發明嵌入式系統之韌體架構之安全檢查方法之步驟流程圖。
圖3係本發明嵌入式系統之軟體架構之安全檢查方法之步驟流程圖。
嵌入式系統‧‧‧1
控制系統‧‧‧10
處理模組‧‧‧11
第一記憶體模組‧‧‧12
預先載入碼‧‧‧12a
第一安全金鑰‧‧‧12b
第二記憶體模組‧‧‧13
第三記憶體模組‧‧‧14
內部程式‧‧‧14a
第二安全金鑰‧‧‧14b
系統內編程模組‧‧‧20
第一應用程式‧‧‧20a
第二應用程式‧‧‧20b
外部記憶體模組‧‧‧30
第三應用程式‧‧‧30a

Claims (24)

  1. 一種控制系統,係用於一嵌入式系統以執行一安全檢查方法,該控制系統可與一系統內編程(In System Programming,ISP)模組連接,其中該系統內編程模組用以建立該控制系統所需之一第一應用程式與一第二應用程式;該控制系統包括:一處理模組;以及一第一記憶體模組,係與該處理模組電性連接,用以儲存一預先載入碼(Pre-loader Code)及一第一安全金鑰(Secure Key),其中當該控制系統與該系統內編程模組連接時,該處理模組係利用該預先載入碼讀取該系統內編程模組所編程之該第一應用程式,以判斷該第一應用程式是否符合該第一安全金鑰,若是,則執行該系統內編程模組所編程之該第二應用程式以建立一內部程式及一第二安全金鑰。
  2. 如申請專利範圍第1項所述之控制系統,其中該處理模組係利用該第一應用程式之一第一驗證碼以判斷是否符合該第一安全金鑰。
  3. 如申請專利範圍第1項所述之控制系統,其中該第一記憶體模組係為一唯讀記憶體模組。
  4. 如申請專利範圍第1項所述之控制系統,該控制系統更包括:一第二記憶體模組,係與該處理模組電性連接,用以暫存該第二應用程式;以及 一第三記憶體模組,係與該處理模組電性連接,用以儲存該內部程式。
  5. 如申請專利範圍第4項所述之控制系統,其中該處理模組更包括用以讀取一外部記憶體模組之一第三應用程式以判斷是否符合該第二安全金鑰,若是,則執行該第三應用程式。
  6. 如申請專利範圍第5項所述之控制系統,其中該處理模組係利用該第三應用程式之一第二驗證碼以判斷是否符合該第二安全金鑰。
  7. 如申請專利範圍第5項所述之控制系統,其中該第二記憶體模組更包括用以儲存該第三應用程式。
  8. 如申請專利範圍第4項所述之控制系統,其中該第二記憶體模組係為一揮發性記憶體模組。
  9. 如申請專利範圍第4項所述之控制系統,其中該第三記憶體模組係為一非揮發性記憶體模組。
  10. 如申請專利範圍第1項所述之控制系統,該控制系統係利用一系統級晶片(System On Chip,SOC)、一多晶片封裝(Multi-chip Package,MCP)或一系統級封裝(System In Package,SIP)所架構而成。
  11. 一種安全檢查方法,係用於一嵌入式系統,該安全檢查方法包括:讀取一預先載入碼與一第一安全金鑰;執行該預先載入碼以下載一第一應用程式,其中該第一應用程式係被一系統內編程模組所建立; 判斷該第一應用程式是否符合該第一安全金鑰;若是,則下載一第二應用程式,其中該第二應用程式係被該系統內編程模組所建立;以及利用該第二應用程式以建立一內部程式及一第二安全金鑰。
  12. 如申請專利範圍第11項所述之安全檢查方法,更包括以下步驟:利用該第一應用程式之一第一驗證碼以判斷是否符合該第一安全金鑰。
  13. 如申請專利範圍第11項所述之安全檢查方法,更包括以下步驟:讀取該內部程式及該第二安全金鑰;從一外部記憶體模組讀取一第三應用程式;判斷該第三應用程式是否符合該第二安全金鑰;若是,則下載該第三應用程式;以及執行該第三應用程式。
  14. 如申請專利範圍第13項所述之安全檢查方法,更包括以下步驟:利用該第三應用程式之一第二驗證碼以判斷是否符合該第二安全金鑰。
  15. 一種嵌入式系統,包括:一系統內編程模組,用以建立一第一應用程式與一第二應用程式;以及一控制系統,係與該系統內編程模組電性連接,該控制系統包括: 一處理模組;以及一第一記憶體模組,係與該處理模組電性連接,用以儲存一預先載入碼及一第一安全金鑰;其中該處理模組係利用該預先載入碼讀取該系統內編程模組所編程之該第一應用程式,以檢查該第一應用程式是否符合該第一安全金鑰,若是,則執行該系統內編程模組所編程之該第二應用程式以建立一內部程式及一第二安全金鑰。
  16. 如申請專利範圍第15項所述之嵌入式系統,其中該處理模組係利用該第一應用程式之一第一驗證碼以判斷是否符合該第一安全金鑰。
  17. 如申請專利範圍第15項所述之嵌入式系統,其中該第一記憶體模組係為一唯讀記憶體模組。
  18. 如申請專利範圍第15項所述之嵌入式系統,其中該控制系統更包括:一第二記憶體模組,係與該處理模組電性連接,用以暫存該第二應用程式;以及一第三記憶體模組,係與該處理模組電性連接,用以儲存該內部程式。
  19. 如申請專利範圍第18項所述之嵌入式系統,該嵌入式系統更包括一外部記憶體模組,係具有一第三應用程式;其中該處理模組更包括用以讀取該第三應用程式以判斷是否符合該第二安全金鑰,若是,則執行該第三應用程式。
  20. 如申請專利範圍第19項所述之嵌入式系統,其中該處理模組係利用該第三應用程式之一第二驗證碼以判斷是否符合該第二安全金鑰。
  21. 如申請專利範圍第19項所述之嵌入式系統,其中該第二記憶體模組更包括用以儲存該第三應用程式。
  22. 如申請專利範圍第18項所述之嵌入式系統,其中該第二記憶體模組係為一揮發性記憶體模組。
  23. 如申請專利範圍第18項所述之嵌入式系統,其中該第三記憶體模組係為一非揮發性記憶體模組。
  24. 如申請專利範圍第15項所述之嵌入式系統,該控制系統係利用一系統級晶片、一多晶片封裝或一系統級封裝所架構而成。
TW97143212A 2008-11-07 2008-11-07 控制系統及其安全檢查方法 TWI472948B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
TW97143212A TWI472948B (zh) 2008-11-07 2008-11-07 控制系統及其安全檢查方法
US12/611,961 US8412951B2 (en) 2008-11-07 2009-11-04 Control system and a security checking method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW97143212A TWI472948B (zh) 2008-11-07 2008-11-07 控制系統及其安全檢查方法

Publications (2)

Publication Number Publication Date
TW201019161A TW201019161A (en) 2010-05-16
TWI472948B true TWI472948B (zh) 2015-02-11

Family

ID=42164666

Family Applications (1)

Application Number Title Priority Date Filing Date
TW97143212A TWI472948B (zh) 2008-11-07 2008-11-07 控制系統及其安全檢查方法

Country Status (2)

Country Link
US (1) US8412951B2 (zh)
TW (1) TWI472948B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI594188B (zh) * 2012-04-10 2017-08-01 祥碩科技股份有限公司 系統單晶片及其開機方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040031030A1 (en) * 2000-05-20 2004-02-12 Equipe Communications Corporation Signatures for facilitating hot upgrades of modular software components

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040031030A1 (en) * 2000-05-20 2004-02-12 Equipe Communications Corporation Signatures for facilitating hot upgrades of modular software components

Also Published As

Publication number Publication date
US20100117789A1 (en) 2010-05-13
TW201019161A (en) 2010-05-16
US8412951B2 (en) 2013-04-02

Similar Documents

Publication Publication Date Title
US10509568B2 (en) Efficient secure boot carried out in information processing apparatus
US9389793B2 (en) Trusted execution and access protection for embedded memory
JP5114617B2 (ja) 秘密鍵を保護する、セキュア端末、プログラム、および方法
US8281229B2 (en) Firmware verification using system memory error check logic
US8867746B2 (en) Method for protecting a control device against manipulation
KR20170095161A (ko) 시큐어 시스템 온 칩
JP4833907B2 (ja) 半導体装置
JP2011210037A5 (zh)
TWI687840B (zh) 記憶體子系統、安全客戶端裝置與認證方法
US10923203B2 (en) Semiconductor device and method of operating semiconductor device
WO2022250836A1 (en) Transfer of ownership of a computing device via a security processor
TWI691842B (zh) 記憶體安全裝置及其方法
JP6659180B2 (ja) 制御装置および制御方法
US11366911B2 (en) Cryptography module and method for operating same
CN112613011B (zh) U盘系统认证方法、装置、电子设备及存储介质
TWI472948B (zh) 控制系統及其安全檢查方法
KR20200070450A (ko) 차량 제어기의 보안 강화 방법 및 장치
US7207066B2 (en) Method for protecting a microcomputer system against manipulation of data stored in a storage arrangement of the microcomputer system
CN115793507A (zh) 在车辆的微控制器中使用多级安全验证来执行安全引导程序的方法和系统
KR20230082388A (ko) 차량 제어기의 부트로더 검증 장치 및 그 방법
TWI738020B (zh) 電子機器及其控制方法
CN116628767B (zh) 一种预防系统启动后flash系统固件攻击方法及flash控制器
TWI749458B (zh) 驗證方法和驗證系統
CN113254295B (zh) 验证方法和系统
CN102024119B (zh) 控制系统、安全检查方法及嵌入式系统

Legal Events

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