袁一泳
摘要:該文提供了一種對(duì)移動(dòng)終端的下載工具以及下載版本內(nèi)容的合法性進(jìn)行鑒定的方法。
關(guān)鍵詞:移動(dòng),終端,下載
中圖分類(lèi)號(hào):TP393 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2015)19-0013-02
隨著移動(dòng)通訊技術(shù)的發(fā)展,移動(dòng)終端已經(jīng)進(jìn)入千家萬(wàn)戶。移動(dòng)終端的下載卻比較混亂,市場(chǎng)上的某些人可能將一些沒(méi)有發(fā)布的或未經(jīng)授權(quán)的移動(dòng)終端版本通過(guò)下載工具下載到移動(dòng)終端中。而移動(dòng)終端設(shè)備商和運(yùn)營(yíng)商卻不希望出現(xiàn)這樣的現(xiàn)象。本文提出了一種可以對(duì)移動(dòng)終端下載工具以及將要下載的版本文件進(jìn)行認(rèn)證的方法,如果是設(shè)備商認(rèn)可的下載工具以及版本文件,則可以允許下載該版本文件,如果不能通過(guò)安全認(rèn)證,則不允許進(jìn)行下載。
1具體內(nèi)容
為了解決現(xiàn)有技術(shù)中的問(wèn)題,本文提供了一種移動(dòng)終端安全下載的方法,本方法的原理是使用數(shù)字簽名技術(shù)在下載過(guò)程中通過(guò)對(duì)軟件版本號(hào)版本內(nèi)容進(jìn)行數(shù)字簽認(rèn)證,防止非刷機(jī)攻擊。認(rèn)證的密鑰存放在NAND FLASH的OTP區(qū)域,該區(qū)域不存在壞塊問(wèn)題,可以確保密鑰不會(huì)遭到非法修改。
一般的移動(dòng)終端下載過(guò)程:拿高通平臺(tái)舉例來(lái)說(shuō),高通平臺(tái)軟件下載是由boot和下載插件兩個(gè)程序來(lái)完成的,boot負(fù)責(zé)完成下載模式切換和將下載插件下載到RAM中,然后跳轉(zhuǎn)到下載插件程序人口,執(zhí)行下載插件代碼,再由下載插件將軟件版本下載到FALSH存儲(chǔ)區(qū),如圖1:
2新的方法主要對(duì)如下兩部分進(jìn)行改進(jìn)
版本號(hào)校驗(yàn):對(duì)下載插件文件和軟件版本號(hào)做數(shù)字簽名,在文件制作時(shí)用USBkey(存放私鑰)來(lái)制作數(shù)字簽名并插入到下載插件文件中,移動(dòng)終端在升級(jí)過(guò)程中首先對(duì)下載插件文件中的數(shù)字簽名和軟件版本號(hào)進(jìn)行校驗(yàn),如果數(shù)字簽名合法且軟件版本號(hào)匹配,就允許用戶進(jìn)行軟件下載,否則就中止。
版本文件內(nèi)容校驗(yàn):為防止通過(guò)替換下載插件文件進(jìn)行下載破解,對(duì)軟件版本文件內(nèi)容進(jìn)行散列計(jì)算,并將計(jì)算出來(lái)的摘要值用私鑰加密保存到下載插件文件中,移動(dòng)終端在升級(jí)過(guò)程中使用公鑰對(duì)摘要值進(jìn)行解密,并且對(duì)版本文件內(nèi)容進(jìn)行散列計(jì)算,如果解密值和散列計(jì)算值兩者相等,則啟動(dòng)軟件下載,否則則中止。
下面是使用升級(jí)工具實(shí)現(xiàn)新升級(jí)過(guò)程,終端側(cè)軟件仍然支持高通原始GO指令跳轉(zhuǎn),但是在跳轉(zhuǎn)前先將下載插件中的數(shù)字簽名用OTP區(qū)域中的公鑰進(jìn)行解密,從中提取出要下載的版本號(hào),插件和版本文件對(duì)應(yīng)的摘要,然后再對(duì)插件內(nèi)容和版本號(hào)進(jìn)行校驗(yàn),如果校驗(yàn)通過(guò)才會(huì)執(zhí)行跳轉(zhuǎn)并運(yùn)行插件程序,然后插件程序與下載工具進(jìn)行通信,對(duì)版本文件的內(nèi)容進(jìn)行校驗(yàn),校驗(yàn)通過(guò)后再寫(xiě)入到Flash中,版本文件的摘要是通過(guò)共享內(nèi)存來(lái)獲取得到的,在執(zhí)行下載插件程序之前寫(xiě)入到共享內(nèi)存中去。
綜上所述,采用本方法,可以對(duì)移動(dòng)終端的下載工具以及要下載的版本文件內(nèi)容進(jìn)行鑒權(quán)檢查,防止使用未授權(quán)的下載工具對(duì)移動(dòng)終端進(jìn)行非法下載,能夠有效地保證運(yùn)營(yíng)商的利益和移動(dòng)終端的安全性。