專利名稱:控制系統(tǒng)、安全檢查方法及嵌入式系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明關(guān)于一種控制系統(tǒng)及安全檢查方法,特別是一種適用于嵌入式系統(tǒng)的控 制系統(tǒng)及安全檢查方法。
背景技術(shù):
在現(xiàn)今的生活中,嵌入式系統(tǒng)已經(jīng)被廣泛設(shè)計并應(yīng)用于各式場合,例如自動柜 員機(Automatic Teller Machine, ATM)系統(tǒng)或是個人數(shù)字助理(Personal Digital Assistant, PDA)系統(tǒng)。而為了要節(jié)省制造成本,先前技術(shù)中即開發(fā)出一種可適用于各式嵌入式系統(tǒng) 的控制系統(tǒng)??刂葡到y(tǒng)搭配不同的接口與應(yīng)用程序,即可成為不同用途的嵌入式系統(tǒng)。由于此控制系統(tǒng)能適用于各式的接口與應(yīng)用程序,因此需要一種安全檢查的方 式以保護控制系統(tǒng),使其不會被不明的接口或應(yīng)用程序所破壞。為避免上述的缺失發(fā)生,在先前技術(shù)中已經(jīng)公開一些保護嵌入式系統(tǒng)內(nèi)的控制 系統(tǒng)的方法。例如當控制系統(tǒng)安裝于嵌入式系統(tǒng)內(nèi)時,可利用燒斷硬件的連接端口的方 式,以隔絕控制系統(tǒng)與外部裝置的連接?;蛘呤抢靡淮涡悦艽a(One Time Password, OTP)的方式來保護控制系統(tǒng)。但先前技術(shù)的方式皆會使得嵌入式系統(tǒng)的擴展性受到限 制。因此需要一種適用于嵌入式系統(tǒng)的控制系統(tǒng)的安全檢查方法以解決先前技術(shù)的缺失。
發(fā)明內(nèi)容
本發(fā)明的主要目的是提供一種控制系統(tǒng),其具有在一嵌入式系統(tǒng)內(nèi)來執(zhí)行一安 全檢查方法的功能。本發(fā)明的另一主要目的是提供一種適用于一嵌入式系統(tǒng)的安全檢查方法。為達成上述的目的,本發(fā)明的嵌入式系統(tǒng)包括系統(tǒng)內(nèi)編程模塊、外部存儲模塊 及控制系統(tǒng)。控制系統(tǒng)與系統(tǒng)內(nèi)編程模塊及外部存儲模塊電性連接??刂葡到y(tǒng)包括處理 模塊以及第一存儲模塊。第一存儲模塊與處理模塊電性連接,用以儲存預(yù)先加載碼及第
一安全密鑰。本發(fā)明的安全檢查方法包括以下步驟讀取預(yù)先加載碼與第一安全密鑰;執(zhí)行 預(yù)先加載碼以從系統(tǒng)內(nèi)編程模塊下載第一應(yīng)用程序;判斷第一應(yīng)用程序是否符合第一安 全密鑰;若是,則從系統(tǒng)內(nèi)編程模塊下載第二應(yīng)用程序;以及利用第二應(yīng)用程序以建立 內(nèi)部程序及第二安全密鑰。具體地,本發(fā)明提供一種控制系統(tǒng),用于一嵌入式系統(tǒng)以執(zhí)行一安全檢查方 法,該控制系統(tǒng)包括一處理模塊;以及一第一存儲模塊,與該處理模塊電性連接, 用以儲存一預(yù)先加載碼及一第一安全密鑰,其中當該控制系統(tǒng)與一系統(tǒng)內(nèi)編程模塊連接 時,該處理模塊利用該預(yù)先加載碼讀取該系統(tǒng)內(nèi)編程模塊的一第一應(yīng)用程序,以判斷該 第一應(yīng)用程序是否符合該第一安全密鑰,若是,則執(zhí)行該系統(tǒng)內(nèi)編程模塊的一第二應(yīng)用程序以建立一內(nèi)部程序及一第二安全密鑰。本發(fā)明還提供一種安全檢查方法,用于一嵌入式系統(tǒng),其特征在于該安全檢查 方法包括讀取一預(yù)先加載碼與一第一安全密鑰;執(zhí)行該預(yù)先加載碼以從一系統(tǒng)內(nèi)編程 模塊下載一第一應(yīng)用程序;利用該第一應(yīng)用程序的一第一驗證碼,以判斷該第一應(yīng)用程 序是否符合該第一安全密鑰;若是,則從該系統(tǒng)內(nèi)編程模塊下載一第二應(yīng)用程序;以及 利用該第二應(yīng)用程序以建立一內(nèi)部程序及一第二安全密鑰。本發(fā)明還提供一種嵌入式系統(tǒng),包括一系統(tǒng)內(nèi)編程模塊,具有一第一應(yīng)用程 序與一第二應(yīng)用程序;以及一控制系統(tǒng),與該系統(tǒng)內(nèi)編程模塊電性連接,該控制系統(tǒng)包 括一處理模塊;以及一第一存儲模塊,與該處理模塊電性連接,用以儲存一預(yù)先加載 碼及一第一安全密鑰;其中該處理模塊利用該預(yù)先加載碼讀取該系統(tǒng)內(nèi)編程模塊的該第 一應(yīng)用程序的一第一驗證碼,以檢查該第一應(yīng)用程序是否符合該第一安全密鑰,若是, 則執(zhí)行該系統(tǒng)內(nèi)編程模塊的該第二應(yīng)用程序以建立一內(nèi)部程序及一第二安全密鑰。本發(fā)明的技術(shù)方案可以在不限制應(yīng)用所述控制系統(tǒng)和安全檢查方法的嵌入式系 統(tǒng)的擴展性的情況下,實現(xiàn)嵌入式系統(tǒng)的安全性。
圖1為本發(fā)明的嵌入式系統(tǒng)的架構(gòu)圖。圖2為本發(fā)明的嵌入式系統(tǒng)的固件架構(gòu)的安全檢查方法的步驟流程圖。圖3為本發(fā)明的嵌入式系統(tǒng)的軟件架構(gòu)的安全檢查方法的步驟流程圖。
具體實施例方式為了讓本發(fā)明的上述和其他目的、特征和優(yōu)點能更明顯易懂,下文特舉出較佳 實施例并配合附圖作詳細說明如下。請先參考圖1,圖1為本發(fā)明嵌入式系統(tǒng)的架構(gòu)圖。本發(fā)明的嵌入式系統(tǒng)1包括控制系統(tǒng)10、系統(tǒng)內(nèi)編程(In System Programming, ISP)模塊20及外部存儲模塊30,彼此之間為電性連接??刂葡到y(tǒng)10是利用一系統(tǒng)級芯 片(System On Chip,SOC)、一多芯片封裝(Multi-chip Package,MCP)或一系統(tǒng)級封裝 (System In Package, SIP)所架構(gòu)而成,但本發(fā)明并不以此為限??刂葡到y(tǒng)10包括處理
模塊11、第一存儲模塊12、第二存儲模塊13與第三存儲模塊14,彼此之間為電性連接。 若控制系統(tǒng)10為系統(tǒng)級芯片,則處理模塊11、第一存儲模塊12、第二存儲模塊13與第 三存儲模塊14設(shè)置于同一芯片上。若控制系統(tǒng)10為利用多芯片封裝或系統(tǒng)級封裝所架構(gòu) 而成,則上述各模塊即可設(shè)置于不同芯片上。需注意的是,上述的設(shè)置方式僅為舉例, 本發(fā)明并不以此為限。處理模塊11用以執(zhí)行控制系統(tǒng)10所需執(zhí)行的流程。在本實施例中,第一存儲 模塊12為一只讀存儲器,但本發(fā)明并不以此為限。第一存儲模塊12用以儲存一預(yù)先加 載碼(Pre-loader Code) 12a與一第一安全密鑰(Secure Key) 12b。處理模塊11依照預(yù)先加 載碼12a以執(zhí)行初步的系統(tǒng)開機流程,再利用第一安全密鑰12b檢查系統(tǒng)內(nèi)編程模塊20 的第一應(yīng)用程序20a是否合法,藉此判斷系統(tǒng)內(nèi)編程模塊20是否為合法的接口。第二存 儲模塊13為一易失性存儲模塊,用以暫存經(jīng)由檢查方法所檢查過的合法程序,例如經(jīng)由系統(tǒng)內(nèi)編程模塊20所下載的第二應(yīng)用程序20b。第三存儲模塊14為一非易失性存儲模 塊,用以儲存一內(nèi)部程序14a。內(nèi)部程序14a是藉由第二應(yīng)用程序20b所建立。內(nèi)部程 序14a具有第二安全密鑰14b,用以檢查處理模塊11所要執(zhí)行的程序是否合法,例如經(jīng)由 外部存儲模塊30下載的第三應(yīng)用程序30a。由于安全檢查方法在之后會有詳細的描述, 故在此不再贅述。系統(tǒng)內(nèi)編程模塊20為一可編程模塊,用以建立控制系統(tǒng)10所需的程序,并將其 儲存于控制系統(tǒng)10的存儲模塊中??刂葡到y(tǒng)10可藉由系統(tǒng)內(nèi)編程模塊20以直接更新其 固件,使得控制系統(tǒng)10得以配合不同的嵌入式系統(tǒng)1,例如自動柜員機或是個人數(shù)字助 理等接口,但本發(fā)明并不以此為限。外部存儲模塊30為一非易失性存儲模塊,用以儲存 處理模塊11所要執(zhí)行的第三應(yīng)用程序30a。需注意的是,外部存儲模塊30可設(shè)置于嵌入 式系統(tǒng)1的內(nèi)部,或者經(jīng)由擴展槽等外部連接裝置連接,甚至是經(jīng)由網(wǎng)絡(luò)連接亦可,本 發(fā)明并不限制其連接方式。在另一方面,第二安全密鑰14b的數(shù)量根據(jù)可支持的第三應(yīng) 用程序30a的數(shù)量而做增減,本發(fā)明并不僅僅以單一的安全密鑰為限。由上述的敘述可知,控制系統(tǒng)10利用系統(tǒng)內(nèi)編程模塊20架構(gòu)以不同的固件,再 利用不同的外部存儲模塊30即可制成不同用途的嵌入式系統(tǒng)1。為避免控制系統(tǒng)10連接 到不合法的系統(tǒng)內(nèi)編程模塊20或是執(zhí)行不合法的應(yīng)用程序而造成嵌入式系統(tǒng)1的損壞, 因此控制系統(tǒng)10必需先執(zhí)行安全檢查方法。接著請參考圖2關(guān)于本發(fā)明嵌入式系統(tǒng)的固件架構(gòu)的安全檢查方法的步驟流程 圖。此處需注意的是,以下雖以控制系統(tǒng)10及嵌入式系統(tǒng)1為例說明本發(fā)明的安全檢查 方法,但本發(fā)明的安全檢查方法并不以使用在控制系統(tǒng)10及嵌入式系統(tǒng)1為限。首先進行步驟201 讀取預(yù)先加載碼12a與第一安全密鑰12b。當嵌入式系統(tǒng)1要開始執(zhí)行工作時,處理模塊11首先由第一存儲模塊12中讀取 出預(yù)先加載碼12a與第一安全密鑰12b。其中預(yù)先加載碼12a與第一安全密鑰12b可視 為一固件的架構(gòu),存放于第一存儲模塊12中。而第一存儲模塊12較佳者為一只讀存儲 器,使得使用者無法更動其儲存內(nèi)容,藉此即可確保嵌入式系統(tǒng)1的安全性。接著進行步驟202 下載第一應(yīng)用程序20a。處理模塊11即依照預(yù)先加載碼12a的設(shè)定,從系統(tǒng)內(nèi)編程模塊20下載第一應(yīng)用 程序20a。其中第一應(yīng)用程序20a為起始的應(yīng)用程序,用以執(zhí)行嵌入式系統(tǒng)1的開機程序 等最初的必要程序。接著進行步驟203 判斷第一應(yīng)用程序20a的第一驗證碼是否符合第一安全密鑰 12b。第一應(yīng)用程序20a具有第一驗證碼。第一驗證碼可視為代表系統(tǒng)內(nèi)編程模塊20 的權(quán)限(Access Right)是否為合法或是否為控制系統(tǒng)10認可的接口的依據(jù)。因此此時處 理模塊11即判斷從系統(tǒng)內(nèi)編程模塊20下載的第一應(yīng)用程序20a的第一驗證碼是否能符合 第一安全密鑰12b。若不符合,即代表此系統(tǒng)內(nèi)編程模塊20為不合法、不合規(guī)格或是不被控制系統(tǒng) 10認可的接口。因此,此時即進行步驟204:停止處理流程。處理模塊11此時即停止嵌入式系統(tǒng)1的處理流程。此時控制系統(tǒng)10亦可發(fā)出警示信號以告知使用者,但本發(fā)明并不以此為限。若在步驟203中第一應(yīng)用程序20a的第一驗證碼與第一安全密鑰12b相符合,即 進行步驟205 下載第二應(yīng)用程序20b。處理模塊11此時即再執(zhí)行預(yù)先加載碼12a,以從系統(tǒng)內(nèi)編程模塊20下載第二應(yīng) 用程序20b,并將其暫存于第二存儲模塊13內(nèi)。由于已經(jīng)將系統(tǒng)內(nèi)編程模塊20視為一合 法的接口,因此第二應(yīng)用程序20b亦視為一合法的應(yīng)用程序。如此一來,系統(tǒng)內(nèi)編程模 塊20可經(jīng)由第二應(yīng)用程序20b控制控制系統(tǒng)10及其內(nèi)部的組件。而第二應(yīng)用程序20b包 括了系統(tǒng)內(nèi)編程模塊20所認可的第二安全密鑰14b,因此,此時即執(zhí)行第二應(yīng)用程序20b 以進行步驟206。步驟206 建立內(nèi)部程序14a及第二安全密鑰14b。處理模塊11即利用第二存儲模塊13內(nèi)的第二應(yīng)用程序20b,以建立內(nèi)部程序 14a,并將其儲存于第三存儲模塊14中。其中內(nèi)部程序14a為嵌入式系統(tǒng)1在此系統(tǒng)內(nèi)編 程模塊20的環(huán)境下所需執(zhí)行的相關(guān)程序,內(nèi)部程序14a還包括了第二安全密鑰14b。由 于嵌入式系統(tǒng)1可能具有擴展的功能,因此嵌入式系統(tǒng)1即藉由第二安全密鑰14b以確定 其擴展的應(yīng)用程序是否合法。第二安全密鑰14b為一軟件的架構(gòu),使得嵌入式系統(tǒng)1除了具有固件的第一安全 密鑰12b保護外,還多一層軟件方面的保護流程。第二安全密鑰14b可包括多種編碼, 來對應(yīng)多種的應(yīng)用程序,本發(fā)明并不以單一的應(yīng)用程序為限。接著請參考圖3關(guān)于本發(fā)明嵌入式系統(tǒng)的軟件架構(gòu)的安全檢查方法的步驟流程 圖。本發(fā)明的嵌入式系統(tǒng)1并不以執(zhí)行系統(tǒng)內(nèi)編程模塊20所提供的應(yīng)用程序為限, 亦可執(zhí)行額外擴展的應(yīng)用程序。而當嵌入式系統(tǒng)1要執(zhí)行擴展的應(yīng)用程序之前,需先進行步驟301 讀取內(nèi)部程 序14a及第二安全密鑰14b。首先處理模塊11即從第三存儲模塊14中讀取內(nèi)部程序14a及第二安全密鑰 14b。處理模塊11依照內(nèi)部程序14a以執(zhí)行嵌入式系統(tǒng)1所需執(zhí)行的處理流程。接著進行步驟302 讀取一第三應(yīng)用程序30a。此時若嵌入式系統(tǒng)1要執(zhí)行儲存于外部存儲模塊30的第三應(yīng)用程序30a,處理模 塊11即先由外部存儲模塊30讀取出第三應(yīng)用程序30a。其中第三應(yīng)用程序30a具有第二 驗證碼。再進行步驟303 判斷第三應(yīng)用程序30a的第二驗證碼是否符合第二安全密鑰 14b。第三應(yīng)用程序30a的第二驗證碼即可代表第三應(yīng)用程序30a的權(quán)限是否為合法或 是否為系統(tǒng)內(nèi)編程模塊20所認可的程序的依據(jù)。因此處理模塊11即讀取第三存儲模塊 14的第二安全密鑰14b,來與第二驗證碼作比對。若不符合,即代表此外部存儲模塊30所儲存的第三應(yīng)用程序30a為不合法、不 合規(guī)格或是不被系統(tǒng)內(nèi)編程模塊20所認可的程序。因此此時即進行步驟304 停止處理流程。處理模塊11此時就停止執(zhí)行第三應(yīng)用程序30a,立即中止與外部存儲模塊30之間的相關(guān)處理流程,以防止嵌入式系統(tǒng)1被破壞。若在步驟303中第二驗證碼具有第二安全密鑰14b,就進行步驟305 下載第三 應(yīng)用程序30a。由于已經(jīng)確認外部存儲模塊30所儲存的第三應(yīng)用程序30a為合法的程序,因此 處理模塊11即下載第三應(yīng)用程序30a,并將其儲存于第二存儲模塊13中。最后進行步驟306 執(zhí)行第三應(yīng)用程序30a。處理模塊11即執(zhí)行所下載的第三應(yīng)用程序30a,使嵌入式系統(tǒng)1可以執(zhí)行第三應(yīng) 用程序30a,藉此擴展嵌入式系統(tǒng)1的功能。此處需注意的是,本發(fā)明的安全檢查方法并不以上述的步驟次序為限,只要能 達成本發(fā)明的目的,上述的步驟次序亦可加以改變。應(yīng)注意的是,上述諸多實施例僅是為了便于說明而舉例而已,本發(fā)明所主張的 權(quán)利范圍自應(yīng)以申請專利范圍所述為準,而非僅限于上述實施例。
權(quán)利要求
1.一種控制系統(tǒng),用于一嵌入式系統(tǒng)以執(zhí)行一安全檢查方法,該控制系統(tǒng)包括 一處理模塊;以及一第一存儲模塊,與該處理模塊電性連接,用以儲存一預(yù)先加載碼及一第一安全 密鑰,其中當該控制系統(tǒng)與一系統(tǒng)內(nèi)編程模塊連接時,該處理模塊利用該預(yù)先加載碼讀 取該系統(tǒng)內(nèi)編程模塊的一第一應(yīng)用程序,以判斷該第一應(yīng)用程序是否符合該第一安全密 鑰,若是,則執(zhí)行該系統(tǒng)內(nèi)編程模塊的一第二應(yīng)用程序以建立一內(nèi)部程序及一第二安全 密鑰。
2.如權(quán)利要求1所述的控制系統(tǒng),其中,該處理模塊利用該第一應(yīng)用程序的一第一驗 證碼以判斷是否符合該第一安全密鑰,并且該第一存儲模塊是一只讀存儲器模塊。
3.如權(quán)利要求1所述的控制系統(tǒng),該控制系統(tǒng)還包括一第二存儲模塊,該第二存儲模塊為一易失性存儲模塊,該第二存儲模塊與該處理 模塊電性連接,用以暫存該第二應(yīng)用程序;以及一第三存儲模塊,該第三存儲模塊為一非易失性存儲模塊,該第三存儲模塊與該處 理模塊電性連接,用以儲存該內(nèi)部程序。
4.如權(quán)利要求3所述的控制系統(tǒng),其中,該處理模塊還包括用以讀取一外部存儲模塊 的一第三應(yīng)用程序的一第二驗證碼以判斷是否符合該第二安全密鑰,若是,則執(zhí)行該第 三應(yīng)用程序,并且該第二存儲模塊還包括用以儲存該第三應(yīng)用程序。
5.如權(quán)利要求1所述的控制系統(tǒng),該控制系統(tǒng)是利用一系統(tǒng)級芯片、一多芯片封裝或 一系統(tǒng)級封裝所架構(gòu)而成。
6.—種安全檢查方法,用于一嵌入式系統(tǒng),該安全檢查方法包括 讀取一預(yù)先加載碼與一第一安全密鑰;執(zhí)行該預(yù)先加載碼以從一系統(tǒng)內(nèi)編程模塊下載一第一應(yīng)用程序; 利用該第一應(yīng)用程序的一第一驗證碼,以判斷該第一應(yīng)用程序是否符合該第一安全 密鑰;若是,則從該系統(tǒng)內(nèi)編程模塊下載一第二應(yīng)用程序;以及 利用該第二應(yīng)用程序以建立一內(nèi)部程序及一第二安全密鑰。
7.如權(quán)利要求6所述的安全檢查方法,還包括以下步驟 讀取該內(nèi)部程序及該第二安全密鑰;從一外部存儲模塊讀取一第三應(yīng)用程序;利用該第三應(yīng)用程序的一第二驗證碼,以判斷該第三應(yīng)用程序是否符合該第二安全 密鑰;若是,則下載該第三應(yīng)用程序;以及 執(zhí)行該第三應(yīng)用程序。
8.—種嵌入式系統(tǒng),包括一系統(tǒng)內(nèi)編程模塊,具有一第一應(yīng)用程序與一第二應(yīng)用程序;以及 一控制系統(tǒng),與該系統(tǒng)內(nèi)編程模塊電性連接,該控制系統(tǒng)包括 一處理模塊;以及一第一存儲模塊,與該處理模塊電性連接,用以儲存一預(yù)先加載碼及一第一安全密 鑰;其中該處理模塊利用該預(yù)先加載碼讀取該系統(tǒng)內(nèi)編程模塊的該第一應(yīng)用程序的一第一驗證碼,以檢查該第一應(yīng)用程序是否符合該第一安全密鑰,若是,則執(zhí)行該系統(tǒng)內(nèi)編 程模塊的該第二應(yīng)用程序以建立一內(nèi)部程序及一第二安全密鑰。
9.如權(quán)利要求8所述的嵌入式系統(tǒng),該控制系統(tǒng)還包括一第二存儲模塊,與該處理模塊電性連接,用以暫存該第二應(yīng)用程序;以及 一第三存儲模塊,與該處理模塊電性連接,用以儲存該內(nèi)部程序。
10.如權(quán)利要求9所述的嵌入式系統(tǒng),該嵌入式系統(tǒng)還包括一外部存儲模塊,該外部 存儲模塊具有一第三應(yīng)用程序;其中該處理模塊還包括用以讀取該第三應(yīng)用程序的一第 二驗證碼以判斷是否符合該第二安全密鑰,若是,則執(zhí)行該第三應(yīng)用程序,并且該第二 存儲模塊還包括用以儲存該第三應(yīng)用程序。
全文摘要
本發(fā)明涉及控制系統(tǒng)、安全檢查方法及嵌入式系統(tǒng)。具體地,一種控制系統(tǒng),用于一嵌入式系統(tǒng)以執(zhí)行一安全檢查方法,該控制系統(tǒng)包括一處理模塊;以及一第一存儲模塊,與該處理模塊電性連接,用以儲存一預(yù)先加載碼及一第一安全密鑰,其中當該控制系統(tǒng)與一系統(tǒng)內(nèi)編程模塊連接時,該處理模塊利用該預(yù)先加載碼讀取該系統(tǒng)內(nèi)編程模塊的一第一應(yīng)用程序,以判斷該第一應(yīng)用程序是否符合該第一安全密鑰,若是,則執(zhí)行該系統(tǒng)內(nèi)編程模塊的一第二應(yīng)用程序以建立一內(nèi)部程序及一第二安全密鑰。本發(fā)明可以在不限制應(yīng)用所述控制系統(tǒng)和安全檢查方法的嵌入式系統(tǒng)的擴展性的情況下,實現(xiàn)嵌入式系統(tǒng)的安全性。
文檔編號G06F21/22GK102024119SQ20091017031
公開日2011年4月20日 申請日期2009年9月11日 優(yōu)先權(quán)日2009年9月11日
發(fā)明者陳少平, 陳麟樹 申請人:虹晶科技股份有限公司