一種劃分終端開發(fā)模式和產(chǎn)品模式的方法及系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及一種劃分終端開發(fā)模式和產(chǎn)品模式的方法及系統(tǒng)。
【背景技術(shù)】
[0002] 在支付領(lǐng)域中,對(duì)終端固件的合法性、安全性、完整性提出了很高的要求,因此促 進(jìn)了證書驗(yàn)簽體系在支付領(lǐng)域的廣泛應(yīng)用。
[0003] 目前主流的驗(yàn)簽體系使用證書樹完成整個(gè)驗(yàn)簽體系的搭建,通過(guò)在一次性燒寫 FLASH代碼中固化CA,所述固化程序就是把程序?qū)懭氲紻SP,這樣DSP就可以脫離仿真器離 線運(yùn)行。固化CA的過(guò)程包括:使用證書私鑰對(duì)固件進(jìn)行簽名,固件下載進(jìn)終端時(shí),使用證書 公鑰對(duì)簽名進(jìn)行驗(yàn)證,滿足了終端固件的合法性、安全性、完整性的要求。如圖1所示,一般 固件簽名格式為"固件+簽名證書+HASH校驗(yàn)";通過(guò)在固件尾部附加包含簽名證書和HASH 校驗(yàn)的簽名信息,完成對(duì)固件合法性的驗(yàn)證,其中,"HASH校驗(yàn)"為計(jì)算得到固件加簽名證書 的第一 HASH值后,經(jīng)簽名幀數(shù)的私鑰簽名生成;驗(yàn)簽過(guò)程,首先通過(guò)簽名證書中的公鑰對(duì) "HASH校驗(yàn)"進(jìn)行解密,再計(jì)算解密后的文件的HASH值,得到第二HASH值,比較第一 HASH值 和第二HASH值,若相符,則證明簽名正常,若不相符,則證明固件在下載過(guò)程中發(fā)生異常, 可能被截取修改過(guò)。
[0004] 然而,上述現(xiàn)有技術(shù)終端下載固件后所使用的驗(yàn)簽方式,并無(wú)法實(shí)現(xiàn)固件開發(fā)版 本和產(chǎn)品版本的分離。在固件開發(fā)過(guò)程中,經(jīng)常會(huì)涉及到固件的調(diào)試修改,因此,測(cè)試版本 的固件可能存在風(fēng)險(xiǎn);而測(cè)試版本的固件雖然處于測(cè)試階段,但仍然是合法的,同樣能夠通 過(guò)驗(yàn)簽;在被下載到終端后,終端只能通過(guò)上述驗(yàn)簽方式判斷簽名的合法性,卻無(wú)法區(qū)分所 下載的固件是測(cè)試版本還是正式版本,因此存在可能失誤下載到測(cè)試版本的風(fēng)險(xiǎn),進(jìn)而導(dǎo) 致終端存在較大的安全隱患,終端能夠正常運(yùn)行,以及用戶和運(yùn)營(yíng)商的利益都無(wú)法得到保 證。
[0005] 申請(qǐng)?zhí)枮?01210527778. 9的專利申請(qǐng),公開了一種防止移動(dòng)終端升級(jí)到非法固 件版本的方法及系統(tǒng),包括升級(jí)工具對(duì)待升級(jí)固件版本進(jìn)行版本合法性校驗(yàn)處理,并根據(jù) 版本合法性校驗(yàn)結(jié)果,接收升級(jí)工具下發(fā)的待升級(jí)固件版本;對(duì)收到的待升級(jí)固件版本進(jìn) 行合法性驗(yàn)證,依據(jù)驗(yàn)證結(jié)果,進(jìn)行固件版本的升級(jí)。
[0006] 上述申請(qǐng)文件還是只能判定固件的合法性,無(wú)法實(shí)現(xiàn)固件版本的區(qū)分;因此,有必 要提供一種劃分終端開發(fā)模式和產(chǎn)品模式的方法及系統(tǒng),以解決上述問(wèn)題。
【發(fā)明內(nèi)容】
[0007]本發(fā)明所要解決的技術(shù)問(wèn)題是:提供一種劃分終端開發(fā)模式和產(chǎn)品模式的方法及 系統(tǒng),實(shí)現(xiàn)開發(fā)權(quán)限和產(chǎn)品權(quán)限的分離,確保測(cè)試版本的固件不會(huì)被更新至正式產(chǎn)品中,規(guī) 避終端可能存在的安全隱患。
[0008] 為了解決上述技術(shù)問(wèn)題,本發(fā)明采用的技術(shù)方案為:
[0009] -種劃分終端開發(fā)模式和產(chǎn)品模式的方法,包括:
[0010] 開發(fā)CA簽發(fā)開發(fā)證書,所述開發(fā)證書中包含開發(fā)私鑰和開發(fā)公鑰;
[0011] 使用開發(fā)私鑰對(duì)開發(fā)固件進(jìn)行簽名;生成已簽名的開發(fā)固件;
[0012] 終端獲取一固件;依據(jù)預(yù)先存儲(chǔ)在內(nèi)部FLASH中的標(biāo)志位判斷所述終端當(dāng)前處于 開發(fā)模式還是產(chǎn)品模式;
[0013] 若為開發(fā)模式,則獲取開發(fā)CA;使用開發(fā)CA驗(yàn)簽所述一固件;若驗(yàn)簽通過(guò),則判定 所述一固件為所述開發(fā)固件;安裝并運(yùn)行所述一固件。
[0014] 本發(fā)明提供的另一個(gè)技術(shù)方案為:
[0015] -種劃分終端開發(fā)模式和產(chǎn)品模式的系統(tǒng),包括:
[0016] 第一簽發(fā)模塊,用于開發(fā)CA簽發(fā)開發(fā)證書,所述開發(fā)證書中包含開發(fā)私鑰和開發(fā) 公鑰;
[0017] 第一簽名模塊,用于使用開發(fā)私鑰對(duì)開發(fā)固件進(jìn)行簽名;
[0018] 第一生成模塊,用于生成已簽名的開發(fā)固件;
[0019] 第一獲取模塊,用于終端獲取一固件;
[0020] 第一判斷模塊,用于依據(jù)預(yù)先存儲(chǔ)在內(nèi)部FLASH中的標(biāo)志位判斷所述終端當(dāng)前處 于開發(fā)模式還是產(chǎn)品模式;
[0021] 第二獲取模塊,用于獲取開發(fā)CA;
[0022] 第一驗(yàn)簽?zāi)K,用于使用開發(fā)CA驗(yàn)簽所述一固件;
[0023] 第一判定模塊,用于判定所述一固件為所述開發(fā)固件;
[0024] 安裝模塊,用于安裝并運(yùn)行所述一固件。
[0025] 本發(fā)明的有益效果在于:本發(fā)明對(duì)應(yīng)處于不同階段的固件使用不同的CA及證書 體系進(jìn)行簽名;在終端獲取到一固件后,依據(jù)預(yù)先存儲(chǔ)在內(nèi)部的標(biāo)志位判斷終端當(dāng)前是處 于開發(fā)模式還是產(chǎn)品模式,進(jìn)而獲取相應(yīng)的CA進(jìn)行驗(yàn)證,若驗(yàn)證通過(guò),則確認(rèn)所述固件符 合終端當(dāng)前所處模式;實(shí)現(xiàn)開發(fā)權(quán)限與產(chǎn)品權(quán)限的分離,確保開發(fā)人員使用開發(fā)CA簽名后 的測(cè)試版本固件無(wú)法下載到正式產(chǎn)品中,規(guī)避測(cè)試版本固件流出的風(fēng)險(xiǎn),進(jìn)而保證終端的 安全性。
【附圖說(shuō)明】
[0026]圖1為現(xiàn)有技術(shù)的固件簽名格式;
[0027]圖2為本發(fā)明一種劃分終端開發(fā)模式和產(chǎn)品模式的方法的流程示意圖;
[0028]圖3為本發(fā)明一實(shí)施例一種劃分終端開發(fā)模式和產(chǎn)品模式的方法的流程示意圖;
[0029]圖4為本發(fā)明一實(shí)施例一種劃分終端開發(fā)模式和產(chǎn)品模式的方法中驗(yàn)簽過(guò)程的 流程示意圖;
[0030]圖5為本發(fā)明一種劃分終端開發(fā)模式和產(chǎn)品模式的系統(tǒng)的結(jié)構(gòu)示意圖;
[0031]圖6為本發(fā)明一實(shí)施例一種劃分終端開發(fā)模式和產(chǎn)品模式的系統(tǒng)的結(jié)構(gòu)不意圖;
[0032]圖7為本發(fā)明一實(shí)施例一種劃分終端開發(fā)模式和產(chǎn)品模式的系統(tǒng)中第一簽名模 塊的結(jié)構(gòu)示意圖;
[0033]圖8為本發(fā)明一實(shí)施例一種劃分終端開發(fā)模式和產(chǎn)品模式的系統(tǒng)中第一驗(yàn)簽?zāi)?塊的結(jié)構(gòu)示意圖。
[0034] 標(biāo)號(hào)說(shuō)明:
[0035]I、第一簽發(fā)模塊;2、第一簽名模塊;3、第一生成模塊;
[0036] 4、第一獲取模塊;5、第一判斷模塊;6、第二獲取模塊;
[0037] 7、第一驗(yàn)簽?zāi)K;8、第一判定模塊;9、安裝模塊;
[0038] 10、第二簽發(fā)模塊;11、第二簽名模塊;12、第二生成模塊;
[0039] 13、第三獲取模塊;14、第二驗(yàn)簽?zāi)K;15、第二判定模塊;
[0040] 16、第一計(jì)算單元;17、加密單元;18、驗(yàn)證單元;
[0041] 19、解密單元;20、第二計(jì)算單元;21、對(duì)比單元。
【具體實(shí)施方式】
[0042] 為詳細(xì)說(shuō)明本發(fā)明的技術(shù)內(nèi)容、所實(shí)現(xiàn)目的及效果,以下結(jié)合實(shí)施方式并配合附 圖予以說(shuō)明。
[0043] 本發(fā)明最關(guān)鍵的構(gòu)思在于:對(duì)應(yīng)不同階段的固件使用不同的CA及證書體系進(jìn)行 簽名;依據(jù)終端當(dāng)前所處的模式獲取相應(yīng)的CA對(duì)所下載的固件進(jìn)行驗(yàn)證,只有驗(yàn)證通過(guò)才 允許安裝,實(shí)現(xiàn)權(quán)限的隔離。
[0044] 本發(fā)明涉及的技術(shù)術(shù)語(yǔ)解釋:
[0045]
[0046] 請(qǐng)參照?qǐng)D2以及圖3,本發(fā)明提供一種劃分終端開發(fā)模式和產(chǎn)品模式的方法,包 括:
[0047] 開發(fā)CA簽發(fā)開發(fā)證書,所述開發(fā)證書中包含開發(fā)私鑰和開發(fā)公鑰;
[0048] 使用開發(fā)私鑰對(duì)開發(fā)固件進(jìn)行簽名;生成已簽名的開發(fā)固件;
[0049] 終端獲取一固件;依據(jù)預(yù)先存儲(chǔ)在內(nèi)部FLASH中的標(biāo)志位,判斷所述終端當(dāng)前處 于開發(fā)模式還是產(chǎn)品模式;
[0050] 若為開發(fā)模式,則獲取開發(fā)CA ;使用開發(fā)CA驗(yàn)簽所述一固件;若驗(yàn)簽通過(guò),則判定 所述一固件為所述開發(fā)固件;安裝并運(yùn)行所述一固件。
[0051] 需要說(shuō)明的是,所述標(biāo)志位可以使用四字節(jié)表示,如當(dāng)數(shù)據(jù)為OxFFFFFFFF時(shí)為產(chǎn) 品模式,數(shù)據(jù)為OxABABABAB時(shí)表示當(dāng)前為開發(fā)模式;FLASH的特性是擦除后均被寫為OxFF, 達(dá)到默認(rèn)狀態(tài)為產(chǎn)品狀態(tài)的效果。
[0052] 從上述描述可知,本發(fā)明的有益效果在于:實(shí)現(xiàn)開發(fā)權(quán)限和產(chǎn)品權(quán)限的分離,確保 處于開發(fā)階段的測(cè)試版本固件不會(huì)被更新至正式產(chǎn)品中。在開發(fā)階段,開發(fā)人員能夠使用 開發(fā)權(quán)限進(jìn)行開發(fā)固件的簽名和各項(xiàng)調(diào)試;當(dāng)產(chǎn)品固件正式發(fā)布時(shí),由產(chǎn)品管控人員使用 產(chǎn)品權(quán)限對(duì)產(chǎn)品固件進(jìn)行簽名,確保開發(fā)和產(chǎn)品權(quán)限的隔離,保證開發(fā)固件的安全性。
[0053] 進(jìn)一步的,還包括:
[0054] 產(chǎn)品CA簽發(fā)產(chǎn)品證書,所述產(chǎn)品證書中包含產(chǎn)品私鑰和產(chǎn)品公鑰;
[0055] 使用產(chǎn)品私鑰對(duì)產(chǎn)品固件進(jìn)行簽名;生成已簽名的產(chǎn)品固件;
[0056] 若判斷所述終端當(dāng)前處于產(chǎn)品模式,則獲取產(chǎn)品CA ;使用產(chǎn)品CA驗(yàn)簽所述一固 件;若驗(yàn)