專利名稱::文件保護方法及其裝置的制作方法
技術(shù)領(lǐng)域:
:本發(fā)明涉及信息安全領(lǐng)域,特別是涉及一種文件保護方法及其裝置。
背景技術(shù):
:隨著計算機技術(shù)的快速發(fā)展,計算機軟件的不斷發(fā)展與完善,軟件的應(yīng)用領(lǐng)域越來越廣,在許多
技術(shù)領(lǐng)域:
發(fā)揮著重要的作用?,F(xiàn)在,許多產(chǎn)品都離不開軟件的應(yīng)用,許多產(chǎn)品需要配備完善的軟件系統(tǒng)才能正常工作,且充分發(fā)揮其硬件的各種功能,例如mp3播放器,便攜式媒體播放器(PortableMediaPlayer,PMP),個人數(shù)字助理(PersonalDigitalAssistant,PDA)等產(chǎn)品。通常軟件是由很多的相關(guān)聯(lián)的程序文件組成,產(chǎn)品生產(chǎn)商通過在產(chǎn)品的存儲介質(zhì)中,存儲安裝相關(guān)聯(lián)的程序文件,來搭配運行產(chǎn)品的硬件部分,以發(fā)揮產(chǎn)品的各種功能。對于同一類型的產(chǎn)品來說,通常情況下,它們的硬件結(jié)構(gòu)并沒有很大的區(qū)別,人們通過產(chǎn)品軟件功能上的差異來對它們進行區(qū)分。例如多家閃存(flash)生產(chǎn)商生產(chǎn)的flash都可以應(yīng)用到同一個產(chǎn)品中,而且多家flash生產(chǎn)商所生產(chǎn)的flash之間并沒有很大的區(qū)別,但是由于它們的flash驅(qū)動(driver)文件不一樣,將導(dǎo)致所述產(chǎn)品在功能上存在較大的差異??梢娨患a(chǎn)品的功能與其軟件的功能密切相關(guān)。通常情況下,為了產(chǎn)品生產(chǎn)的需要,軟件發(fā)布商要向產(chǎn)品生產(chǎn)商公開軟件。因為一般產(chǎn)品生產(chǎn)商生產(chǎn)不同的產(chǎn)品,所以產(chǎn)品生產(chǎn)商很容易拿到不同功能的產(chǎn)品軟件。產(chǎn)品生產(chǎn)商可以通過比較不同功能的產(chǎn)品軟件,找出這些軟件之間不同的文件,在對不同文件的功能進行比較分析后,對軟件中的文件進行增加、替換、修改或刪除后加以使用,這意味著產(chǎn)品生產(chǎn)商可以用某個產(chǎn)品的軟件文件對其他產(chǎn)品的軟件文件進行升級,例如,采用高端產(chǎn)品的軟件文件對低端產(chǎn)品的軟件文件升級后,就可以使低端產(chǎn)品具備和高端產(chǎn)品一樣的功能。如果軟件發(fā)布商研發(fā)的軟件文件被產(chǎn)品生產(chǎn)商隨意地修改、替換、增加或刪除,將嚴重損害軟件發(fā)布商的合法權(quán)益。然而,現(xiàn)有技術(shù)中并沒有一種明確的方法或裝置以保護產(chǎn)品軟件。因此,如何保護產(chǎn)品軟件,維護軟件發(fā)布商的合法權(quán)益,成為有待解決的問題。
發(fā)明內(nèi)容有鑒于此,本發(fā)明所要解決的技術(shù)問題是提供一種文件保護方法及其裝置,以保護產(chǎn)品軟件,有效地防止產(chǎn)品軟件被修改、替換、增加或刪除。為此本發(fā)明提出的技術(shù)方案是提供一種文件保護方法,包括步驟加密需要保護的文件;在對加密文件進行解密前,判斷是否所有的加密文件都符合條件;當所有的加密文件都符合條件時,對所有的加密文件進行解密。其中,按下述步驟加密需要保護的文件建立需要保護的文件的列表;利用同一個時間戳和所述文件列表對需要保護的文件進行加密。其中,利用所述時間戳和所述文件列表生成關(guān)聯(lián)信息,利用關(guān)聯(lián)信息加密需要保護的文件。其中通過操作t0+list生成關(guān)聯(lián)信息;其中,t0為所述時間戳,list為所述文件列表。其中,所述時間戳為從時鐘中提取的一個時間。其中,所述時鐘是操作系統(tǒng)時鐘。其中,所述條件是從每個加密文件的文件頭提取的時間戳都相同,且從每個加密文件的文件頭提取的文件列表與第一文件列表都相同。其中,所述第一文件列表是所述加密文件的列表。其中,按需要保護的文件的列表的建立方法,建立所述加密文件的列表。其中,從每個加密文件的文件頭得知加密該文件所采用的加密算法,利用相應(yīng)的解密算法對該文件進行解密。本發(fā)明還提供一種文件保護裝置,包括加密單元,用于加密需要保護的文件;判斷單元,用于在對加密文件進行解密前,判斷是否所有的加密文件都符合條件;解密單元,用于當所有的加密文件都符合條件時,對所有的加密文件進行解密。其中,所述的加密單元包括文件列表建立單元,用于建立需要保護的文件的列表;加密執(zhí)行單元,用于利用同一個時間戳和所述文件列表對需要保護的文件進行加密。其中,所述加密執(zhí)行單元利用所述時間戳和所述文件列表生成關(guān)聯(lián)信息,利用關(guān)聯(lián)信息加密需要保護的文件。其中,基于操作t0+list生成關(guān)聯(lián)信息;其中,t0為所述時間戳,list為所述文件列表。其中,所述時間戳為從時鐘中提取的一個時間。其中,所述時鐘是操作系統(tǒng)時鐘。其中,所述條件是從每個加密文件的文件頭提取的時間戳都相同,且從每個加密文件的文件頭提取的文件列表與第一文件列表都相同。其中,所述第一文件列表是所述加密文件的列表。其中,所述文件列表建立單元按需要保護的文件的列表的建立方法,建立所述加密文件的列表。其中,所述解密單元從每個加密文件的文件頭得知加密該文件所采用的加密算法,利用相應(yīng)的解密算法對該文件進行解密。由上述本發(fā)明的技術(shù)方案可知,本發(fā)明具有如下優(yōu)點1、由于對產(chǎn)品軟件中需要保護的重要文件進行了加密,如果產(chǎn)品生產(chǎn)商對產(chǎn)品軟件中的重要文件進行了增加、刪除、修改或替換,那么由于產(chǎn)品軟件中的文件有了改變,那么對加密文件進行解密前,不會出現(xiàn)所有的加密文件都符合條件,這樣就對所有的加密文件不進行解密,解密失敗。從而阻止產(chǎn)品生產(chǎn)商增加、刪除、修改或替換產(chǎn)品軟件中的重要文件,保護了產(chǎn)品軟件中重要文件的安全。2、通過防止修改、替換、增加或刪除產(chǎn)品軟件,可以有效地維護軟件發(fā)布商的合法權(quán)益;3、通過防止修改、替換、增加或刪除文件后的產(chǎn)品軟件,使得低端硬件產(chǎn)品無法使用高端硬件產(chǎn)品的軟件文件,從而區(qū)分了高、低端產(chǎn)品的軟件功能和市場價位,并能夠?qū)Ω?、低端產(chǎn)品市場進行客觀有效的分析。圖1是本發(fā)明提供的文件保護方法的流程圖;圖2是本發(fā)明待加密文件的一種文件名列表的格式圖;圖3是本發(fā)明的待加密文件的一種關(guān)聯(lián)信息的格式圖;圖4是本發(fā)明提供的文件保護裝置的示意圖。具體實施例方式為使本領(lǐng)域技術(shù)人員更好地理解本發(fā)明,下面結(jié)合具體實施例對本發(fā)明提供的保護文件的方法作具體說明。本發(fā)明的基本思想是通過對產(chǎn)品軟件中的重要文件進行加密,一旦所述重要文件被修改、刪除或替換,或產(chǎn)品軟件中的文件增加時,都會導(dǎo)致相關(guān)的加密信息發(fā)生變化,導(dǎo)致無法正常解密,從而實現(xiàn)保護產(chǎn)品軟件的目的。圖1是本發(fā)明提供的文件保護方法的流程圖,文件保護方法的步驟如下步驟S101從時鐘提取一個時間t0。其中,所述時鐘可以為操作系統(tǒng)時鐘,所述時間t0可以解析為XX年XX月XX日XX小時XX分鐘XX秒,例如,時間t0為2007年3月25日6時7分28秒。在關(guān)聯(lián)重要文件時,以時間t0作為的統(tǒng)一的時間戳。其中,時間戳是表示文件創(chuàng)建、修改或訪問的時間,它是實時的值,對于一個實時系統(tǒng)而言,每個時間戳都是唯一的,無法重現(xiàn)的。步驟S102選取待加密的文件。當有n個文件待加密時,可以將這些文件命名為f1、f2、...、fn。步驟S103建立待加密文件的列表list1。建立待加密文件的列表list1的方法有很多,例如,可以按文件名字母正反順序排序,或者按文件大小對文件進行排序。待加密文件的列表list1是一個包含排好序的文件名的字符串,舉例而言,例如在某一排序順序下,包含了排好序的文件名f1f2f3...fn;文件名列表格式參見圖2。步驟S104利用時間t0和待加密文件的列表list1,生成關(guān)聯(lián)信息info。生成關(guān)聯(lián)信息info的具體方法為info=t0+list1,生成的關(guān)聯(lián)信息info的格式參見圖3。步驟S105利用所述關(guān)聯(lián)信息info對待加密文件依次加密??梢圆捎猛ㄓ玫募用芩惴▽ξ募用?,且文件名在加密前后保持一致。加密后文件的格式由文件頭和文件內(nèi)容兩部分組成。在文件頭中包含有一個加密算法標志,以表示采用哪種算法對文件進行的加密,例如可以用整數(shù)1來表示算法a,整數(shù)2來表示算法b等。在文件頭中還包含有關(guān)聯(lián)信息標志,以便在對加密文件進行解密時使用。在文件頭中還包含有排序標志,以便在對加密文件進行解密時使用。當需要對加密文件進行解密時,在步驟S106根據(jù)待解密文件的文件名,建立待解密文件的列表list2。根據(jù)文件頭中的加密排序標志,可以得知加密時文件列表的排序方法。根據(jù)加密時文件列表的排序方法,建立待解密文件的列表。步驟S107提取每個待解密文件的文件列表Listi,i=1,2,3,...n??梢栽诖饷芪募奈募^中,獲得待解密文件的文件列表。步驟S108提取每個待解密文件的時間戳Ti,i=1,2,3,...n??梢栽诖饷芪募奈募^中,獲得待解密文件的時間戳。步驟S109判斷所提取的待解密文件的所有的時間戳是否都相同,如果是,執(zhí)行步驟S110,如果否,則停止。步驟S110判斷所有加密文件的文件頭提取的文件列表與待解密文件的列表list2是否都相同,如果是,執(zhí)行步驟S111,如果否,則停止。步驟S111對所有加密文件進行解密。通過加密文件的文件頭中的關(guān)聯(lián)信息標志可以得知加密時所采用的關(guān)聯(lián)信息。通過加密文件的文件頭中的加密算法標志可以識別出所采用的加密算法,從而知道相應(yīng)的解密算法。根據(jù)該解密算法和加密時所采用的關(guān)聯(lián)信息對加密的文件進行解密。如果沒有對文件名進行過修改,那么加密前后的文件名不會發(fā)生改變。上面對本發(fā)明提供的文件保護方法作了說明。通過上述文件保護方法可以判斷產(chǎn)品軟件中的重要文件是否有變化,當產(chǎn)品軟件中的文件有變化時,解密失敗,這樣防止了產(chǎn)品軟件被修改、刪除、增加或替換?;谏厦婷枋龅奈募Wo方法,本發(fā)明提供了一種對應(yīng)的文件保護裝置,圖4是該裝置的示意圖。文件保護裝置400包括加密單元401,判斷單元402以及解密單元403。加密單元401包括文件列表建立單元和加密執(zhí)行單元。當有n個重要文件需要進行加密時,文件列表建立單元可以將這些文件命名為f1、f2、...、fn,根據(jù)一定的排序方法建立需要保護的文件的列表list1;建立待加密文件的列表list1的方法有很多,例如,可以按文件名字母正反順序排序,或者按文件大小對文件進行排序。加密執(zhí)行單元以時間t0作為統(tǒng)一的時間戳,利用統(tǒng)一的時間戳t0和所述文件列表list1對需要保護的文件進行加密,具體為利用所述時間戳t0和所述文件列表list1生成關(guān)聯(lián)信息info,info=t0+list1,利用關(guān)聯(lián)信息info依次加密需要保護的文件。其中,時間戳是表示文件創(chuàng)建、修改或訪問的時間,它是實時的值,對于一個實時系統(tǒng)而言,每個時間戳都是唯一的,無法重現(xiàn)的。所述作為統(tǒng)一的時間戳的時間t0可以從時鐘中提取,該時鐘可以是操作系統(tǒng)時鐘。所述時間t0可以解析為XX年XX月XX日XX小時XX分鐘XX秒,例如,時間t0為2007年3月25日6時7分28秒。所述加密執(zhí)行單元可以采用通用的加密算法對需要加密的重要文件進行加密,加密后文件的格式由文件頭和文件內(nèi)容兩部分組成,且文件的文件名在加密前后保持一致。在加密后文件的文件頭中包含有一個加密算法標志,以表示采用哪種算法對文件進行的加密,例如可以用整數(shù)1來表示算法a,整數(shù)2來表示算法b等。在對加密文件進行解密前,通過判斷單元402判斷是否所有的加密文件都符合條件。所述條件是從每個加密文件的文件頭提取的時間戳Ti都相同,i=1,2,3,...n,且從每個加密文件的文件頭提取的文件列表Listi與待解密列表list2都相同,i=1,2,3,...n。所述判斷單元402可以根據(jù)文件頭中包含的加密排序標志,得知加密時文件列表的排序方法,并根據(jù)加密時文件列表的排序方法,建立待解密文件的列表list2。在待解密文件的文件頭中,可以得知待解密文件的文件列表和時間戳。當從所有加密文件的文件頭提取的文件列表與待解密文件的列表list2都相同時,所有的加密文件都符合條件,判斷單元402對解密單元403進行觸發(fā)。當所有的加密文件都符合條件時,受到判斷單元402的觸發(fā),解密單元403對所有的加密文件進行解密。所述解密單元403通過加密文件的文件頭中的加密算法標志,可以識別出所采用的加密算法,從而得知相應(yīng)的解密算法。所述解密單元403通過加密文件的文件頭中的關(guān)聯(lián)信息標志可以得知加密時所采用的關(guān)聯(lián)信息,從而根據(jù)該解密算法和加密時所采用的關(guān)聯(lián)信息對加密的文件進行解密。由于加密時是用統(tǒng)一的時間戳對待加密文件進行加密,如果用同名的文件來修改加密文件的內(nèi)容,那么會導(dǎo)致同名文件與其他加密文件文件頭中的時間戳信息不相同,從而解密失敗。此外,由于加密時用統(tǒng)一的文件列表對待加密文件進行加密,如果增加、刪除加密文件或用不同名的文件替換加密文件,將會出現(xiàn)按照加密時的排序方法形成的文件列表與加密時所采用的文件列表不符,從而,對產(chǎn)品軟件中的文件進行修改、增加、刪除或替換后,會導(dǎo)致解密失敗,這樣可以防止產(chǎn)品生產(chǎn)商修改、增加、替換和刪除產(chǎn)品軟件,保護了產(chǎn)品軟件中重要文件的安全。以上所述僅是本發(fā)明的優(yōu)選實施方式,應(yīng)當指出,對于本
技術(shù)領(lǐng)域:
的普通技術(shù)人員來說,在不脫離本發(fā)明原理的前提下,還可以做出若干改進和潤飾,這些改進和潤飾也應(yīng)視為本發(fā)明的保護范圍。權(quán)利要求1.一種文件保護方法,其特征在于,包括加密需要保護的文件;在對加密文件進行解密前,判斷是否所有的加密文件都符合條件;當所有的加密文件都符合條件時,對所有的加密文件進行解密。2.根據(jù)權(quán)利要求1所述的文件保護方法,其特征在于,按下述步驟加密需要保護的文件建立需要保護的文件的列表;利用同一個時間戳和所述文件列表對需要保護的文件進行加密。3.根據(jù)權(quán)利要求2所述的文件保護方法,其特征在于,利用所述時間戳和所述文件列表生成關(guān)聯(lián)信息,利用關(guān)聯(lián)信息加密需要保護的文件。4.根據(jù)權(quán)利要求3所述的文件保護方法,其特征在于,通過操作t0+list生成關(guān)聯(lián)信息;其中,t0為所述時間戳,list為所述文件列表。5.根據(jù)權(quán)利要求2所述的文件保護方法,其特征在于,所述條件是從每個加密文件的文件頭提取的時間戳都相同,且從每個加密文件的文件頭提取的文件列表與第一文件列表都相同。6.根據(jù)權(quán)利要求5所述的文件保護方法,其特征在于,所述第一文件列表是所述加密文件的列表。7.根據(jù)權(quán)利要求2所述的文件保護方法,其特征在于,按需要保護的文件的列表的建立方法,建立所述加密文件的列表。8.根據(jù)權(quán)利要求1所述的文件保護方法,其特征在于,從每個加密文件的文件頭得知加密該文件所采用的加密算法,利用相應(yīng)的解密算法對該文件進行解密。9.根據(jù)權(quán)利要求2所述的文件保護方法,其特征在于,所述時間戳為從時鐘中提取的一個時間。10.根據(jù)權(quán)利要求9所述的文件保護方法,其特征在于,所述時鐘是操作系統(tǒng)時鐘。11.一種文件保護裝置,其特征在于,包括加密單元,用于加密需要保護的文件;判斷單元,用于在對加密文件進行解密前,判斷是否所有的加密文件都符合條件;解密單元,用于當所有的加密文件都符合條件時,對所有的加密文件進行解密。12.根據(jù)權(quán)利要求11所述的文件保護裝置,其特征在于,所述的加密單元包括文件列表建立單元,用于建立需要保護的文件的列表;加密執(zhí)行單元,用于利用同一個時間戳和所述文件列表對需要保護的文件進行加密。13.根據(jù)權(quán)利要求12所述的文件保護裝置,其特征在于,所述加密執(zhí)行單元利用所述時間戳和所述文件列表生成關(guān)聯(lián)信息,利用關(guān)聯(lián)信息加密需要保護的文件。14.根據(jù)權(quán)利要求13所述的文件保護裝置,其特征在于,基于操作t0+list生成關(guān)聯(lián)信息;其中,t0為所述時間戳,list為所述文件列表。15.根據(jù)權(quán)利要求11所述的文件保護裝置,其特征在于,所述條件是從每個加密文件的文件頭提取的時間戳都相同,且從每個加密文件的文件頭提取的文件列表與第一文件列表都相同。16.根據(jù)權(quán)利要求15所述的文件保護裝置,其特征在于,所述第一文件列表是所述加密文件的列表。17.根據(jù)權(quán)利要求12所述的文件保護裝置,其特征在于,所述文件列表建立單元按需要保護的文件的列表的建立方法,建立所述加密文件的列表。18.根據(jù)權(quán)利要求11所述的文件保護裝置,其特征在于,所述解密單元從每個加密文件的文件頭得知加密該文件所采用的加密算法,利用相應(yīng)的解密算法對該文件進行解密。19.根據(jù)權(quán)利要求12所述的文件保護裝置,其特征在于,所述時間戳為從時鐘中提取的一個時間。20.根據(jù)權(quán)利要求19所述的文件保護裝置,其特征在于,所述時鐘是操作系統(tǒng)時鐘。全文摘要本發(fā)明提供了一種文件保護方法及其裝置。該文件保護方法包括加密需要保護的文件;在對加密文件進行解密前,判斷是否所有的加密文件都符合條件;當所有的加密文件都符合條件時,對所有的加密文件進行解密。通過本發(fā)明提供的文件保護方法及其裝置,保護了產(chǎn)品軟件,有效地防止產(chǎn)品軟件被修改、替換、增加或刪除。文檔編號G06F21/22GK101051339SQ20071010612公開日2007年10月10日申請日期2007年5月24日優(yōu)先權(quán)日2007年5月24日發(fā)明者趙新中申請人:炬力集成電路設(shè)計有限公司