專利名稱:嵌入式設(shè)備的加解密方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及數(shù)據(jù)加解密技術(shù),具體涉及嵌入式設(shè)備的加密方法和系統(tǒng)。
背景技術(shù):
嵌入式設(shè)備通過運行嵌入式軟件實現(xiàn)其功能。侵權(quán)者通過復制嵌入式軟 件可以實現(xiàn)嵌入式設(shè)備的復制,復制的嵌入式設(shè)備一旦量產(chǎn),將對其原始開 發(fā)者帶來嚴重的經(jīng)濟損失。
目前,通過對嵌入式設(shè)備進行加密,可以防止對嵌入式設(shè)備的復制。
現(xiàn)有的嵌入式設(shè)備加密方法主要是在嵌入式設(shè)備中增加加密芯片予以
實現(xiàn)。具體方法是首先將密碼(key)燒錄到加密芯片中,然后修改嵌入 式軟件,從而在嵌入式軟件中增加所述密碼(key)以及比對過程;當嵌入 式軟件啟動后,該嵌入式軟件從加密芯片中讀取密碼并與自身密碼進行比 對,只有比對一致,才確定解密成功,此時繼續(xù)運行嵌入式軟件;如果解密 失敗則不允許運行嵌入式軟件,嵌入式設(shè)備無法工作。這種加解密方式需要 在嵌入式設(shè)備中增加加密芯片,從而增加了硬件成本,而且更重要的是,燒 錄到加密芯片中的密碼比較容易復制, 一但侵權(quán)者復制了密碼和嵌入式軟件 則可以很容易地實現(xiàn)嵌入式設(shè)備的復制。可見,現(xiàn)有的嵌入式設(shè)備加密方案
不能對嵌入式設(shè)備提供有力的防護力度。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明提供了一種嵌入式設(shè)備的加解密方法,能夠借助嵌入 式設(shè)備中存儲介質(zhì)本身特有的,且不易復制的信息進行加解密,以提高嵌入 式設(shè)備的防護力度。
該方法包括A、 加密時,統(tǒng)計嵌入式設(shè)備中存儲介質(zhì)中的壞塊,生成壞塊信息;將 所述壞塊信息保存到指定位置;
B、 解密時,從所述指定位置獲取壞塊信息,驗證存儲介質(zhì)上的實際壞 塊是否匹配所述壞塊信息;如果匹配,則解密成功,否則,解密失敗。
其中,所述壞塊信息包括 所述存儲介質(zhì)中所有壞塊的位置信息, 和/或,所述存儲介質(zhì)中所有壞塊的數(shù)量信息,
和/或,所述存儲介質(zhì)中至少一個包含壞塊的選定地址空間中的壞塊位 置信息,
和/或,所述存儲介質(zhì)中至少 一個包含壞塊的選定地址空間中的壞塊數(shù) 量信息,
和/或,所述存儲介質(zhì)中至少一個包含壞塊的選定地址空間的空間位置 信息。
其中,所述統(tǒng)計嵌入式設(shè)備中存儲介質(zhì)中的壞塊,生成壞塊信息為讀 取存儲介質(zhì)中所有壞塊的地址,生成包含各壞塊地址的壞塊信息;
貝'J,所述驗證存儲介質(zhì)上的實際壞塊是否匹配所述壞塊信息為判斷壞 塊信息中各壞塊地址指示的區(qū)塊是否均為實際壞塊,如果是,則判定為匹配, 否則判定為不匹配。
或者,所述統(tǒng)計嵌入式設(shè)備中存儲介質(zhì)中的壞塊,生成壞塊信息為選 定n個包含壞塊的地址空間,n為正整數(shù),針對每個選定的地址空間統(tǒng)計壞 塊個數(shù),記為統(tǒng)計個數(shù),生成包含各地址空間的位置和統(tǒng)計個數(shù)的壞塊信息;
則,所述驗證存儲介質(zhì)上實際壞塊是否匹配所述壞塊信息為判斷是否 所有選定的地址空間中實際壞塊的數(shù)量都大于自身對應(yīng)的統(tǒng)計個數(shù);如果 是,則判定為匹配,否則,判定為不匹配。
或者,所述統(tǒng)計嵌入式設(shè)備中存儲介質(zhì)中的壞塊,生成壞塊信息為選 定n個包含壞塊的地址空間,生成包含地址空間位置的壞塊信息;
貝'J,所述驗證存儲介質(zhì)上實際壞塊是否匹配所述壞塊信息為判斷是否所有選定的地址空間中都存在壞塊;如果是,則判定為匹配,否則判定為不 匹配。
其中,所述將所述壞塊信息保存到指定位置為 將所述壞塊信息保存到嵌入式軟件的指定位置; 或者,將所述壞塊信息下栽到所述存儲介質(zhì)的指定位置; 或者,將所述壞塊信息下載到所述嵌入式設(shè)備的指定位置。 較佳地,該方法進一步包括將壞塊信息保存到指定位置之前,對壞塊 信息加密;
執(zhí)行所述驗證操作之前,對從指定位置上獲取的壞塊信息進行解密。
其中,解密時,所述存儲介質(zhì)上的實際壞塊的信息是通過讀取存儲介質(zhì) 中的壞塊標識得到的;或者,通過讀寫數(shù)據(jù)的方式對存儲介質(zhì)進4亍壞塊測試, 將寫入數(shù)據(jù)和讀取數(shù)據(jù)不一致的區(qū)塊確定為實際壞塊。
較佳地,向嵌入式設(shè)備的存儲介質(zhì)下栽嵌入式軟件時,執(zhí)行所述步驟A;
嵌入式設(shè)備啟動存儲介質(zhì)中的嵌入式軟件時,執(zhí)行所述步驟B,如果解 密成功,則繼續(xù)啟動流程,如果解密失敗,則退出啟動流程。
較佳地,該方法適用于嵌入式設(shè)備的生成過程;
所述步驟A包括在嵌入式設(shè)備的生產(chǎn)過程中,通過JTAG^s更件讀取嵌 入式設(shè)備中存儲介質(zhì)的壞塊信息;將讀取的壞塊信息寫入嵌入式軟件的指定 位置,在嵌入式軟件中增加驗證過程代碼,將修改后的嵌入式軟件通過JTAG 硬件下載到所述存儲介質(zhì)中;
所述步驟B包括在嵌入式設(shè)備啟動存儲介質(zhì)中嵌入式軟件時,通過 運行所述驗證過程代碼執(zhí)行驗證過程,在該驗證過程中,讀取嵌入式軟件中 所述指定位置上的壞塊信息,驗證存儲介質(zhì)上的實際壞塊是否匹配所述壞塊 信息;如果匹配,則繼續(xù)啟動流程,否則,退出啟動流程。
本發(fā)明還提供了一種嵌入式設(shè)備的加解密系統(tǒng),能夠借助嵌入式設(shè)備中 存儲介質(zhì)本身特有的,且不易復制的信息進行加密,以提高嵌入式設(shè)備的防
護力度。該加解密系統(tǒng)包括加密單元和解密單元;
所述加密單元,用于在加密時,統(tǒng)計嵌入式設(shè)備中存儲介質(zhì)中的壞塊,生 成壞塊信息;將所述壞塊信息保存到指定位置;
所述解密單元,用于在解密時,從所述指定位置獲取壞塊^f言息,驗證存 儲介質(zhì)上的實際壞塊是否匹配所述壞塊信息;如果匹配,則解密成功,否貝'j, 解密失敗。
其中,所述加密單元生成的壞塊信息包括所述存儲介質(zhì)中所有壞塊的位 置信息,和/或所迷存儲介質(zhì)中所有壞塊的數(shù)量信息,和/或所述存卡者介質(zhì)中至少 一個包含壞塊的選定地址空間中的壞塊位置信息,和/或所述存儲介質(zhì)中至少一 個包含壞塊的選定地址空間中的壞塊數(shù)量信息,和/或所述存儲介質(zhì)中至少一個 包含壞塊的選定地址空間的空間位置信息。
其中,所述加密單元將所述壞塊信息保存到指定位置時,將所述壞塊信息 保存到嵌入式軟件的指定位置;或者,將所述壞塊信息下載到所述存儲介質(zhì)的 指定位置;或者,將所述壞塊信息下載到所述嵌入式設(shè)備的指定位置。
其中,所述解密單元通過讀取存儲介質(zhì)中的壞塊標識得到實際壞塊的信息, 或者通過讀寫數(shù)據(jù)的方式對存儲介質(zhì)進行壞塊測試,將寫入數(shù)據(jù)和讀取數(shù)據(jù)不 一致的區(qū)塊確定為實際壞塊。
較佳地,所述加密單元設(shè)置在嵌入式軟件燒錄裝置中,當該嵌入式軟件燒 錄裝置向嵌入式設(shè)備的存儲介質(zhì)下載嵌入式軟件時,加密單元執(zhí)行其自身操作;
所迷解密單元設(shè)置在嵌入式設(shè)備中,當該嵌入式設(shè)備啟動存儲介質(zhì)中的嵌 入式軟件時,解密單元執(zhí)行其自身操作,如果解密成功,則繼續(xù)啟動流程,如 果解密失敗,則退出啟動流程。
較佳地,所述加密單元設(shè)置在嵌入式軟件燒錄裝置中;
在嵌入式設(shè)備的生產(chǎn)過程中,當所述嵌入式軟件燒錄裝置向嵌入式設(shè)備中 的存儲介質(zhì)下載嵌入式軟件時,所述加密單元通過聯(lián)合測試行為組織JTAG硬 件讀取所述存儲介質(zhì)的壞塊信息;將讀取的壞塊信息寫入嵌入式軟件的指定位 置,在嵌入式軟件中增加驗證過程代碼,將修改后的嵌入式軟件通過JTAG硬件下載到所述存儲介質(zhì)中;
所述解密單元設(shè)置在嵌入式設(shè)備中,在所述嵌入式設(shè)備啟動其存儲介質(zhì) 中嵌入式軟件時,所述解密單元通過運行所述嵌入式軟件中的-驗i正過程代碼 以執(zhí)行驗證過程,在該驗證過程中,讀取所述嵌入式軟件中所述指定位置上 的壞塊信息,驗證存儲介質(zhì)上的實際壞塊是否匹配所述壞塊信息;如果匹配, 則繼續(xù)啟動流^E,否則,退出啟動流程。
根據(jù)以上技術(shù)方案可見,本發(fā)明采用嵌入式設(shè)備中存儲介質(zhì)中的壞塊信 息作為加密信息,解密時,只有存儲介質(zhì)中的實際壞塊情況匹配壞塊信息, 才解密成功。由于每一片存儲介質(zhì)的壞塊信息都不相同,而且存在隨機性, 且存儲介質(zhì)的容量很大,因此壞塊信息的重復率很低。
如果侵權(quán)者想要復制壞塊信息, 一種方式是通過物理方式將特定位置的 好塊破壞,但這種復制方式一是難度大,二是會嚴重損壞嵌入式i殳備的穩(wěn)定 性,因此采用物理破壞方式復制加密信息的可能性很低,使得采用本發(fā)明加 密方法得到的嵌入式設(shè)備也就很難被復制,進而很難進行量產(chǎn),從而有效地 防止復制,提高了嵌入式設(shè)備的防護力度。
圖1為本發(fā)明嵌入式設(shè)備的加解密方法的示例性流程圖。
圖2為本發(fā)明實施例中嵌入式設(shè)備的加解密方法的流程圖。
圖3為本發(fā)明實施例中嵌入式設(shè)備的加解密系統(tǒng)的應(yīng)用示意圖。
具體實施例方式
下面結(jié)合附圖并舉實施例,對本發(fā)明進行詳細描述。
本發(fā)明為一種嵌入式設(shè)備的加解密方案,其基本思想為采用嵌入式設(shè) 備中存儲介質(zhì)中的壞塊信息作為加密信息。解密時,驗證嵌入式i殳備中存儲 介質(zhì)上的實際壞塊情況是否匹配作為加密信息的壞塊信息,只有在匹配的情 況下,才確定解密成功,可以繼續(xù)運行嵌入式軟件。壞塊信息是存儲介質(zhì)特有的信息,由于每一 片存儲介質(zhì)的壞塊存在隨機 性,因此不同存儲介質(zhì)的壞塊位置和數(shù)量都不相同,而且存儲介質(zhì)的存儲容 量很大,使得壞塊信息的重復幾率很低。
存儲介質(zhì)在使用過程中,壞塊只會逐漸增多,已有的壞塊不會變好,因 此采用壞塊信息作為加密信息可以簡單、有效地實現(xiàn)對嵌入式設(shè)備的加解 密。
而且,壞塊信息難以復制。如果侵權(quán)者想要復制壞塊信息, 一種方式是 通過物理方式將特定位置的好塊破壞,但這種復制方式一是難度大,二是會 嚴重損壞嵌入式設(shè)備的穩(wěn)定性,因此采用物理破壞方式復制加密信息的可能 性很低,使得采用本發(fā)明加密方法得到的嵌入式設(shè)備也就很難^皮復制,進而 很難進行量產(chǎn),從而有效地防止復制,提高了嵌入式設(shè)備的防護力度。如果 人為將壞塊作為好塊使用,也會導致整個嵌入式設(shè)備的穩(wěn)定性無法得到保 障。
圖1示出了基于以上基本思想的嵌入式設(shè)備的加解密方法的示例性流
程圖,如圖1所示,該方法包括以下步驟
步驟101:加密時,統(tǒng)計嵌入式設(shè)備中存儲介質(zhì)中的壞塊,生成壞塊信
白
步驟102:將生成的壞塊信息保存到指定位置。
步驟103:解密時,從指定位置獲取壞塊信息,驗證嵌入式設(shè)備中存儲 介質(zhì)上的實際壞塊是否匹配所述壞塊信息;如果匹配,則解密成功,否則, 解密失敗。
這里,壞塊信息可以壞塊的位置信息和/或數(shù)量信息。在本發(fā)明實施例 中壞塊信息可以包括
1 )存儲介質(zhì)中所有壞塊的位置信息;
2) 存儲介質(zhì)中所有壞塊的數(shù)量信息;
3) 存儲介質(zhì)中至少 一個包含壞塊的選定地址空間中的壞塊位置信息;
4) 存儲介質(zhì)中至少一個包含壞塊的選定地址空間中的壞塊數(shù)量信息;5)存儲介質(zhì)中至少一個包含壞塊的選定地址空間的空間位置信息。 在驗證時,可以采用上述壞塊信息中的一種或任意組合。驗證信息越多, 加密可靠性越高。
當壞塊信息為1 )存儲介質(zhì)中所有壞塊的位置信息時,所述步驟101具 體為讀取存儲介質(zhì)中所有壞塊的地址,生成包含各壞塊地址的壞塊信息; 所述步驟103的匹配操作具體為判斷壞塊信息中各壞塊地址指示的區(qū)塊是 否均為實際壞塊,如果是,則判定為匹配,否則,只要有一個壞塊地址指示 的區(qū)塊不是壞塊,則判定為不匹配。
當壞塊信息為2)存儲介質(zhì)中所有壞塊的數(shù)量信息時,所述步驟101具 體為獲取存儲介質(zhì)中所有壞塊的數(shù)量X,生成包含所有壞塊的數(shù)量的壞塊 信息;所述步驟103的匹配操作具體為判斷存儲介質(zhì)中實際壞塊的數(shù)量是 否大于或等于X,如果是,則判定為匹配,否則,判定為不匹配。
當壞塊信息為3)存儲介質(zhì)中至少一個包含壞塊的選定地址空間中的壞 塊位置信息時,所述步驟101具體可以為選定n個包含壞塊的地址空間, n為正整數(shù),讀取每個選定的地址空間中壞塊的地址,生成包含各;l也址空間 的位置和壞塊地址的壞塊信息;所述步驟103的匹配操作具體為針對每個 選定的地址空間i,判斷所述壞塊信息中該地址空間i對應(yīng)的各壞塊地址指 示的區(qū)塊是否均為實際壞塊,如果是,則確定該地址空間i滿足匹配條件, 只有所有地址空間滿足匹配條件才判定為匹配,否則,判定為不匹配。
當壞塊信息為4)存儲介質(zhì)中至少一個包含壞塊的選定地址空間中的壞 塊數(shù)量信息時,所述步驟101具體為選定n個包含壞塊的地址空間,n為 正整數(shù),針對每個選定的地址空間統(tǒng)計壞塊個數(shù),記為統(tǒng)計個數(shù),生成包含 各地址空間的位置和統(tǒng)計個數(shù)的壞塊信息;所述步驟103的匹配操作具體 為判斷是否所有選定的地址空間中實際壞塊的數(shù)量都大于自身對應(yīng)的統(tǒng)計 個數(shù);如果是,則判定為匹配,否則,判定為不匹配。具體來說,針對每個 選定的地址空間i,判斷該地址空間i中實際壞塊的數(shù)量大于壞塊信息記錄 的該地址空間i對應(yīng)的統(tǒng)計個數(shù),如果是則確定該地址空間i滿足匹配條件,只有所有選定的地址空間都滿足匹配條件才判定為匹配,否則,判定為不匹 配。
當壞塊信息為5 )存儲介質(zhì)中至少 一個包含壞塊的選定地址空間的空間
位置信息時,所述步驟101具體為選定n個包含壞塊的地址空間,生成包 含地址空間位置的壞塊信息;所述步驟103的匹配操作具體為判斷是否所 有選定的地址空間中都存在壞塊;如果是,則判定為匹配,否則判定為不匹配。
本發(fā)明實施例可以較好地應(yīng)用于嵌入式設(shè)備的生產(chǎn)過程,也就是說,在 向嵌入式設(shè)備中的存儲介質(zhì)下載嵌入式軟件時,執(zhí)行上述步驟101和102; 當嵌入式設(shè)備啟動存儲介質(zhì)中的嵌入式軟件時,執(zhí)行上迷步驟103,如果解 密成功,則繼續(xù)啟動流程,如果解密失敗,則退出啟動流程。
除了上面的應(yīng)用外,在另一實施方式中,還可以對一個已經(jīng)裝有嵌入式 軟件的設(shè)備執(zhí)行上述步驟101和102,當嵌入式設(shè)備啟動嵌入式軟件時,執(zhí) 行上述步驟103。
下面以壞塊信息為存儲介質(zhì)中所有壞塊的位置信息為例,對本加解密方 案應(yīng)用與嵌入式設(shè)備的生產(chǎn)過程的實施方式進行詳細描述。在本實施例中, 存儲介質(zhì)采用閃存(Flash)芯片。
圖2為本發(fā)明實施例中嵌入式設(shè)備的加解密方法的流程圖。該方法包括 以下步驟201至步驟205,其中,步驟201至步驟203為向存書者介質(zhì)燒錄嵌 入式軟件的過程,步驟204至205為存儲介質(zhì)上的嵌入式軟件啟動的過程。 如圖2所示,各步驟具體如下
步驟201:通過汀AG ( Joint Test Action Group,聯(lián)合測試ff為組織) 硬件讀取Flash芯片的壞塊信息,本實施例為flash芯片中所有壞塊的地址。
其中,F(xiàn)lash芯片在出廠時,由廠商進行壞塊檢測,對于壞塊,在該壞 塊對應(yīng)的位置設(shè)置壞塊標識,用于標識區(qū)塊是否為壞塊。設(shè)置壞塊標識的對 應(yīng)位置可以是壞塊內(nèi)的第一個頁或第二個頁里面的空閑區(qū)。因此,本步驟可 以通過讀取壞塊標識,獲取壞塊信息。通過讀取壞塊標識不僅可以得到壞塊的位置信息,還可以得到壞塊的數(shù)量信息。
步驟202:將讀取的壞塊信息寫入嵌入式軟件的指定位置,在嵌入式軟 件中增加驗證過程代碼。
在實際中,嵌入式軟件通常采用.bin格式的文件,例如image.bin,本文 將.bin格式的嵌入式軟件稱為BIN文件。
本實施例是在BIN文件的指定位置寫入壞塊信息,例如可以在BIN文 件的開頭和結(jié)尾處留下數(shù)據(jù)空間,供保存壞塊信息使用。在實際中,還可以 將讀取的壞塊信息下載到Flash芯片的指定位置,或者將讀取的壞塊信息下 載到嵌入式設(shè)備的指定位置,例如下載到設(shè)置在嵌入式設(shè)備的一個加密芯片 中。
在將讀取的壞塊信息寫入指定位置之前,還可以采用預先約定的加密算 法對壞塊信息進行加密,從而提高壞塊信息的保密程度,進而增強嵌入式設(shè) 備的不可復制性。
步驟203:將修改后的BIN文件通過JTAG硬件下栽到Flash芯片中, 完成燒錄過程。
在其他實施例中,如果嵌入式軟件已經(jīng)下載到嵌入式設(shè)備中,則直接將 壞塊信息下載到嵌入式設(shè)備中嵌入式軟件的指定位置,或下載到Flash芯片 中除嵌入式軟件存儲位置之外的指定位置,或下載到嵌入式設(shè)備中除Flash 芯片之外的指定位置。
步驟204:在嵌入式設(shè)備啟動存儲介質(zhì)中BIN文件時,運4亍BIN文件 中的驗證過程代碼,以執(zhí)行驗證過程。在驗證過程中,讀取BIN文件指定 位置上的壞塊信息。如果讀取的壞塊信息已加密,則采用約定的解密算法對 壞塊信息進行解密。
步驟205:根據(jù)步驟204獲得的壞塊信息',驗證壞塊信息指示的所有區(qū) 塊位置是否確實均為實際壞塊,如果是,則驗證通過,繼續(xù)運行軟件,否則, 驗證失敗,退出運行。
本步驟在判斷某個區(qū)塊是否為實際壞塊時,可以通過讀取壞塊標識判斷該區(qū)塊是否為壞塊。在實際中,如果侵權(quán)者通過某些渠道獲得壞塊信息,并 試圖通過磁盤管理軟件人為地將特定的好塊設(shè)置為壞塊,則可能實現(xiàn)壞塊信 息的復制。為了防止這種情況的發(fā)生,較佳地,本實施例通過讀寫數(shù)據(jù)的方 式對存儲介質(zhì)進行壞塊測試,具體來說是對同一區(qū)塊進行數(shù)據(jù)寫入和讀取的 操作,如果寫入數(shù)據(jù)與讀取數(shù)據(jù)一致,則確定該區(qū)塊為好快,如杲不一致, 則確定為壞塊。
至此,本流程結(jié)束。
為了實現(xiàn)上述嵌入式設(shè)備的加解密方法,本發(fā)明實施例還提供了 一種加 解密系統(tǒng)。該加解密系統(tǒng)包括加密單元和解密單元。其中,
加密單元,用于在加密時,統(tǒng)計嵌入式設(shè)備中存儲介質(zhì)中的壞塊,生成
壞塊信息;將所述壞塊信息保存到指定位置。
其中,該加密單元生成的壞塊信息包括存儲介質(zhì)中所有壞塊的位置信 息,和/或存儲介質(zhì)中所有壞塊的數(shù)量信息,和/或存儲介質(zhì)中至少一個包含 壞塊的選定地址空間中的壞塊位置信息,和/或存儲介質(zhì)中至少一個包含壞 塊的選定地址空間中的壞塊數(shù)量信息,和/或存儲介質(zhì)中至少 一個包含壞塊 的選定地址空間的空間位置信息。 。
該加密單元將壞塊信息保存到指定位置時,可以將壞塊信息保存到嵌入 式軟件的指定位置;或者,將壞塊信息下載到存儲介質(zhì)的指定位置;或者, 將壞塊信息下載到嵌入式設(shè)備的指定位置,例如下載到設(shè)置于嵌入式設(shè)備中 的加密芯片內(nèi)。
解密單元,用于在解密時,從所述指定位置獲取壞塊信息,驗證存儲介 質(zhì)上的實際壞塊是否匹配所述壞塊信息;如果匹配,則解密成功,否則,解 密失敗。
針對不同的壞塊信息內(nèi)容,驗證操作略有不同。具體驗證操作已經(jīng)在前 述方法實施例中進行了詳細描述,這里略。
該解密單元在獲取實際壞塊信息時,可以通過讀取存儲介質(zhì)中的壞塊標識得到實際壞塊的信息,或者通過讀寫數(shù)據(jù)的方式對存儲介質(zhì)進行壞塊測 試,將寫入數(shù)據(jù)和讀取數(shù)據(jù)不一致的區(qū)塊確定為實際壞塊。
如前所述,該加解密系統(tǒng)可以較好地應(yīng)用于嵌入式設(shè)備的生產(chǎn)過程。簡 單地說,在這種情況下,加密單元設(shè)置在嵌入式軟件燒錄裝置中,當該嵌入 式軟件燒錄裝置向嵌入式設(shè)備的存儲介質(zhì)下載嵌入式軟件時,加密單元執(zhí)行 其自身操作。
解密單元設(shè)置在嵌入式設(shè)備中,當嵌入式設(shè)備啟動存儲介質(zhì)中的嵌入式 軟件時,解密單元執(zhí)行其自身操作,如果解密成功,則繼續(xù)啟動流程,如果 解密失敗,則退出啟動流程。
圖3示出了加解密系統(tǒng)應(yīng)用于嵌入式設(shè)備生產(chǎn)過程的示意圖。如圖3所 示,嵌入式軟件燒錄裝置通常通過JTAG硬件與存儲介質(zhì)相連。燒錄完成后, 取消存儲介質(zhì)與嵌入式軟件燒錄裝置的連接關(guān)系,將存儲介質(zhì)連接到嵌入式 設(shè)備中。圖3中的單箭頭粗實線表示存儲介質(zhì)連接位置的變化。
如圖3所示,加密單元31設(shè)置在嵌入式軟件燒錄裝置中。在嵌入式設(shè) 備的生產(chǎn)過程中,當嵌入式軟件燒錄裝置向嵌入式設(shè)備中的存儲介質(zhì)下載 BIN文件時,加密單元31通過JTAG硬件讀取存儲介質(zhì)的壞塊信息;將讀 取的壞塊信息寫入BIN文件的指定位置,在BIN文件中增加驗證過程代碼, 然后將修改后的BIN文件通過JTAG硬件下載到存儲介質(zhì)。
解密單元32設(shè)置在嵌入式設(shè)備中。在嵌入式設(shè)備啟動其存儲介質(zhì)中BIN 文件時,解密單元32通過運行BIN文件中的驗證過程代碼以執(zhí)行驗證過程, 在該驗證過程中,讀取BIN文件中指定位置上的壞塊信息,驗證存儲介質(zhì) 上的實際壞塊是否匹配讀取的壞塊信息;如果匹配,則繼續(xù)啟動流程,否則, 退出啟動流程。
綜上所述,以上僅為本發(fā)明的較佳實施例而已,并非用于限定本發(fā)明的 保護范圍。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改 進等,均應(yīng)包含在本發(fā)明的保護范圍之內(nèi)。
權(quán)利要求
1、一種嵌入式設(shè)備的加解密方法,其特征在于,該方法包括A、加密時,統(tǒng)計嵌入式設(shè)備中存儲介質(zhì)中的壞塊,生成壞塊信息;將所述壞塊信息保存到指定位置;B、解密時,從所述指定位置獲取壞塊信息,驗證存儲介質(zhì)上的實際壞塊是否匹配所述壞塊信息;如果匹配,則解密成功,否則,解密失敗。
2、 如權(quán)利要求l所述的方法,其特征在于,所述壞塊信息包括 所述存儲介質(zhì)中所有壞塊的位置信息,和/或,所述存儲介質(zhì)中所有壞塊的數(shù)量信息,和/或,所迷存儲介質(zhì)中至少一個包含壞塊的選定地址空間中的壞塊位置信自和/或,所述存儲介質(zhì)中至少一個包含壞塊的選定地址空間中的壞塊數(shù)量信臺和/或,所述存儲介質(zhì)中至少一個包含壞塊的選定地址空間的空間位置信 息。..
3、 如權(quán)利要求l所述的方法,其特征在于,所述統(tǒng)計嵌入式設(shè)備中存儲介 質(zhì)中的壞塊,生成壞塊信息為讀取存儲介質(zhì)中所有壞塊的地址,生成包含各 壞塊地址的壞塊信息;所述驗證存儲介質(zhì)上的實際壞塊是否匹配所述壞塊信息為判斷壞塊信息 中各壞塊地址指示的區(qū)塊是否均為實際壞塊,如果是,則判定為匹配,否則判 定為不匹配。
4、 如權(quán)利要求l所述的方法,其特征在于,所述統(tǒng)計嵌入式設(shè)備中存儲介 質(zhì)中的壞塊,生成壞塊信息為選定n個包含壞塊的地址空間,n為正整數(shù), 針對每個選定的地址空間統(tǒng)計壞塊個數(shù),記為統(tǒng)計個數(shù),生成包含各地址空間 的位置和統(tǒng)計個數(shù)的壞塊信息;所述驗證存儲介質(zhì)上實際壞塊是否匹配所述壞塊信息為判斷是否所有選定的地址空間中實際壞塊的數(shù)量都大于自身對應(yīng)的統(tǒng)計個數(shù);如果是,則判定 為匹配,否則,判定為不匹配。
5、 如權(quán)利要求l所述的方法,其特征在于,所述統(tǒng)計嵌入式設(shè)備中存儲介 質(zhì)中的壞塊,生成壞塊信息為選定n個包含壞塊的地址空間,生成包含地址 空間位置的壞塊信息;所述驗證存儲介質(zhì)上實際壞塊是否匹配所述壞塊信息為判斷是否所有選 定的地址空間中都存在壞塊;如果是,則判定為匹配,否則判定為不匹配。
6、 如權(quán)利要求1至5任意一項所述的方法,其特征在于,所述將所述壞塊 信息保存到指定位置為將所述壞塊信息M到嵌入式軟件的指定位置;或者,將所述壞塊信息下載到所述存儲介質(zhì)的指定位置;或者,將所述壞塊信息下載到所述嵌入式設(shè)備的指定位置。
7、 如權(quán)利要求1至5任意一項所述的方法,其特征在于,該方法進一步包 括將壞塊信息保存到指定位置之前,對壞塊信息加密;執(zhí)行所述驗證操作之前,對從指定位置上獲取的壞塊信息進行解密。
8、 如權(quán)利要求1至5任意一項所述的方法,其特征在于,解密時,所述存 儲介質(zhì)上的實際壞塊的信息是通過讀取存儲介質(zhì)中的壞塊標識得到的;或者, 通過讀寫數(shù)據(jù)的方式對存儲介質(zhì)進行壞塊測試,將寫入數(shù)據(jù)和讀取數(shù)據(jù)不一致 的區(qū)塊確定為實際壞塊。
9、 如權(quán)利要求1至5任意一項所述的方法,其特征在于,向嵌入式設(shè)備的 存儲介質(zhì)下載嵌入式軟件時,執(zhí)行所述步驟A;嵌入式設(shè)備啟動存儲介質(zhì)中的嵌入式軟件時,執(zhí)行所述步驟B,如果解密 成功,則繼續(xù)啟動流程,如果解密失敗,則退出啟動流程。
10、 如權(quán)利要求1或2所述的方法,其特征在于,該方法適用于嵌入式設(shè) 備的生成過程;所迷步驟A包括在嵌入式設(shè)備的生產(chǎn)過程中,通過JTAG硬件讀取嵌入 式設(shè)備中存儲介質(zhì)的壞塊信息;將讀取的壞塊信息寫入嵌入式軟件的指定位置,在嵌入式軟件中增加驗證過程代碼,將修改后的嵌入式軟件通過JTAG硬件下 載到所述存儲介質(zhì)中;所述步驟B包括在嵌入式設(shè)備啟動存儲介質(zhì)中嵌入式軟件時,通過運行 所述驗證過程代碼執(zhí)行驗證過程,在該驗證過程中,讀取嵌入式軟件中所述指 定位置上的壞塊信息,驗證存儲介質(zhì)上的實際壞塊是否匹配所述壞塊信息;如 果匹配,則繼續(xù)啟動流程,否則,退出啟動流程。
11、 一種嵌入式設(shè)備的加解密系統(tǒng),其特征在于,該加解密系統(tǒng)包括加密 單元和解密單元;所述加密單元,用于在加密時,統(tǒng)計嵌入式設(shè)備中存儲介質(zhì)中的壞塊,生 成壞塊信息;將所述壞塊信息4呆存到指定位置;所述解密單元,用于在解密時,從所述指定位置獲取壞塊信息,驗證存儲 介質(zhì)上的實際壞塊是否匹配所述壞塊信息;如果匹配,則解密成功,否則,解 密失敗。
12、 如權(quán)利要求11所述的加解密系統(tǒng),其特征在于,所述加密單元生成的 壞塊信息包括所迷存儲介質(zhì)中所有壞塊的位置信息,和/或所述存儲介質(zhì)中所 有壞塊的數(shù)量信息,和/或所述存儲介質(zhì)中至少一個包含壞塊的選定地址空間中 的壞塊位i信息,和/或所述存儲介質(zhì)中至少 一個包含壞塊的選定地址空間中的 壞塊數(shù)量信息,和/或所述存儲介質(zhì)中至少 一個包含壞塊的選定地址空間的空間 位置信息。
13、 如權(quán)利要求11所述的加解密系統(tǒng),其特征在于,所述加密單元將所述 壞塊信息保存到指定位置時,將所述壞塊信息保存到嵌入式軟件的指定位置; 或者,將所述壞塊信息下載到所述存書者介質(zhì)的指定位置;或者,將所迷壞塊信 息下載到所述嵌入式設(shè)備的指定位置。
14、 如權(quán)利要求ll所述的加解密系統(tǒng),其特征在于,所述解密單元通過讀 取存儲介質(zhì)中的壞塊標識得到實際壞塊的信息,或者通過讀寫數(shù)據(jù)的方式對存 儲介質(zhì)進行壞塊測試,將寫入數(shù)據(jù)和讀取數(shù)據(jù)不一致的區(qū)塊確定為實際壞塊。
15、 如權(quán)利要求11至14任意一項所述的加解密系統(tǒng),其特征在于,所述加密單元設(shè)置在嵌入式軟件燒錄裝置中,當該嵌入式軟件燒錄裝置向嵌入式設(shè)備的存儲介質(zhì)下載嵌入式軟件時,加密單元執(zhí)行其自身操作;所述解密單元設(shè)置在嵌入式設(shè)備中,當該嵌入式設(shè)備啟動存儲介質(zhì)中的嵌 入式軟件時,解密單元執(zhí)行其自身操作,如果解密成功,則繼續(xù)啟動流程,如 果解密失敗,則退出啟動流程。
16、如權(quán)利要求11或12所述的加解密系統(tǒng),其特征在于,所述加密單元 設(shè)置在嵌入式軟件燒錄裝置中;在嵌入式設(shè)備的生產(chǎn)過程中,當所述嵌入式軟件燒錄裝置向嵌入式設(shè)備中 的存儲介質(zhì)下載嵌入式軟件時,所述加密單元通過聯(lián)合測試行為組織JTAG硬 件讀取所述存儲介質(zhì)的壞塊信息;將讀取的壞塊信息寫入嵌入式軟件的指定位 置,在嵌入式軟件中增加驗證過程代碼,將修改后的嵌入式軟件通過JTAG硬 件下載到所述存儲介質(zhì)中;所述解密單元設(shè)置在嵌入式設(shè)備中,在所述嵌入式設(shè)備啟動其存儲介質(zhì)中 嵌入式軟件時,所述解密單元通過運行所述嵌入式軟件中的驗證過程代碼以執(zhí) 行驗證過程,在該驗證過程中,讀取所述嵌入式軟件中所述指定位置上的壞塊 信息,驗證存儲介質(zhì)上的實際壞塊是否匹配所述壞塊信息;如果匹配,則繼續(xù) 啟動流程,否則,退出啟動流程。
全文摘要
本發(fā)明公開了一種嵌入式設(shè)備的加解密方法和系統(tǒng)。所述方法包括以下步驟加密時,統(tǒng)計嵌入式設(shè)備中存儲介質(zhì)中的壞塊,生成壞塊信息,將所述壞塊信息保存到指定位置;解密時,從所述指定位置獲取壞塊信息,驗證存儲介質(zhì)上的實際壞塊是否匹配所述壞塊信息;如果匹配,則解密成功,否則,解密失敗。使用本發(fā)明能夠借助存儲介質(zhì)本身特有的,且不易復制的信息進行加密,以提高嵌入式設(shè)備的防護力度。
文檔編號G06F21/00GK101609492SQ20091015148
公開日2009年12月23日 申請日期2009年7月23日 優(yōu)先權(quán)日2009年7月23日
發(fā)明者陳立勤 申請人:凌陽科技股份有限公司;北京北陽電子技術(shù)有限公司