專利名稱:一種機(jī)頂盒安全啟動的方法及系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及機(jī)頂盒技術(shù)領(lǐng)域,尤其涉及一種機(jī)頂盒安全啟動的方法及系統(tǒng)。
背景技術(shù):
機(jī)頂盒作為信息傳媒的一種,在人們的生活中發(fā)揮著越來越多的作用,防護(hù)機(jī)頂盒的信息安全也顯得越來越重要。機(jī)頂盒的軟件程序通常包括三部分開機(jī)引導(dǎo)程序,應(yīng)用程序和資源數(shù)據(jù)。他們都存儲在機(jī)頂盒固定的存儲區(qū)域內(nèi)。開機(jī)引導(dǎo)程序引導(dǎo)機(jī)頂盒將應(yīng)用程序加載到內(nèi)存中,使得機(jī)頂盒運(yùn)行起來。機(jī)頂盒的安全啟動的方法通常是機(jī)頂盒上電之后,會自動運(yùn)行開機(jī)引導(dǎo)程序; 開機(jī)引導(dǎo)程序檢測應(yīng)用程序文件的循環(huán)校驗碼或者一些簡單的校驗數(shù)據(jù);如果檢驗通過, 開機(jī)引導(dǎo)程序?qū)褢?yīng)用程序加載到機(jī)頂盒內(nèi)存中,機(jī)頂盒則正常運(yùn)行起來;如果檢驗不通過,開機(jī)引導(dǎo)程序?qū)⒉粫褢?yīng)用程序加載到機(jī)頂盒內(nèi)存中,并提示用戶進(jìn)行機(jī)頂盒應(yīng)用程序的升級。但現(xiàn)有的機(jī)頂盒的安全啟動方法有以下缺陷
1、開機(jī)引導(dǎo)程序?qū)?yīng)用程序文件的檢測比較簡單,不法分子容易改變或者破壞應(yīng)用程
序;
2、應(yīng)用程序文件以明文的形式存儲在存儲區(qū)域內(nèi),容易被不法分子更改應(yīng)用程序數(shù)據(jù)或者復(fù)制應(yīng)用程序文件。
發(fā)明內(nèi)容
本發(fā)明要解決的技術(shù)問題在于,針對現(xiàn)有技術(shù)的上述應(yīng)用程序文件的數(shù)據(jù)保密性低,容易被不法分子破壞或復(fù)制的缺陷,提供一種機(jī)頂盒安全啟動的方法,提高了應(yīng)用程序文件的數(shù)據(jù)保密性,使不法分子不容易更改或復(fù)制應(yīng)用程序數(shù)據(jù)。本發(fā)明解決其技術(shù)問題所采用的技術(shù)方案是構(gòu)造一種機(jī)頂盒安全啟動的方法, 包括
A.預(yù)先對應(yīng)用程序文件進(jìn)行加密,得到加密文件;
B.上電后運(yùn)行開機(jī)引導(dǎo)程序,對所述加密文件進(jìn)行解密,得到所述應(yīng)用程序文件;
C.運(yùn)行所述應(yīng)用程序文件,完成啟動。在本發(fā)明所述的機(jī)頂盒安全啟動的方法中,
步驟A具體包括Al,預(yù)先使用AES算法對應(yīng)用程序文件進(jìn)行加密,得到第一加密文件; 步驟B具體包括Bl,使用AES密鑰對所述第一加密文件進(jìn)行解密,得到所述應(yīng)用程序文件。在本發(fā)明所述的機(jī)頂盒安全啟動的方法中,所述步驟Al之后還包括A2 預(yù)先使用 RSA算法對所述第一加密文件進(jìn)行加密,得到第二加密文件;
所述步驟Bl之前還包括B2 使用RSA密鑰對所述第二加密文件進(jìn)行解密,得到所述第一加密文件。
在本發(fā)明所述的機(jī)頂盒安全啟動的方法中,所述步驟A2包括 A21.預(yù)先使用RSA算法對所述第一加密文件進(jìn)行加密,得到摘要文件; A22.所述摘要文件和所述第一加密文件共同組成第二加密文件。在本發(fā)明所述的機(jī)頂盒安全啟動的方法中,所述步驟A2之后還包括A3:預(yù)先計算所述第二加密文件的大小,所計算出的文件大小數(shù)值與所述第二加密文件共同組成第三加密文件;
所述步驟B2之前還包括B3 在所述第三加密文件中,根據(jù)所述文件大小數(shù)值,讀取出大小相應(yīng)的所述第二加密文件。在本發(fā)明所述的機(jī)頂盒安全啟動的方法中,所述AES密鑰和RSA密鑰通過硬件保護(hù),存儲在開機(jī)引導(dǎo)程序內(nèi)。本發(fā)明還構(gòu)造一種機(jī)頂盒安全啟動的系統(tǒng),包括
開機(jī)引導(dǎo)模塊,用于在上電后運(yùn)行開機(jī)引導(dǎo)程序,對加密文件進(jìn)行解密,得到應(yīng)用程序文件,所述加密文件通過預(yù)先對應(yīng)用程序文件加密而得到; 啟動運(yùn)行模塊,用于運(yùn)行所述應(yīng)用程序文件,完成啟動。在本發(fā)明所述的機(jī)頂盒安全啟動的系統(tǒng)中,
所述加密文件為預(yù)先使用AES算法對應(yīng)用程序文件進(jìn)行加密所得到的第一加密文件,且AES密鑰存儲在機(jī)頂盒的存儲區(qū)域內(nèi); 所述開機(jī)引導(dǎo)模塊包括
AES解密單元,用于讀取AES密鑰,并使用AES密鑰對所述第一加密文件進(jìn)行解密,得到所述應(yīng)用程序文件。在本發(fā)明所述的機(jī)頂盒安全啟動的系統(tǒng)中,
所述加密文件為預(yù)先使用RSA算法對所述第一加密文件進(jìn)行加密所得到的第二加密文件,且RSA密鑰存儲在機(jī)頂盒的存儲區(qū)域內(nèi); 所述開機(jī)引導(dǎo)模塊還包括
RSA解密單元,用于讀取RSA密鑰和簽名文件,并使用RSA密鑰對所述第二加密文件進(jìn)行解密,得到所述第一加密文件。在本發(fā)明所述的機(jī)頂盒安全啟動的系統(tǒng)中,
所述加密文件為預(yù)先計算出的所述第二加密文件的大小數(shù)值與所述第二加密文件共同組成的第三加密文件;
所述開機(jī)引導(dǎo)模塊還包括
讀取單元,用于在所述第三加密文件中,根據(jù)所述文件大小數(shù)值,讀取出大小相應(yīng)的所述第二加密文件。實施本發(fā)明的技術(shù)方案,由于機(jī)頂盒所存儲的應(yīng)用程序文件是加密后的,在上電后運(yùn)行開機(jī)引導(dǎo)程序,并對該加密文件進(jìn)行相應(yīng)的解密,所以,該方法提高了應(yīng)用程序文件的數(shù)據(jù)保密性,使不法分子不容易更改應(yīng)用程序數(shù)據(jù)或者復(fù)制應(yīng)用程序數(shù)據(jù)。
下面將結(jié)合附圖及實施例對本發(fā)明作進(jìn)一步說明,附圖中 圖1是本發(fā)明機(jī)頂盒安全啟動的方法的流程5圖2A是圖1中步驟SlOO優(yōu)選實施例的流程圖; 圖2B是圖1中步驟S200優(yōu)選實施例的流程圖; 圖3是本發(fā)明機(jī)頂盒安全啟動的系統(tǒng)的結(jié)構(gòu)圖; 圖4是圖3中開機(jī)引導(dǎo)模塊優(yōu)選實施例的結(jié)構(gòu)圖。
具體實施例方式如圖1所示,在本發(fā)明機(jī)頂盒安全啟動的方法的流程圖中,該方法包括以下步驟
5100.預(yù)先對應(yīng)用程序文件進(jìn)行加密,得到加密文件;
5200.上電后運(yùn)行開機(jī)引導(dǎo)程序,對所述加密文件進(jìn)行解密,得到所述應(yīng)用程序文件; S300.運(yùn)行所述應(yīng)用程序文件,完成啟動。
實施該技術(shù)方案,由于機(jī)頂盒所存儲的應(yīng)用程序文件是加密后的,在上電后運(yùn)行開機(jī)引導(dǎo)程序,并對該加密文件進(jìn)行相應(yīng)的解密,所以,該方法提高了應(yīng)用程序文件的數(shù)據(jù)保密性,使不法分子不容易更改應(yīng)用程序數(shù)據(jù)或者復(fù)制應(yīng)用程序數(shù)據(jù)。圖2A是圖1中步驟SlOO優(yōu)選實施例的流程圖,首先說明的是,該加密的步驟SlOO 并不是在機(jī)頂盒中進(jìn)行的,而是在應(yīng)用程序文件發(fā)送到機(jī)頂盒之前就已經(jīng)完成了的。另外, 圖2A中所示的加密的步驟SlOO與圖2B所示的解密的步驟S200互為反運(yùn)算。在該實施例中,步驟SlOO包括
5101.預(yù)先使用AES算法對應(yīng)用程序文件進(jìn)行加密,得到第一加密文件;
5102.預(yù)先使用RSA算法對第一加密文件進(jìn)行加密,得到第二加密文件;該步驟具體包括使用RSA算法對第一加密文件進(jìn)行加密,得到摘要文件,將摘要文件和第一加密文件共同組成第二加密文件;
5103.預(yù)先計算第二加密文件的大小,所計算出的文件大小數(shù)值與第二加密文件共同組成第三加密文件。圖2B是圖1中步驟S200優(yōu)選實施例的流程圖,在該實施例中,步驟S200包括
5201.在第三加密文件中,根據(jù)文件大小數(shù)值,讀取出大小相應(yīng)的第二加密文件;
5202.使用RSA密鑰對第二加密文件進(jìn)行解密,得到第一加密文件;
5203.使用AES密鑰對第一加密文件進(jìn)行解密,得到應(yīng)用程序文件。下面以一個例子說明圖2A和圖2B分別所示的加密的步驟和解密的步驟。首先,使用AES算法對應(yīng)用程序文件app. bin進(jìn)行加密,得到第一加密文件app_ encrypt, bin,這樣保證了應(yīng)用程序文件不以明文的方式存儲在機(jī)頂盒的存儲區(qū)域內(nèi),保護(hù)了應(yīng)用程序不被復(fù)制。然后,使用RSA算法對第一加密文件app_enCrypt. bin進(jìn)行加密,得到摘要文件, 再將這個摘要文件存放在第一加密文件appjncrypt. bin的頭部或尾部,以形成第二加密文件 app_encrypt_sign. bin。最后,計算第二加密文件app_encrypt_sign.bin的大小,如文件大小為IOMjf IOM這個數(shù)值與第二加密文件共同組成第三加密文件app_encrypt_sign_size. bin,第三加密文件app_encrypt_Sign_Size. bin的前面四個字節(jié)可以存放IOM這個數(shù)值,接著可以存放第二加密文件app_enCrypt_Sign. bin。當(dāng)對第二加密文件解密時,經(jīng)常會多讀或少讀第二加密文件導(dǎo)致錯誤,所以計算出文件的數(shù)值,可提高文件讀取的效率。
這樣,就實現(xiàn)了預(yù)先對應(yīng)用程序文件的加密,隨后可將該加密文件下載到機(jī)頂盒的相應(yīng)存儲區(qū)域內(nèi)。當(dāng)機(jī)頂盒上電后,運(yùn)行開機(jī)引導(dǎo)程序,開機(jī)引導(dǎo)程序就可對該加密文件進(jìn)行相應(yīng)的解密,以得到應(yīng)用程序文件,具體為
首先,在第三加密文件app_encrypt_sign_size.bin中,根據(jù)IOM這個數(shù)值,讀取出大小相應(yīng)的第二加密文件app_encrypt_sign. bin。然后,使用RSA密鑰對第二加密文件app_ encrypt_sign. bin進(jìn)行解密,得到第一加密文件app_encrypt. bin。最后,使用AES密鑰對第一加密文件app_encrypt. bin進(jìn)行解密,得到應(yīng)用程序文件app. bin。優(yōu)選地,上述實施例中的AES密鑰和RSA密鑰通過硬件保護(hù),存儲在開機(jī)弓I導(dǎo)程序內(nèi)。例如,AES密鑰和RSA密鑰均存儲在開機(jī)引導(dǎo)程序文件所在的存儲區(qū)域內(nèi),可以用硬件特性保護(hù)這一存儲區(qū)域不能被再次燒寫,這樣就保護(hù)了 AES密鑰和RSA密鑰的安全。圖2A和圖2B只是圖1中步驟SlOO和步驟S200的一個優(yōu)選實施例,僅用于解釋本發(fā)明,并不用于限定本發(fā)明的保護(hù)范圍。在另一實施例中,步驟SlOO可僅步驟S101,相應(yīng)地,步驟S200僅包括步驟S203。在另一個實施例中,圖1中的步驟SlOO包括步驟S102和步驟S103,相應(yīng)地,步驟 S200包括步驟S202和步驟S203。如圖3所示,在本發(fā)明機(jī)頂盒安全啟動的系統(tǒng)的結(jié)構(gòu)圖中,該系統(tǒng)包括相連接的開機(jī)引導(dǎo)模塊100和啟動運(yùn)行模塊200。其中,開機(jī)引導(dǎo)模塊100用于在上電后運(yùn)行開機(jī)引導(dǎo)程序,對加密文件進(jìn)行解密,得到應(yīng)用程序文件,加密文件通過預(yù)先對應(yīng)用程序文件加密而得到;啟動運(yùn)行模塊200用于運(yùn)行應(yīng)用程序文件,完成啟動。圖4是圖3中開機(jī)引導(dǎo)模塊100優(yōu)選實施例的結(jié)構(gòu)圖,首先說明的是,由于解密和加密是互為反運(yùn)算,所以在說明開機(jī)引導(dǎo)模塊100如何進(jìn)行解密之前首先說明與該解密對應(yīng)的加密,該加密步驟為首先,預(yù)先使用AES算法對應(yīng)用程序文件進(jìn)行加密,得到第一加密文件。然后,使用RSA算法對第一加密文件進(jìn)行加密,得到第二加密文件,例如,使用RSA 算法對第一加密文件進(jìn)行加密,得到摘要文件,摘要文件和第一加密文件共同組成第二加密文件。最后,預(yù)先計算第二加密文件的大小,所計算出的文件大小數(shù)值與第二加密文件共同組成第三加密文件。通過上面步驟的加密,該加密文件為預(yù)先計算出的第二加密文件的大小數(shù)值與第二加密文件共同組成的第三加密文件,另外,AES密鑰和RSA密鑰均存儲在機(jī)頂盒的存儲區(qū)域內(nèi)。下面具體說明該開機(jī)引導(dǎo)模塊100的邏輯結(jié)構(gòu),該開機(jī)引導(dǎo)模塊100 包括依次相連的讀取單元101、RSA解密單元102和AES解密單元103。其中,讀取單元101 用于在第三加密文件中,根據(jù)文件大小數(shù)值,讀取出大小相應(yīng)的第二加密文件;RSA解密單元102用于讀取RSA密鑰和簽名文件,并使用RSA密鑰對第二加密文件進(jìn)行解密,得到第一加密文件;AES解密單元103用于讀取AES密鑰,并使用AES密鑰對第一加密文件進(jìn)行解密, 得到應(yīng)用程序文件。同樣地,圖4只是圖3中開機(jī)引導(dǎo)模塊100的一個優(yōu)選實施例的結(jié)構(gòu)圖。在另一實施例中,開機(jī)引導(dǎo)模塊100可僅包括AES解密單元103,該AES解密單元103用于讀取AES 密鑰,并使用AES密鑰對第一加密文件進(jìn)行解密,得到應(yīng)用程序文件。當(dāng)然,在該實施例中, 機(jī)頂盒所存儲的加密文件為預(yù)先使用AES算法對應(yīng)用程序文件進(jìn)行加密所得到的第一加密文件,且AES密鑰存儲在機(jī)頂盒的存儲區(qū)域內(nèi)。
在另一實施例中,開機(jī)引導(dǎo)模塊100可僅包括RSA解密單元102和AES解密單元 103,且該RSA解密單元102用于讀取RSA密鑰和簽名文件,并使用RSA密鑰對第二加密文件進(jìn)行解密,得到第一加密文件;該AES解密單元103用于讀取AES密鑰,并使用AES密鑰對第一加密文件進(jìn)行解密,得到應(yīng)用程序文件。當(dāng)然,在該實施例中,機(jī)頂盒所存儲的加密文件為預(yù)先使用RSA算法對第一加密文件進(jìn)行加密所得到的第二加密文件。以上所述僅為本發(fā)明的優(yōu)選實施例而已,并不用于限制本發(fā)明,對于本領(lǐng)域的技術(shù)人員來說,本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的權(quán)利要求范圍之內(nèi)。
權(quán)利要求
1.一種機(jī)頂盒安全啟動的方法,其特征在于,包括A.預(yù)先對應(yīng)用程序文件進(jìn)行加密,得到加密文件;B.上電后運(yùn)行開機(jī)引導(dǎo)程序,對所述加密文件進(jìn)行解密,得到所述應(yīng)用程序文件;C.運(yùn)行所述應(yīng)用程序文件,完成啟動。
2.根據(jù)權(quán)利要求1所述的機(jī)頂盒安全啟動的方法,其特征在于,步驟A具體包括Al,預(yù)先使用AES算法對應(yīng)用程序文件進(jìn)行加密,得到第一加密文件; 步驟B具體包括Bi,使用AES密鑰對所述第一加密文件進(jìn)行解密,得到所述應(yīng)用程序文件。
3.根據(jù)權(quán)利要求2所述的機(jī)頂盒安全啟動的方法,其特征在于,所述步驟Al之后還包括A2 預(yù)先使用RSA算法對所述第一加密文件進(jìn)行加密,得到第二加密文件;所述步驟Bl之前還包括B2 使用RSA密鑰對所述第二加密文件進(jìn)行解密,得到所述第一加密文件。
4.根據(jù)權(quán)利要求3所述的機(jī)頂盒安全啟動的方法,其特征在于,所述步驟A2包括 A21.預(yù)先使用RSA算法對所述第一加密文件進(jìn)行加密,得到摘要文件;A22.所述摘要文件和所述第一加密文件共同組成第二加密文件。
5.根據(jù)權(quán)利要求3或4所述的機(jī)頂盒安全啟動的方法,其特征在于,所述步驟A2之后還包括A3 預(yù)先計算所述第二加密文件的大小,所計算出的文件大小數(shù)值與所述第二加密文件共同組成第三加密文件;所述步驟B2之前還包括B3 在所述第三加密文件中,根據(jù)所述文件大小數(shù)值,讀取出大小相應(yīng)的所述第二加密文件。
6.根據(jù)權(quán)利要求3或4所述的機(jī)頂盒安全啟動的方法,其特征在于,所述AES密鑰和 RSA密鑰通過硬件保護(hù),存儲在開機(jī)弓I導(dǎo)程序內(nèi)。
7.一種機(jī)頂盒安全啟動的系統(tǒng),其特征在于,包括開機(jī)引導(dǎo)模塊,用于在上電后運(yùn)行開機(jī)引導(dǎo)程序,對加密文件進(jìn)行解密,得到應(yīng)用程序文件,所述加密文件通過預(yù)先對應(yīng)用程序文件加密而得到; 啟動運(yùn)行模塊,用于運(yùn)行所述應(yīng)用程序文件,完成啟動。
8.根據(jù)權(quán)利要求7所述的機(jī)頂盒安全啟動的系統(tǒng),其特征在于,所述加密文件為預(yù)先使用AES算法對應(yīng)用程序文件進(jìn)行加密所得到的第一加密文件,且AES密鑰存儲在機(jī)頂盒的存儲區(qū)域內(nèi); 所述開機(jī)引導(dǎo)模塊包括AES解密單元,用于讀取AES密鑰,并使用AES密鑰對所述第一加密文件進(jìn)行解密,得到所述應(yīng)用程序文件。
9.根據(jù)權(quán)利要求8所述的機(jī)頂盒安全啟動的系統(tǒng),其特征在于,所述加密文件為預(yù)先使用RSA算法對所述第一加密文件進(jìn)行加密所得到的第二加密文件,且RSA密鑰存儲在機(jī)頂盒的存儲區(qū)域內(nèi);所述開機(jī)引導(dǎo)模塊還包括RSA解密單元,用于讀取RSA密鑰和簽名文件,并使用RSA密鑰對所述第二加密文件進(jìn)行解密,得到所述第一加密文件。
10.根據(jù)權(quán)利要求9所述的機(jī)頂盒安全啟動的系統(tǒng),其特征在于, 所述加密文件為預(yù)先計算出的所述第二加密文件的大小數(shù)值與所述第二加密文件共同組成的第三加密文件;所述開機(jī)引導(dǎo)模塊還包括讀取單元,用于在所述第三加密文件中,根據(jù)所述文件大小數(shù)值,讀取出大小相應(yīng)的所述第二加密文件。
全文摘要
本發(fā)明公開了一種機(jī)頂盒安全啟動的方法和系統(tǒng),該方法包括A.預(yù)先對應(yīng)用程序文件進(jìn)行加密,得到加密文件;B.上電后運(yùn)行開機(jī)引導(dǎo)程序,對所述加密文件進(jìn)行解密,得到所述應(yīng)用程序文件;C.運(yùn)行所述應(yīng)用程序文件,完成啟動。本發(fā)明還構(gòu)造一種機(jī)頂盒安全啟動的系統(tǒng)。實施本發(fā)明的技術(shù)方案,由于機(jī)頂盒所存儲的應(yīng)用程序是加密后的,在上電后運(yùn)行開機(jī)引導(dǎo)程序,并對加密文件進(jìn)行相應(yīng)的解密,所以,該方法提高了應(yīng)用程序文件的數(shù)據(jù)保密性,使不法分子不容易更改應(yīng)用程序數(shù)據(jù)或者復(fù)制應(yīng)用程序數(shù)據(jù)。
文檔編號G06F9/445GK102231115SQ20111015061
公開日2011年11月2日 申請日期2011年6月7日 優(yōu)先權(quán)日2011年6月7日
發(fā)明者朱星龍 申請人:深圳市九洲電器有限公司