專利名稱:Iptv的升級包結(jié)構(gòu)、升級方法以及開機(jī)校驗(yàn)方法
技術(shù)領(lǐng)域:
本發(fā)明屬于數(shù)字電視領(lǐng)域,尤其涉及一種IPTV的升級方法、升級包結(jié)構(gòu)以及開機(jī)校驗(yàn)方法。
背景技術(shù):
交互式網(wǎng)絡(luò)電視(Interactive Personality TV,以下簡稱為IPTV)是一種利用寬帶有線電視網(wǎng),集互聯(lián)網(wǎng)、多媒體,通訊等多種技術(shù)于一體,向家庭用戶提供包括數(shù)字電視在內(nèi)的多種交互式服務(wù)的技術(shù)。在IPTV的使用過程中,客戶可能會對產(chǎn)品功能提出新的需求,這就需要對IPTV進(jìn)行相應(yīng)的在線升級。但是現(xiàn)有的IPTV升級過程中,在升級的過程中系統(tǒng)前端和數(shù)字電視終端都無法確認(rèn)升級數(shù)據(jù)是否被篡改,也無法保證升級數(shù)據(jù)不被第三方盜用,另外,由于無法保證數(shù)字電視終端可以被強(qiáng)制進(jìn)行數(shù)據(jù)升級,從而導(dǎo)致數(shù)字電視終端的升級不受管理,存在一些安全方面的問題。因此,在本技術(shù)領(lǐng)域,需要一種能對升級數(shù)據(jù)進(jìn)行保護(hù),且能對數(shù)字電視終端升級進(jìn)行可控管理的IPTV的升級方法、升級包結(jié)構(gòu)以及開機(jī)校驗(yàn)方法。
發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種IPTV的升級方法、升級包結(jié)構(gòu)以及開機(jī)校驗(yàn)方法,旨在解決現(xiàn)有的升級包被篡改及被盜用的技術(shù)問題。本發(fā)明是這樣實(shí)現(xiàn)的,一種IPTV的升級包結(jié)構(gòu),所述升級包包括升級描述文件, 升級數(shù)據(jù)文件以及數(shù)字簽名文件,其中,所述升級描述文件包括加密項,用于定義所述升級包在傳輸中的加密算法;數(shù)字摘要項,用于定義所述升級包在進(jìn)行數(shù)字簽名時采用的數(shù)字摘要算法;簽名項,用于定義所述升級包在進(jìn)行所述數(shù)字簽名時采用的簽名算法;以及模塊名項,用于定義所述升級包中進(jìn)行了所述數(shù)字簽名的模塊名;所述數(shù)字簽名文件包括 模塊數(shù)字簽名以及整體數(shù)字簽名。較優(yōu)的,所述升級數(shù)據(jù)文件為加密的數(shù)據(jù)文件。較優(yōu)的,所述模塊數(shù)字簽名,包括模塊A數(shù)字簽名以及模塊B數(shù)字簽名,所述模塊 A數(shù)字簽名以及所述模塊B數(shù)字簽名是按照所述升級描述文件中所述模塊名項描述的模塊順序,并使用所述數(shù)字摘要項描述的數(shù)據(jù)摘要算法和所述簽名項描述的簽名算法生成的。較優(yōu)的,所述整體數(shù)字簽名,用于對所述升級包中所述整體數(shù)字簽名之前的所有數(shù)據(jù)進(jìn)行數(shù)字簽名,其中,所述整體數(shù)字簽名之前的所有數(shù)據(jù)包括所述升級描述文件、所述升級數(shù)據(jù)文件、所述模塊A數(shù)字簽名以及所述模塊B數(shù)字簽名。較優(yōu)的,所述模塊A數(shù)字簽名以及所述模塊B數(shù)字簽名在所述IPTV升級的過程中會被更新到數(shù)字電視終端,以用于所述數(shù)字電視終端開機(jī)的校驗(yàn)中。較優(yōu)的,所述升級描述文件是明文,并采用ini格式對升級項進(jìn)行描述,固定長度為4096比特。
本發(fā)明另提供了一種IPTV的升級方法,所述IPTV的升級方法包括下載權(quán)利要求 1-6中任一項所述的升級包的步驟;匹配所述升級包中的升級描述文件的步驟;獲取校驗(yàn)簽名的第一密鑰,并用所述第一密鑰校驗(yàn)整體數(shù)字簽名的步驟;獲取用于解密的第二密鑰, 并用所述第二密鑰解密升級數(shù)據(jù)文件的步驟;以及對單個模塊進(jìn)行升級的步驟。較優(yōu)的,所述IPTV的升級方法還包括校驗(yàn)升級后的數(shù)據(jù)和更新后的數(shù)字簽名是否匹配,所述升級后的數(shù)據(jù)是否完整的步驟;以及當(dāng)所述升級后的數(shù)據(jù)和所述更新后的數(shù)字簽名匹配,或所述升級后的數(shù)據(jù)完整時,判斷是否所有模塊均升級完成的步驟。較優(yōu)的,所述第一密鑰校驗(yàn)以及所述第二密鑰校驗(yàn)均存儲在啟動區(qū)的一次性可編程區(qū)域。較優(yōu)的,所述下載所述升級包的步驟之前還包括生成原始的數(shù)據(jù)升級文件的步驟;對關(guān)鍵模塊進(jìn)行數(shù)字簽名的步驟;在所述原始的數(shù)據(jù)升級文件前增加所述升級描述文件的步驟,其中,對所述原始的數(shù)據(jù)升級文件進(jìn)行加密是采用所述升級描述文件中的所述加密項對應(yīng)的加密算法;對所述原始的數(shù)據(jù)升級文件進(jìn)行加密以形成所述升級數(shù)據(jù)文件的步驟;以及進(jìn)行所述整體數(shù)字簽名的步驟。較優(yōu)的,所述關(guān)鍵模塊包括內(nèi)核模塊以及應(yīng)用程序模塊。較優(yōu)的,所述對單個模塊進(jìn)行升級的步驟進(jìn)一步包括將所述單個模塊的升級數(shù)據(jù)寫入到Flash上對應(yīng)區(qū)域的步驟;判斷所述單個模塊是否有數(shù)字簽名的步驟;如果所述單個模塊有數(shù)字簽名,將所述升級包中該所述單個模塊對應(yīng)的數(shù)字簽名更新到所述Flash 中的所述模塊的簽名區(qū)域的步驟;以及獲取校驗(yàn)簽名的第三密鑰,以用于校驗(yàn)所述單個模塊的數(shù)字簽名的步驟。較優(yōu)的,如果所述單個模塊無數(shù)字簽名,校驗(yàn)升級后的數(shù)據(jù)是否完整的步驟。較優(yōu)的,所述第三密鑰校驗(yàn)存儲在啟動區(qū)的一次性可編程區(qū)域。本發(fā)明另提供了一種IPTV開機(jī)校驗(yàn)方法,所述IPTV開機(jī)校驗(yàn)方法包括由開機(jī)芯片校驗(yàn)啟動區(qū)的合法性的步驟;判斷啟動區(qū)是否成功校驗(yàn)內(nèi)核模塊以及應(yīng)用程序模塊的數(shù)字簽名的步驟,其中,所述內(nèi)核模塊以及所述應(yīng)用程序模塊的數(shù)字簽名均來自于權(quán)利要求 1-6中任一項所述的升級包;以及如果成功校驗(yàn)所述內(nèi)核模塊以及所述應(yīng)用程序模塊的數(shù)字簽名,判斷是否成功啟動所述內(nèi)核模塊以及所述應(yīng)用程序模塊,并將所述啟動區(qū)中保存的密鑰傳給所述應(yīng)用程序模塊的步驟。較優(yōu)的,所述密鑰包括用于校驗(yàn)整體數(shù)字簽名的第一密鑰;用于解密的第二密鑰;以及用于校驗(yàn)?zāi)K數(shù)字簽名的第三密鑰。本發(fā)明提供的一種IPTV的升級方法、升級包結(jié)構(gòu)以及開機(jī)校驗(yàn)方法,能夠防止升級包被篡改及被盜用,提高了系統(tǒng)的安全性。
圖1是本發(fā)明一實(shí)施例提供的IPTV的升級包結(jié)構(gòu)示意圖; 圖2為本發(fā)明一實(shí)施例提供的升級描述文件的格式示意圖3為本發(fā)明一實(shí)施例提供的數(shù)字簽名文件的格式示意圖; 圖4為本發(fā)明一實(shí)施例提供的形成IPTV升級包的方法流程圖; 圖5為本發(fā)明一實(shí)施例提供的IPTV的升級方法的流程圖;圖6為本發(fā)明一實(shí)施例提供的對單個模塊進(jìn)行升級的方法流程圖; 圖7為本發(fā)明一實(shí)施例提供的IPTV開機(jī)校驗(yàn)方法的流程圖。
具體實(shí)施例方式為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合附圖及實(shí)施例,對本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。圖1是本發(fā)明一實(shí)施例提供的IPTV的升級包結(jié)構(gòu)示意圖。本發(fā)明提供的IPTV的升級方法及系統(tǒng)、開機(jī)校驗(yàn)方法均會使用此升級包結(jié)構(gòu)。如圖1所示,升級包100包括升級描述文件110、升級數(shù)據(jù)文件120和數(shù)字簽名文件130。升級數(shù)據(jù)文件120包括第一升級數(shù)據(jù)文件121、第N升級數(shù)據(jù)文件12N在內(nèi)的N 個升級數(shù)據(jù)文件,為了防止被非法用戶得到升級數(shù)據(jù)文件120,第一升級數(shù)據(jù)文件121、第N 升級數(shù)據(jù)文件12N均為加密的數(shù)據(jù)文件。升級描述文件110是明文,于本實(shí)施例中,升級描述文件110采用的是通用的ini 格式對升級項進(jìn)行描述,固定長度為4096比特,但這并非用以限定本發(fā)明的保護(hù)范圍,本領(lǐng)域技術(shù)人員在不同的應(yīng)用環(huán)境中,可采用其他的格式對升級項進(jìn)行描述,升級描述文件 110也可以采用其他的長度。圖2為本發(fā)明一實(shí)施例提供的升級描述文件110的格式示意圖。如圖2所示,升級描述文件110中包括加密(以下稱為ENCRYPT)項111,數(shù)字摘要(以下稱為DIGEST)項 112,簽名(以下稱為SIGNATURE)項113以及模塊名(以下稱為SIGNM0DULE)項114。ENCRYPT項111定義了升級包100在傳輸中的加密算法,取值名稱范圍是開放性 SSL協(xié)議(以下簡稱為0PENSSL)加密算法,全部為大寫加數(shù)字,例如-aeS-U8-CbC取值為 AES128CBC.,升級數(shù)據(jù)文件120中的第一升級數(shù)據(jù)文件121、第N升級數(shù)據(jù)文件12N是采用 ENCRYPT項111定義的算法進(jìn)行加密的。DIGEST項112定義了升級包100在進(jìn)行數(shù)字簽名時采用的數(shù)字摘要算法,取值名稱范圍是0PENSSL數(shù)字摘要算法,全部為大寫加數(shù)字,例如-md5取值為MD5。SIGNATURE項113定義了升級包100在進(jìn)行數(shù)字簽名時采用的簽名算法,取值名稱范圍是0PENSSL簽名算法,全部為大寫加數(shù)字,例如rsa取值為RSA。SIGNM0DULE項114定義了升級包100中進(jìn)行了數(shù)字簽名的模塊名,取值名稱范圍是模塊級部分(Section)的名稱,如SAFEKNL。其中,以上所述的0PENSSL為網(wǎng)絡(luò)通信提供安全及數(shù)據(jù)完整性的一種安全協(xié)議。圖3為本發(fā)明一實(shí)施例提供的數(shù)字簽名文件130的格式示意圖。數(shù)字簽名文件 130包括模塊數(shù)字簽名131以及整體數(shù)字簽名132。模塊數(shù)字簽名131包括模塊A數(shù)字簽名131A,模塊B數(shù)字簽名131B等多個模塊簽名數(shù)據(jù)。其中,模塊A數(shù)字簽名131A以及模塊B數(shù)字簽名131B是按照升級描述文件110中SIGNM0DULE項114描述的模塊順序,并使用DIGEST項112描述的數(shù)據(jù)摘要算法和SIGNATURE項113描述的簽名算法所生成的數(shù)字簽名文件。模塊A數(shù)字簽名131A以及模塊B數(shù)字簽名131B在IPTV升級的過程中會被更新到數(shù)字電視終端,以用于數(shù)字電視終端開機(jī)的校驗(yàn)中。整體數(shù)字簽名132是對升級包100中整體數(shù)字簽名132之前的所有數(shù)據(jù)(包括升級描述文件110、升級數(shù)據(jù)文件120、模塊A數(shù)字簽名131A以及模塊B數(shù)字簽名131B)進(jìn)行數(shù)字簽名生成的文件,用來保證在不安全的網(wǎng)絡(luò)下得到的升級包100是由合法的用戶生成,并且在傳輸?shù)倪^程中沒有被篡改。圖4為本發(fā)明一實(shí)施例提供的形成IPTV升級包100的方法流程圖。如圖4所示, 形成升級包100的方法包括
步驟410 生成原始的數(shù)據(jù)升級文件;
步驟420 對關(guān)鍵模塊進(jìn)行數(shù)字簽名,例如內(nèi)核模塊(Kernel模塊)以及應(yīng)用程序模塊 (Application模塊,以下簡稱為App模塊),以形成模塊A數(shù)字簽名131A以及模塊B數(shù)字簽名 131B ;
步驟430:在原始的數(shù)據(jù)升級文件前增加升級描述文件110,其中,升級描述文件110中包括 ENCRYPT 項 111,DIGEST 項 112,SIGNATURE 項 113 以及 SIG匪ODULE 項 114 ;
步驟440 對原始的數(shù)據(jù)升級文件進(jìn)行加密以形成升級數(shù)據(jù)文件120,其中,對原始的數(shù)據(jù)升級文件進(jìn)行加密是采用升級描述文件110中的ENCRYPT項111對應(yīng)的加密算法;
步驟450 進(jìn)行整體數(shù)字簽名,S卩,對步驟440中形成的所有數(shù)據(jù)進(jìn)行數(shù)字簽名。整體數(shù)字簽名仍然采用DIGEST項112中描述的數(shù)據(jù)摘要算法和SIGNATURE項113中描述的簽名^^去。整體數(shù)字簽名可以確定制作的升級包100沒有在傳輸過程中經(jīng)過篡改,模塊的數(shù)字簽名可以確定制作升級包100時使用的升級數(shù)據(jù)是合法的,沒有被篡改。于本實(shí)施例中, 對關(guān)鍵模塊進(jìn)行的數(shù)字簽名與整體數(shù)字簽名所用的密鑰可以相同的,也可以是不同的,密鑰均存儲在啟動區(qū)(Booter)的一次性可編程(One Time Programable,以下簡稱為OTP)區(qū)域,由于OTP區(qū)域具有不可更改的特性,因此一旦密鑰被寫入,就不可修改,保證了密鑰的安全性。由圖4所示的形成升級包100的方法可知,所生成的升級包100具有更高的安全性,由于對升級數(shù)據(jù)進(jìn)行了加密,即使非法用戶截取到升級包100,也無法獲取有效的升級數(shù)據(jù)。另外由于進(jìn)行了數(shù)字簽名,若升級包100在傳輸過程中被篡改,則數(shù)字電視終端會校驗(yàn)整體數(shù)字簽名失敗,如果數(shù)字電視終端所接收到的是不受認(rèn)證的升級包,其校驗(yàn)會失敗, 保證了系統(tǒng)升級的安全性。圖5為本發(fā)明一實(shí)施例提供的IPTV的升級方法的流程圖,如圖5所示,IPTV的升級方法包括
步驟510:下載升級包,于本實(shí)施例中,可以由用戶或者其他條件觸發(fā)升級程序,以下載升級包文件;
步驟520 匹配升級包中的升級描述文件,此處的匹配主要是針對升級描述文件中的廠商、產(chǎn)品、版本等信息進(jìn)行比對;
步驟530 獲取校驗(yàn)簽名的第一密鑰(以下簡稱為Keyl),并用Keyl校驗(yàn)整體數(shù)字簽名,其中,Keyl存儲于Booter的OTP區(qū)域;
步驟MO 獲取用于解密的第二密鑰(以下簡稱為Key2),并用Key2解密升級數(shù)據(jù)文件,其中,Key2存儲于Booter的OTP區(qū)域;
步驟550 對單個模塊進(jìn)行升級,具體升級步驟將于后續(xù)進(jìn)行詳細(xì)描述;
步驟560:校驗(yàn)升級后的數(shù)據(jù)和更新后的數(shù)字簽名是否匹配,升級后的數(shù)據(jù)是否完整,如果是(即升級后的數(shù)據(jù)和更新后的數(shù)字簽名匹配,或升級后的數(shù)據(jù)完整時),則執(zhí)行步驟 570 ;否則,執(zhí)行步驟580 ;
步驟570 判斷是否所有模塊均升級完成,如果完成,則執(zhí)行步驟580 ;否則,執(zhí)行步驟
550 ;
步驟580 退出升級。其中,于步驟560中,校驗(yàn)升級后的數(shù)據(jù)和更新后的數(shù)字簽名是否匹配的步驟是針對有數(shù)字簽名的模塊進(jìn)行的;校驗(yàn)升級后的數(shù)據(jù)是否完整的步驟是針對無數(shù)字簽名的模塊進(jìn)行的。圖6為本發(fā)明一實(shí)施例提供的對單個模塊進(jìn)行升級的方法流程圖,如圖6所示,對單個模塊進(jìn)行升級的方法包括
步驟551 將模塊的升級數(shù)據(jù)寫入到Flash上對應(yīng)的區(qū)域;
步驟553 判斷該模塊是否有數(shù)字簽名,如果有,則執(zhí)行步驟555 ;否則(圖中未示),執(zhí)行步驟560中校驗(yàn)升級后的數(shù)據(jù)是否完整的步驟;
步驟555 將升級包中該模塊對應(yīng)的數(shù)字簽名更新到Flash中該模塊的簽名區(qū)域步驟557 獲取校驗(yàn)簽名的第三密鑰(以下簡稱為Key3),用于校驗(yàn)該模塊的數(shù)字簽名,其中,Key3存儲于Booter的OTP區(qū)域。圖7為本發(fā)明一實(shí)施例提供的IPTV開機(jī)校驗(yàn)方法的流程圖,如圖7所示,開機(jī)校驗(yàn)方法包括
步驟710 開機(jī)芯片校驗(yàn)Booter的合法性。步驟720 =Booter是否成功校驗(yàn)Kernel模塊(即模塊A)和APP模塊(即模塊B) 的數(shù)字簽名,如果校驗(yàn)成功,執(zhí)行步驟730 ;否則,執(zhí)行步驟750,其中,Kernel模塊和APP模塊的數(shù)字簽名均來自于升級包100。步驟730 是否成功啟動Kernel模塊和App模塊,并將Booter中保存的Keyl、Key2 和Key3傳給App模塊,如果是,則執(zhí)行步驟740 ;否則,執(zhí)行步驟750。步驟740 開機(jī)成功,進(jìn)入APP模塊。步驟750 開機(jī)失敗,顯示啟動失敗的信息。使用具有高級安全的芯片,需要芯片廠商或者第三方安全機(jī)構(gòu)對Booter進(jìn)行認(rèn)證和簽名,于步驟710中,未經(jīng)過認(rèn)證和簽名的Booter在開機(jī)時則會校驗(yàn)失敗,導(dǎo)致無法啟動。步驟720中對Kernel模塊(即模塊A)和APP模塊(即模塊B)的數(shù)字簽名進(jìn)行校驗(yàn), 保證了升級后的APP模塊再升級時仍然必須符合該升級流程,即如果升級后的APP在再次升級時不更新簽名則會導(dǎo)致再升級時無法啟動。也就是說,升級方法的流程保證升級包格式的合法性,開機(jī)校驗(yàn)方法的流程保證了升級流程的合法性,開機(jī)流程的安全性依賴于高級安全芯片的校驗(yàn)。另一方面,KeyU Key2和Key3是進(jìn)行加擾之后存放在Booter中不可修改的OTP區(qū)域,具有高級安全的芯片開機(jī)加擾性能之后,即使讀取內(nèi)存中的數(shù)據(jù)也無法獲取到明文的密鑰,從而保護(hù)了密鑰的安全,所有的計算直到進(jìn)入芯片后才能解擾,這樣密鑰的安全性也就增強(qiáng)到了芯片級別。這樣一來,IPTV系統(tǒng)的安全性就增強(qiáng)到了芯片的級別。本發(fā)明以上實(shí)施例提供的IPTV的升級方法、升級包結(jié)構(gòu)以及開機(jī)校驗(yàn)方法,能夠防止升級包被篡改及被盜用,提高了系統(tǒng)的安全性。以上所述僅為本發(fā)明的較佳實(shí)施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換和改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1.一種IPTV的升級包結(jié)構(gòu),其特征在于,所述升級包包括升級描述文件,升級數(shù)據(jù)文件以及數(shù)字簽名文件,其中,所述升級描述文件包括加密項,用于定義所述升級包在傳輸中的加密算法;數(shù)字摘要項,用于定義所述升級包在進(jìn)行數(shù)字簽名時采用的數(shù)字摘要算法;簽名項,用于定義所述升級包在進(jìn)行所述數(shù)字簽名時采用的簽名算法;以及模塊名項,用于定義所述升級包中進(jìn)行了所述數(shù)字簽名的模塊名;所述數(shù)字簽名文件包括模塊數(shù)字簽名以及整體數(shù)字簽名。
2.如權(quán)利要求1所述的IPTV的升級包結(jié)構(gòu),其特征在于所述升級數(shù)據(jù)文件為加密的數(shù)據(jù)文件。
3.如權(quán)利要求1所述的IPTV的升級包結(jié)構(gòu),其特征在于所述模塊數(shù)字簽名,包括模塊A數(shù)字簽名以及模塊B數(shù)字簽名,所述模塊A數(shù)字簽名以及所述模塊B數(shù)字簽名是按照所述升級描述文件中所述模塊名項描述的模塊順序,并使用所述數(shù)字摘要項描述的數(shù)據(jù)摘要算法和所述簽名項描述的簽名算法生成的。
4.如權(quán)利要求3所述的IPTV的升級包結(jié)構(gòu),其特征在于所述整體數(shù)字簽名,用于對所述升級包中所述整體數(shù)字簽名之前的所有數(shù)據(jù)進(jìn)行數(shù)字簽名,其中,所述整體數(shù)字簽名之前的所有數(shù)據(jù)包括所述升級描述文件、所述升級數(shù)據(jù)文件、所述模塊A數(shù)字簽名以及所述模塊B數(shù)字簽名。
5.如權(quán)利要求3所述的IPTV的升級包結(jié)構(gòu),其特征在于所述模塊A數(shù)字簽名以及所述模塊B數(shù)字簽名在所述IPTV升級的過程中會被更新到數(shù)字電視終端,以用于所述數(shù)字電視終端開機(jī)的校驗(yàn)中。
6.如權(quán)利要求1所述的IPTV的升級包結(jié)構(gòu),其特征在于所述升級描述文件是明文,并采用ini格式對升級項進(jìn)行描述,固定長度為4096比特。
7.—種IPTV的升級方法,其特征在于,所述IPTV的升級方法包括下載權(quán)利要求1-6中任一項所述的升級包的步驟;匹配所述升級包中的升級描述文件的步驟;獲取校驗(yàn)簽名的第一密鑰,并用所述第一密鑰校驗(yàn)整體數(shù)字簽名的步驟;獲取用于解密的第二密鑰,并用所述第二密鑰解密升級數(shù)據(jù)文件的步驟;以及對單個模塊進(jìn)行升級的步驟。
8.如權(quán)利要求7所述的IPTV的升級方法,其特征在于所述IPTV的升級方法還包括校驗(yàn)升級后的數(shù)據(jù)和更新后的數(shù)字簽名是否匹配,所述升級后的數(shù)據(jù)是否完整的步驟;以及當(dāng)所述升級后的數(shù)據(jù)和所述更新后的數(shù)字簽名匹配,或所述升級后的數(shù)據(jù)完整時,判斷是否所有模塊均升級完成的步驟。
9.如權(quán)利要求7所述的IPTV的升級方法,其特征在于所述第一密鑰校驗(yàn)以及所述第二密鑰校驗(yàn)均存儲在啟動區(qū)的一次性可編程區(qū)域。
10.如權(quán)利要求7所述的IPTV的升級方法,其特征在于,所述下載所述升級包的步驟之前還包括生成原始的數(shù)據(jù)升級文件的步驟;對關(guān)鍵模塊進(jìn)行數(shù)字簽名的步驟;在所述原始的數(shù)據(jù)升級文件前增加所述升級描述文件的步驟,其中,對所述原始的數(shù)據(jù)升級文件進(jìn)行加密是采用所述升級描述文件中的所述加密項對應(yīng)的加密算法;對所述原始的數(shù)據(jù)升級文件進(jìn)行加密以形成所述升級數(shù)據(jù)文件的步驟;以及進(jìn)行所述整體數(shù)字簽名的步驟。
11.如權(quán)利要求10所述的IPTV的升級方法,其特征在于所述關(guān)鍵模塊包括內(nèi)核模塊以及應(yīng)用程序模塊。
12.如權(quán)利要求7所述的IPTV的升級方法,其特征在于,所述對單個模塊進(jìn)行升級的步驟進(jìn)一步包括將所述單個模塊的升級數(shù)據(jù)寫入到Flash上對應(yīng)區(qū)域的步驟;判斷所述單個模塊是否有數(shù)字簽名的步驟;如果所述單個模塊有數(shù)字簽名,將所述升級包中該所述單個模塊對應(yīng)的數(shù)字簽名更新到所述Flash中的所述模塊的簽名區(qū)域的步驟;以及獲取校驗(yàn)簽名的第三密鑰,以用于校驗(yàn)所述單個模塊的數(shù)字簽名的步驟。
13.如權(quán)利要求12所述的IPTV的升級方法,其特征在于,還包括如果所述單個模塊無數(shù)字簽名,校驗(yàn)升級后的數(shù)據(jù)是否完整的步驟。
14.如權(quán)利要求12所述的IPTV的升級方法,其特征在于所述第三密鑰校驗(yàn)存儲在啟動區(qū)的一次性可編程區(qū)域。
15.一種IPTV開機(jī)校驗(yàn)方法,其特征在于,所述IPTV開機(jī)校驗(yàn)方法包括由開機(jī)芯片校驗(yàn)啟動區(qū)的合法性的步驟;判斷啟動區(qū)是否成功校驗(yàn)內(nèi)核模塊以及應(yīng)用程序模塊的數(shù)字簽名的步驟,其中,所述內(nèi)核模塊以及所述應(yīng)用程序模塊的數(shù)字簽名均來自于權(quán)利要求1-6中任一項所述的升級包;以及如果成功校驗(yàn)所述內(nèi)核模塊以及所述應(yīng)用程序模塊的數(shù)字簽名,判斷是否成功啟動所述內(nèi)核模塊以及所述應(yīng)用程序模塊,并將所述啟動區(qū)中保存的密鑰傳給所述應(yīng)用程序模塊的步驟。
16.如權(quán)利要求15所述的IPTV開機(jī)校驗(yàn)方法,其特征在于所述密鑰包括用于校驗(yàn)整體數(shù)字簽名的第一密鑰;用于解密的第二密鑰;以及用于校驗(yàn)?zāi)K數(shù)字簽名的第三密鑰。
全文摘要
本發(fā)明適用于數(shù)字電視領(lǐng)域,提供了一種IPTV的升級方法、升級包結(jié)構(gòu)以及開機(jī)校驗(yàn)方法。其中,IPTV的升級包包括升級描述文件,升級數(shù)據(jù)文件以及數(shù)字簽名文件,其中,所述升級描述文件包括加密項,用于定義所述升級包在傳輸中的加密算法;數(shù)字摘要項,用于定義所述升級包在進(jìn)行數(shù)字簽名時采用的數(shù)字摘要算法;簽名項,用于定義所述升級包在進(jìn)行所述數(shù)字簽名時采用的簽名算法;以及模塊名項,用于定義所述升級包中進(jìn)行了所述數(shù)字簽名的模塊名;所述數(shù)字簽名文件包括模塊數(shù)字簽名以及整體數(shù)字簽名。本發(fā)明提供的一種IPTV的升級方法、升級包結(jié)構(gòu)以及開機(jī)校驗(yàn)方法,能夠防止升級包被篡改及被盜用,提高了系統(tǒng)的安全性。
文檔編號H04N21/458GK102572595SQ20121002378
公開日2012年7月11日 申請日期2012年2月3日 優(yōu)先權(quán)日2012年2月3日
發(fā)明者莊俊鋒 申請人:深圳市同洲電子股份有限公司