專利名稱:將計(jì)算機(jī)數(shù)據(jù)下載至手機(jī)的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通訊領(lǐng)域,尤其涉及一種將計(jì)算機(jī)數(shù)據(jù)下載至手機(jī)的方法。
背景技術(shù):
隨著通訊業(yè)的不斷發(fā)展,手機(jī)(如PHS手機(jī),CDMA手機(jī),GSM手機(jī))的需求量也在增加。但現(xiàn)在市場上存在不少不法商販?zhǔn)芾骝?qū)使對手機(jī)的代碼進(jìn)行篡改后非法下載到手機(jī)中,對手機(jī)內(nèi)部代碼進(jìn)行惡意攻擊和破壞,或者是將廠家較低版本(無某些新功能)的代碼通過非法途徑下載到手機(jī)中,使得廠家商家均蒙受巨大損失。
目前的手機(jī)下載程序沒有任何限制,只要知道手機(jī)與計(jì)算機(jī)(PC)通訊的命令就可通過數(shù)據(jù)線將要下載的文件數(shù)據(jù)包直接傳至手機(jī)。如中國專利申請第01118379號揭示了一種類似的方法,一種分布式PHS基站系統(tǒng)本地程序下載裝置包括PC側(cè)人機(jī)界面、PC側(cè)數(shù)據(jù)處理器,串口及基站側(cè)內(nèi)核處理器;其方法是建立數(shù)據(jù)通道,通過人機(jī)界面向基站下達(dá)程序下載命令,PC側(cè)數(shù)據(jù)處理器處理該命令并通過串口向基站發(fā)送程序下載請求,并處理,傳送數(shù)據(jù)。這樣的方法導(dǎo)致隨意更改后的程序也可以非常方便地下載到手機(jī)中,使得我們手機(jī)原有的功能被破壞,并且還能進(jìn)行硬件拷貝。
較早的手機(jī)有引導(dǎo)區(qū)(Boot區(qū)),而現(xiàn)在新的手機(jī)很多沒有Boot區(qū)(新手機(jī)的硬件決定)。以前對手機(jī)的保護(hù)都是基于引導(dǎo)區(qū)的,且沒有很有效的方法。下載數(shù)據(jù)時會通過串口將存儲在計(jì)算機(jī)上的手機(jī)程序(一個二進(jìn)制的文件包)傳送到手機(jī),實(shí)現(xiàn)對手機(jī)程序的更新。不法分子可以通過修改這個二進(jìn)制文件包修改手機(jī)程序。修改的程序下載到手機(jī),手機(jī)就會具有不法分子想擁有的特性,以達(dá)到他們的目的。
原有技術(shù)的下載方式不能防止空片(從未進(jìn)行過下載的只讀存儲器ROM芯片,ROM中沒有任何數(shù)據(jù))的硬件拷貝,不能很好的保護(hù)手機(jī)的程序代碼,會帶來各方面的利益損失1.廠家利益損失廠家為開拓新市場而增加一些新功能,但是這些功能通過以前的下載方式可以被不法商販所破壞,使得廠家的新開發(fā)沒有起到效果,尤其是信譽(yù)受到極大的損害。
2.商家利益損失商家因?yàn)榭粗袕S家新研發(fā)的一些新功能,而這些新功能往往能夠增加商家的利益,如果這些功能被破壞了,商家的利益也被大大損害。
3.消費(fèi)者利益損失消費(fèi)者使用非法途徑的手機(jī),這些手機(jī)的質(zhì)量無法保證,這種手機(jī)一旦有問題,很難有及時、準(zhǔn)確的服務(wù),消費(fèi)者利益無法完全保障。
通過以上說明可見,以前的手機(jī)程序下載方法對廠家、商家和消費(fèi)者都會造成損失。所以,有必要提供一種確實(shí)有效的防護(hù)措施,使手機(jī)不會被惡意的攻擊和破壞而造成各方面的損失。
發(fā)明內(nèi)容
本發(fā)明的目的在于針對上述現(xiàn)有技術(shù)的不足,提供一種將計(jì)算機(jī)數(shù)據(jù)下載至手機(jī)的方法,使下載過程可以進(jìn)行關(guān)鍵代碼保護(hù),程序版本規(guī)則的比較以及數(shù)字簽名認(rèn)證等,使手機(jī)代碼不易被任意篡改。
本發(fā)明的目的是通過以下技術(shù)方法來實(shí)現(xiàn)的計(jì)算機(jī)數(shù)據(jù)下載至手機(jī)的方法包括如下步驟首先由計(jì)算機(jī)向手機(jī)發(fā)送握手信號,手機(jī)接收上述握手信號后發(fā)送應(yīng)答信號到計(jì)算機(jī),從而建立起計(jì)算機(jī)與手機(jī)之間的通信,然后發(fā)送版本信息至手機(jī),由手機(jī)根據(jù)預(yù)設(shè)的版本規(guī)則進(jìn)行判斷是否可以下載,如果判斷為可以下載,則計(jì)算機(jī)開始發(fā)送數(shù)據(jù)包到手機(jī),手機(jī)會將接收到的數(shù)據(jù)存儲至手機(jī)的存儲器中,下載過程中對關(guān)鍵代碼進(jìn)行加密,直至全部數(shù)據(jù)都發(fā)送至手機(jī),下載結(jié)束后的根據(jù)新的版本信息對數(shù)字簽名進(jìn)行更新,最后結(jié)束通信。通過以上過程可以防止他人篡改手機(jī)程序,篡改代碼以保證手機(jī)的安全。
由于每個手機(jī)在出廠前都會經(jīng)歷程序下載這個過程,所以本發(fā)明的方法在下載之前會進(jìn)行規(guī)則判定看是否允許下載該程序,如果判定符合規(guī)則后會進(jìn)行正常的下載,并在下載的過程中對部分關(guān)鍵代碼進(jìn)行加密,在下載之后會對手機(jī)更新數(shù)字簽名。不符合規(guī)則的視為非法下載使其無法繼續(xù)進(jìn)行,減少非法下載的機(jī)會。通過數(shù)字簽名作最后的保證,即使非法下載在極小可能的情況下成功,也會因?yàn)闆]有數(shù)字簽名而使其無法頂替正品。更好的保護(hù)廠家、商家和消費(fèi)者的利益。并且使用方便,安全性高,給用戶的感覺是計(jì)算機(jī)下載工具和以前的使用起來并無不同。
圖1為現(xiàn)有技術(shù)中計(jì)算機(jī)數(shù)據(jù)下載至手機(jī)的程序流程圖。
圖2為本發(fā)明將計(jì)算機(jī)數(shù)據(jù)下載至手機(jī)的整體流程圖。
圖3為本發(fā)明的方法在下載前進(jìn)行版本規(guī)則比較的流程圖。
圖4為本發(fā)明的方法進(jìn)行關(guān)鍵代碼加密的流程圖。
圖5為本發(fā)明的方法進(jìn)行數(shù)字簽名的流程圖。
圖6為采用本發(fā)明的方法后,手機(jī)開機(jī)檢測的流程圖。
具體實(shí)施例方式
本發(fā)明由將計(jì)算機(jī)數(shù)據(jù)下載到手機(jī)上的過程和手機(jī)開機(jī)檢測部分共同體現(xiàn)。在計(jì)算機(jī)數(shù)據(jù)下載到手機(jī)的流程中加入版本比較模塊,從而使只有符合預(yù)定版本規(guī)則的程序可以被下載到手機(jī)上;加入關(guān)鍵代碼加密模塊,對使用頻率高的一段代碼進(jìn)行加密,從而使代碼不易被篡改;在下載之后會對手機(jī)更新數(shù)字簽名,作為最后的保證。手機(jī)開機(jī)檢測功能可在手機(jī)開機(jī)時進(jìn)行程序完整性校驗(yàn),進(jìn)一步防止手機(jī)代碼遭到非法篡改。
請參閱圖1,現(xiàn)有的計(jì)算機(jī)下載工具和手機(jī)之間通信的流程為計(jì)算機(jī)(PC)和手機(jī)之間通過串口建立的一種通信方式,先由計(jì)算機(jī)向手機(jī)發(fā)送握手信號,手機(jī)接收上述握手信號后發(fā)送應(yīng)答信號到計(jì)算機(jī),從而建立起計(jì)算機(jī)與手機(jī)之間的通信,然后計(jì)算機(jī)開始發(fā)送數(shù)據(jù)包到手機(jī),手機(jī)會將接收到的數(shù)據(jù)存儲至手機(jī)的存儲器中,直至全部數(shù)據(jù)都發(fā)送至手機(jī),結(jié)束通信。
請參閱圖2,本發(fā)明的計(jì)算機(jī)下載工具和手機(jī)之間通信的流程比較現(xiàn)有下載流程加入了下載之前的版本規(guī)則比較模塊,下載過程中對關(guān)鍵代碼的加密模塊以及在下載結(jié)束后的數(shù)字簽名模塊。
執(zhí)行規(guī)則比較模塊首先要進(jìn)行版本規(guī)則的定義,在版本信息中增加了基礎(chǔ)版本信息(Base Version),為了區(qū)分將手機(jī)中原有的版本信息稱為當(dāng)前版本信息(Current Version),在版本信息中規(guī)定當(dāng)前版本信息必須大于或等于基礎(chǔ)版本信息。如基礎(chǔ)版本信息是2.0,則當(dāng)前版本定義成2.4是正確的,而如果定義成1.3就不對了。
版本規(guī)則比較比的就是當(dāng)前版本和基礎(chǔ)版本。比較規(guī)則是跨基礎(chǔ)版本的兩個版本可以從低版本升到高版本,但是不可以將高版本降到低版本,同一基礎(chǔ)版本之間的版本可以任意升降。具體的說,如果手機(jī)中原有版本的基礎(chǔ)版本比欲下載版本的基礎(chǔ)版本高,則不能將欲下載版本的程序下載到手機(jī)中,若手機(jī)中原有版本的基礎(chǔ)版本比欲下載版本的基礎(chǔ)版本低,則可以將欲下載版本的程序下載到手機(jī)中。如果手機(jī)中原有版本的基礎(chǔ)版本與欲下載版本的基礎(chǔ)版本相同,則無論當(dāng)前版本是哪個高,都可以將欲下載版本的程序下載到手機(jī)中。
例如,版本(1.0,1.3)和版本(1.0,2.3)的兩個版本可以互相升降,而版本(1.0,1.4)和版本(1.5,1.5)只能從版本(1.0,1.4)升級到版本(1.5,1.5)。(以上例子前一個數(shù)字表示基礎(chǔ)版本,后一個數(shù)字表示當(dāng)前版本)。這樣,將有新功能的版本設(shè)定為高的基礎(chǔ)版本,實(shí)現(xiàn)手機(jī)不允許將低版本的程序下載到高版本的手機(jī)中。以上版本規(guī)則僅是一種實(shí)施方式,也可以根據(jù)需要而做一些改動,由廠家自行設(shè)定,用來保護(hù)某些新研發(fā)的功能。
由于直接比較當(dāng)前版本會導(dǎo)致版本只能升級不能降級或者只能降級不能升級,本發(fā)明增加基礎(chǔ)版本信息,目的是要使版本的升降級受到控制,版本制定者可以允許某些版本間是可以互相升降的,而某些版本是不允許相互升降的。而升級的需求的正常的,而降級的需求是可控的,所以用基礎(chǔ)版本控制降級。
下載之前手機(jī)的版本規(guī)則比較模塊進(jìn)行版本規(guī)則比較的流程請參考圖31.建立計(jì)算機(jī)與手機(jī)之間的通信連接后,由計(jì)算機(jī)下載工具通過數(shù)據(jù)線向手機(jī)發(fā)送要下載的文件的版本信息,手機(jī)的版本規(guī)則比較模塊會將手機(jī)里原有版本信息和計(jì)算機(jī)傳送過來的版本信息按照版本比較規(guī)則進(jìn)行比較,并將比較結(jié)果返回給計(jì)算機(jī);2.如果比較結(jié)果是允許下載,則計(jì)算機(jī)根據(jù)手機(jī)發(fā)送的比較結(jié)果信息繼續(xù)進(jìn)行文件下載,由計(jì)算機(jī)向手機(jī)發(fā)送文件數(shù)據(jù)包;3.如果比較結(jié)果是不允許下載,手機(jī)開始拒收后續(xù)的文件數(shù)據(jù)包;計(jì)算機(jī)則根據(jù)手機(jī)發(fā)送的比較結(jié)果提示不能下載,從而終止下載,使不符合版本比較規(guī)則的程序無法下載到手機(jī)上。此時計(jì)算機(jī)即使仍然繼續(xù)發(fā)送文件數(shù)據(jù)包,手機(jī)會拒絕接受,向計(jì)算機(jī)回非確認(rèn)數(shù)據(jù)包。將下載控制權(quán)設(shè)在手機(jī)側(cè),即使計(jì)算機(jī)下載工具遭篡改,也無法繞過版本規(guī)則比較。
請參閱圖4,下載過程中對關(guān)鍵代碼加密的流程為
1.計(jì)算機(jī)下載工具通過數(shù)據(jù)線向手機(jī)發(fā)送文件的數(shù)據(jù)包,手機(jī)側(cè)監(jiān)測程序會判斷接受到的數(shù)據(jù)包是否是關(guān)鍵代碼數(shù)據(jù)包;2.如果是關(guān)鍵代碼則將其用數(shù)據(jù)加密標(biāo)準(zhǔn)(DES)算法加密后存儲并繼續(xù)接收數(shù)據(jù),加密所用的密鑰與手機(jī)的硬件序列號相關(guān);手機(jī)開機(jī)執(zhí)行到這段代碼時手機(jī)會自行解密,如果在下載的時候不能正確加密,開機(jī)運(yùn)行到那段錯誤解密的關(guān)鍵代碼時,程序執(zhí)行的代碼不可預(yù)測,使手機(jī)無法正常工作。詳細(xì)過程請參閱圖6的開機(jī)檢測流程。
3.如果不是關(guān)鍵代碼則直接存儲至手機(jī)后繼續(xù)接收數(shù)據(jù)。
關(guān)鍵代碼選取應(yīng)遵循以下原則1.關(guān)鍵代碼由于要解密,所以代碼不能太大。通常大小控制在幾十到上百字節(jié)上。
2.關(guān)鍵代碼是執(zhí)行頻率很高的代碼,最好是任何操作都會執(zhí)行到的代碼,這樣如果關(guān)鍵代碼不正確,系統(tǒng)就難以運(yùn)行。
判斷是否為關(guān)鍵代碼是根據(jù)代碼存儲的位置判斷,通常定義了關(guān)鍵代碼后會給出代碼的存放地址和長度,如存放在以0x10FD00為起始,長度為200字節(jié)的位置,下載數(shù)據(jù)包的格式就是地址+數(shù)據(jù),所以根據(jù)地址可以判斷是否關(guān)鍵代碼。
加密所用的密鑰與手機(jī)的硬件序列號相關(guān),可以用以下算式表示密鑰=F(硬件序列號)F表示一個簡單一元函數(shù)。
增加關(guān)鍵代碼加密模塊后,可防止下載程序的仿制,同時也防止手機(jī)上存儲器(ROM)的硬件復(fù)制。關(guān)鍵代碼的具體定義并不需要強(qiáng)制,如果按以上的所提的原則定義,對保護(hù)較為有效。
請參閱圖5,數(shù)字簽名模塊是在下載后進(jìn)行數(shù)字簽名更新的流程為1.計(jì)算機(jī)下載工具通過數(shù)據(jù)線向手機(jī)發(fā)送下載完畢的命令;2.手機(jī)接到命令后首先查看手機(jī)內(nèi)原有數(shù)字簽名否有效;3.如果有效,則利用新下載文件的版本信息更新舊的數(shù)字簽名;4.如果無效,則不進(jìn)行更新;用戶在開機(jī)時手機(jī)監(jiān)測到無效數(shù)字簽名就會有“未經(jīng)UT認(rèn)證禁止銷售”等類似的錯誤提示,警告用戶該手機(jī)已遭非法破壞。詳細(xì)過程請參閱圖6的開機(jī)檢測流程。
數(shù)字簽名是確認(rèn)手機(jī)合法身份的一串?dāng)?shù)據(jù),為了防止偽造簽名信息,要求對于不同的手機(jī),不同的版本此簽名信息是唯一的。數(shù)字簽名可以用算式E=e(H,V)表示,其中E數(shù)字簽名,e簽名算法,H手機(jī)硬件序列號,V手機(jī)版本信息。數(shù)字簽名信息會存儲在手機(jī)ROM中,檢查數(shù)字簽名時,手機(jī)會根據(jù)以上算式計(jì)算簽名信息,計(jì)算結(jié)果同存儲的數(shù)字簽名信息比較,如果一致則認(rèn)為簽名有效,否則認(rèn)為無效。如果下載新的版本后仍然用原來的簽名必定會出錯。故手機(jī)在判斷原先簽名有效的前提下會根據(jù)新的版本信息,重新計(jì)算數(shù)字簽名,然后將新的數(shù)字簽名覆蓋原來的數(shù)字簽名。
數(shù)字簽名模塊的作用是保證空片的下載是受控的。
本發(fā)明的關(guān)鍵代碼加密模塊和數(shù)字簽名模塊的最終反應(yīng)表現(xiàn)在手機(jī)的開機(jī)檢測模塊,該模塊不屬于下載過程,是手機(jī)側(cè)程序采用本發(fā)明后的一種改善,現(xiàn)有技術(shù)中是沒有這個開機(jī)檢測模塊的。開機(jī)檢測的操作流程請參閱圖61.手機(jī)開機(jī)首先對關(guān)鍵代碼解密,如果用的是合法的下載工具,如前所述會在下載的時候就對關(guān)鍵代碼加密,所以開機(jī)相應(yīng)的對這段代碼解密,然后手機(jī)正常運(yùn)行;如果用的是非法下載工具,則下載的時候未經(jīng)加密但開機(jī)仍作了解密,那么這段代碼就稱為亂碼,手機(jī)運(yùn)行不正常。這樣保障了必須用合法的下載工具下載。
2.手機(jī)會將自身代碼做CRC(循環(huán)冗余碼校驗(yàn))計(jì)算,同真實(shí)的結(jié)果做比較。如果相同則進(jìn)入下一步,否則有錯誤提示。假設(shè)手機(jī)真實(shí)代碼為C1,C2,C3,...,Cn,我們將其作為CRC算法的輸入產(chǎn)生輸出K,我們將K和代碼存儲在手機(jī)存儲器中,交驗(yàn)時首先讀出手機(jī)代碼c1,c2,...,cn(注意這里是小寫的C),計(jì)算的CRC結(jié)果k,如果k等于K則交驗(yàn)通過,否則交驗(yàn)失敗。交驗(yàn)失敗的情況多為c1,c2,...,cn中有不和C1,C2,...,Cn相等的。
手機(jī)軟件的二進(jìn)制文件每一位(Bit)都是正確的,與此相對的就是二進(jìn)制文件有至少一個Bit的數(shù)據(jù)不正確,這種不正確會導(dǎo)致手機(jī)在運(yùn)行到錯誤的地方,會有不可預(yù)計(jì)的錯誤。因此交驗(yàn)代碼正確是必須的。從安全角度考慮,生產(chǎn)廠商考慮手機(jī)的代碼是根據(jù)自己的設(shè)計(jì)產(chǎn)生的,不希望有人改寫代碼,所以會交驗(yàn)代碼,交驗(yàn)匹配認(rèn)為代碼(即二進(jìn)制文件)沒有被修改?;谝陨蟽牲c(diǎn),我們對手機(jī)代碼完整性進(jìn)行交驗(yàn)。
3.手機(jī)會計(jì)算正確的簽名,并和當(dāng)前手機(jī)的簽名比較。如果簽名檢測結(jié)果相同則正常開機(jī)。如果不同,則開機(jī)會有“未經(jīng)UT認(rèn)證禁止銷售”等類似的錯誤提示信息,警告用戶該手機(jī)已遭非法破壞。
采用本發(fā)明的方法后,最終可以實(shí)現(xiàn)以下四大功能(1)用帶有加密模塊的計(jì)算機(jī)下載工具下載程序,防止非法下載工具進(jìn)行下載。加密所用的密鑰與手機(jī)的硬件序列號相關(guān)。因此每個手機(jī)存儲在只讀存儲器(ROM)上的代碼是不完全相同的。手機(jī)在開機(jī)的時候會對這段代碼進(jìn)行解密,然后運(yùn)行這段代碼。這樣就可以防止非法批量復(fù)制,必須用對應(yīng)的下載程序下載到手機(jī)的ROM上才可以正常使用。在手機(jī)開機(jī)過程增加解密模塊,使得在下載過程中必須要加上加密模塊。而加密模塊不容易被模仿,從而減少了很多非法下載的途徑。同時,由于我們采用特有的硬件信息作為加密的一部分,使得每個手機(jī)的加密信息都是獨(dú)一無二的,由此可以大大防止硬件拷貝。
(2)本發(fā)明的方法在下載之前會進(jìn)行規(guī)則判定看是否允許下載該程序,不符合規(guī)則的視為非法下載使其無法繼續(xù)進(jìn)行,減少非法下載的機(jī)會。版本升級或者降級受規(guī)定的比較規(guī)則控制(由下載過程中的規(guī)則比較實(shí)現(xiàn))。這樣可以防止商販隨意將高版本手機(jī)(含新開發(fā)功能的手機(jī))降級到低版本手機(jī)(不含新開發(fā)功能的手機(jī)),升降版本必須符合一定的規(guī)則方可。
(3)空片(從未進(jìn)行過下載的ROM芯片,ROM中沒有任何數(shù)據(jù))下載完程序不包含數(shù)字簽名,需經(jīng)過手機(jī)生產(chǎn)線的特殊流程才有數(shù)字簽名。未做數(shù)字簽名的手機(jī),開機(jī)會給予警告提示。數(shù)字簽名對于每個手機(jī),手機(jī)軟件的每個版本都是唯一的。經(jīng)特殊流程作數(shù)字簽名的手機(jī)在之后的每次下載過程中都會被自動更新。通過數(shù)字簽名作最后的保證,即使非法下載在極小可能的情況下成功,也會因?yàn)闆]有數(shù)字簽名而使其無法頂替正品,用戶在看到“未經(jīng)UT認(rèn)證禁止銷售”等類似的提示后仍然購買這種手機(jī)的數(shù)量會大大減少,這樣廠家商家用戶的利益都得到了很好的改善。
(4)最后,手機(jī)開機(jī)檢測功能可在手機(jī)開機(jī)時進(jìn)行程序完整性校驗(yàn),防止手機(jī)代碼遭到非法篡改。
本發(fā)明的方法通過軟硬件加密增強(qiáng)手機(jī)的安全性能,有效控制不法商販對手機(jī)代碼的惡意攻擊和破壞。更好的保護(hù)廠家、商家和消費(fèi)者的利益。并且使用方便,給用戶的感覺是下載工具和以前的使用起來并無不同。安全性高,設(shè)置幾道關(guān)卡大大增強(qiáng)了手機(jī)自我保護(hù)的能力。并在自身遭到惡意攻擊后發(fā)出告警提示信息告知用戶。
本發(fā)明的下載之前的規(guī)則比較模塊,下載過程中對關(guān)鍵代碼的加密模塊以及在下載結(jié)束后的數(shù)字簽名模塊之間并無必然聯(lián)系,但都是為了增加手機(jī)本身的防護(hù)功能,所以三個模塊可以單獨(dú)使用,也可以任意組合使用。
顯而易知的是,本發(fā)明的構(gòu)思不僅限于手機(jī),也可以用于其它可從計(jì)算機(jī)上下載的程序數(shù)據(jù)的數(shù)字設(shè)備,如個人數(shù)字助理(PDA),數(shù)碼相機(jī)等。
權(quán)利要求
1.一種將計(jì)算機(jī)數(shù)據(jù)下載至手機(jī)的方法,其特征在于包括以下步驟計(jì)算機(jī)和手機(jī)之間建立通信連接;計(jì)算機(jī)向手機(jī)發(fā)送握手信號;手機(jī)向計(jì)算機(jī)發(fā)送應(yīng)答信號;計(jì)算機(jī)發(fā)送數(shù)據(jù)包至手機(jī);手機(jī)的關(guān)鍵代碼加密模塊對數(shù)據(jù)關(guān)鍵代碼進(jìn)行加密,并存儲在手機(jī)存儲器中;不是關(guān)鍵代碼的數(shù)據(jù)包直接存儲到手機(jī)中;全部數(shù)據(jù)都發(fā)送至手機(jī)后,手機(jī)發(fā)送應(yīng)答信號至計(jì)算機(jī),結(jié)束下載。
2.如權(quán)利要求1所述的將計(jì)算機(jī)數(shù)據(jù)下載至手機(jī)的方法,其特征在于關(guān)鍵代碼進(jìn)行加密的流程為1)計(jì)算機(jī)通過數(shù)據(jù)線向手機(jī)發(fā)送文件的數(shù)據(jù)包時,手機(jī)側(cè)監(jiān)測程序會判斷接受到的數(shù)據(jù)包是否是關(guān)鍵代碼數(shù)據(jù)包;2)如果是關(guān)鍵代碼則將其用數(shù)據(jù)加密標(biāo)準(zhǔn)(DES)算法加密后存儲并繼續(xù)接收數(shù)據(jù);3)如果不是關(guān)鍵代碼則直接存儲至手機(jī)后繼續(xù)接收數(shù)據(jù)。
3.如權(quán)利要求2所述的將計(jì)算機(jī)數(shù)據(jù)下載至手機(jī)的方法,其特征在于關(guān)鍵代碼大小在幾十到上百字節(jié)之間。
4.如權(quán)利要求3所述的將計(jì)算機(jī)數(shù)據(jù)下載至手機(jī)的方法,其特征在于關(guān)鍵代碼是執(zhí)行頻率很高的一段代碼。
5.如權(quán)利要求2所述的將計(jì)算機(jī)數(shù)據(jù)下載至手機(jī)的方法,其特征在于關(guān)鍵代碼被確定后,具有確定的存放地址和長度,手機(jī)程序根據(jù)數(shù)據(jù)包的存放地址可以判斷是否為關(guān)鍵代碼。
6.如權(quán)利要求2所述的將計(jì)算機(jī)數(shù)據(jù)下載至手機(jī)的方法,其特征在于對關(guān)鍵代碼加密所用的密鑰是手機(jī)的硬件序列號的簡單一元函數(shù)。
7.如權(quán)利要求2所述的將計(jì)算機(jī)數(shù)據(jù)下載至手機(jī)的方法,其特征在于在計(jì)算機(jī)向手機(jī)發(fā)送數(shù)據(jù)包之前,加入程序版本規(guī)則比較模塊,使只有符合預(yù)定版本規(guī)則的程序可以被下載到手機(jī),而不能將不符合規(guī)則的數(shù)據(jù)包發(fā)送到手機(jī)。
8.如權(quán)利要求7所述的將計(jì)算機(jī)數(shù)據(jù)下載至手機(jī)的方法,其特征在于下載數(shù)據(jù)之前手機(jī)的版本規(guī)則比較模塊進(jìn)行版本比較的流程為1)建立計(jì)算機(jī)與手機(jī)之間的通信連接后,由計(jì)算機(jī)通過數(shù)據(jù)線向手機(jī)發(fā)送要下載的文件的版本信息,手機(jī)的版本規(guī)則比較模塊會將手機(jī)里原有版本信息和計(jì)算機(jī)傳送過來的版本信息按照版本比較規(guī)則進(jìn)行比較,并將比較結(jié)果返回給計(jì)算機(jī);2)如果比較結(jié)果是允許下載,則計(jì)算機(jī)根據(jù)手機(jī)發(fā)送的比較結(jié)果信息繼續(xù)進(jìn)行文件下載;由計(jì)算機(jī)向手機(jī)發(fā)送文件數(shù)據(jù)包;3)如果比較結(jié)果是不允許下載,手機(jī)開始拒收后續(xù)的文件數(shù)據(jù)包;計(jì)算機(jī)則根據(jù)手機(jī)發(fā)送的比較結(jié)果提示不能下載,從而終止下載過程,使不符合版本比較規(guī)則的程序無法下載到手機(jī)上。
9.如權(quán)利要求8所述的將計(jì)算機(jī)數(shù)據(jù)下載至手機(jī)的方法,其特征在于規(guī)則比較模塊的版本規(guī)則的定義為版本信息中包括基礎(chǔ)版本信息和當(dāng)前版本信息,當(dāng)前版本信息為手機(jī)中現(xiàn)有的程序的版本的信息,基礎(chǔ)版本信息為一個參考版本信息,且當(dāng)前版本信息必須大于或等于基礎(chǔ)版本信息;版本比較的規(guī)則是跨基礎(chǔ)版本的兩個版本可以從低版本升到高版本,但是不可以將高版本降到低版本,同一基礎(chǔ)版本之間的版本可以任意升降。
10.如權(quán)利要求2至9任意之一所述的將計(jì)算機(jī)數(shù)據(jù)下載至手機(jī)的方法,其特征在于數(shù)據(jù)下載結(jié)束后,加入數(shù)字簽名模塊,根據(jù)新下載的程序的版本信息更新手機(jī)中原有的數(shù)字簽名。
11.如權(quán)利要求10所述的將計(jì)算機(jī)數(shù)據(jù)下載至手機(jī)的方法,其特征在于在下載結(jié)束后數(shù)字簽名模塊進(jìn)行數(shù)字簽名更新的流程為1)計(jì)算機(jī)通過數(shù)據(jù)線向手機(jī)發(fā)送下載完畢的命令;2)手機(jī)接到命令后首先查看手機(jī)內(nèi)原有數(shù)字簽名是否有效;3)如果有效,則利用新下載文件的版本信息更新舊的數(shù)字簽名;4)如果無效,則不進(jìn)行更新。
12.如權(quán)利要求11所述的將計(jì)算機(jī)數(shù)據(jù)下載至手機(jī)的方法,其特征在于數(shù)字簽名用算式E=e(H,V)表示,其中E數(shù)字簽名,e簽名算法,H手機(jī)硬件序列號,V手機(jī)版本信息,原有的數(shù)字簽名信息存儲在手機(jī)存儲器中,手機(jī)在判斷原先簽名有效的前提下會根據(jù)新的版本信息,重新計(jì)算數(shù)字簽名,然后將新的數(shù)字簽名覆蓋原來的數(shù)字簽名。
13.一種手機(jī)的開機(jī)檢測方法,包括如下步驟手機(jī)程序在下載程序數(shù)據(jù)時,對一段使用頻率較高的程序設(shè)為關(guān)鍵代碼,并對關(guān)鍵代碼進(jìn)行加密;手機(jī)開機(jī)時,首先對關(guān)鍵代碼解密;如果關(guān)鍵代碼是經(jīng)過加密的,對這段代碼解密后,手機(jī)正常運(yùn)行;如果關(guān)鍵代碼是未經(jīng)加密,則經(jīng)過解密過程后,就為亂碼,手機(jī)運(yùn)行不能正常。
14.如權(quán)利要求13所述的手機(jī)的開機(jī)檢測方法,其特征在于在手機(jī)關(guān)鍵代碼解密成功后,手機(jī)會將自身代碼做CRC(循環(huán)冗余碼校驗(yàn))計(jì)算,同存儲在手機(jī)存儲器中的真實(shí)代碼的CRC結(jié)果做比較,如果相同則進(jìn)入下一步,否則提示錯誤信息,從而保證手機(jī)代碼的完整性。
15.如權(quán)利要求14所述的手機(jī)的開機(jī)檢測方法,其特征在于若手機(jī)的自身代碼CRC計(jì)算結(jié)果與手機(jī)存儲器中的真實(shí)代碼相同,則手機(jī)會計(jì)算正確的數(shù)字簽名,并和當(dāng)前手機(jī)中存儲的數(shù)字簽名比較,如果數(shù)字簽名檢測結(jié)果相同則正常開機(jī),如果不同,則會有錯誤提示信息。
16.一種將計(jì)算機(jī)數(shù)據(jù)下載至數(shù)字設(shè)備的方法,其特征在于包括以下步驟計(jì)算機(jī)和數(shù)字設(shè)備之間建立通信連接;計(jì)算機(jī)向數(shù)字設(shè)備發(fā)送信號;數(shù)字設(shè)備向計(jì)算機(jī)發(fā)送應(yīng)答信號;計(jì)算機(jī)發(fā)送數(shù)據(jù)包至數(shù)字設(shè)備;數(shù)字設(shè)備的關(guān)鍵代碼加密模塊對數(shù)據(jù)關(guān)鍵代碼進(jìn)行加密,并存儲在數(shù)字設(shè)備存儲器中;不是關(guān)鍵代碼的數(shù)據(jù)包直接存儲到數(shù)字設(shè)備中;全部數(shù)據(jù)都發(fā)送至數(shù)字設(shè)備后,數(shù)字設(shè)備發(fā)送應(yīng)答信號至計(jì)算機(jī),結(jié)束下載。
17.如權(quán)利要求16所述的將計(jì)算機(jī)數(shù)據(jù)下載至數(shù)字設(shè)備的方法,其特征在于關(guān)鍵代碼進(jìn)行加密的流程為1)計(jì)算機(jī)通過數(shù)據(jù)線向數(shù)字設(shè)備發(fā)送文件的數(shù)據(jù)包時,數(shù)字設(shè)備側(cè)監(jiān)測程序會判斷接受到的數(shù)據(jù)包是否是關(guān)鍵代碼數(shù)據(jù)包;2)如果是關(guān)鍵代碼則將其用數(shù)據(jù)加密標(biāo)準(zhǔn)(DES)算法加密后存儲并繼續(xù)接收數(shù)據(jù);3)如果不是關(guān)鍵代碼則直接存儲至數(shù)字設(shè)備后繼續(xù)接收數(shù)據(jù)。
18.如權(quán)利要求17所述的將計(jì)算機(jī)數(shù)據(jù)下載至數(shù)字設(shè)備的方法,其特征在于關(guān)鍵代碼大小在幾十到上百字節(jié)之間。
19.如權(quán)利要求18所述的將計(jì)算機(jī)數(shù)據(jù)下載至數(shù)字設(shè)備的方法,其特征在于關(guān)鍵代碼是執(zhí)行頻率很高的一段代碼。
20.如權(quán)利要求19所述的將計(jì)算機(jī)數(shù)據(jù)下載至數(shù)字設(shè)備的方法,其特征在于關(guān)鍵代碼被確定后,具有確定的存放地址和長度,數(shù)字設(shè)備程序根據(jù)數(shù)據(jù)包的存放地址可以判斷是否為關(guān)鍵代碼。
21.如權(quán)利要求17所述的將計(jì)算機(jī)數(shù)據(jù)下載至數(shù)字設(shè)備的方法,其特征在于對關(guān)鍵代碼加密所用的密鑰是數(shù)字設(shè)備的硬件序列號的簡單一元函數(shù)。
22.如權(quán)利要求16所述的將計(jì)算機(jī)數(shù)據(jù)下載至數(shù)字設(shè)備的方法,其特征在于在計(jì)算機(jī)向數(shù)字設(shè)備發(fā)送數(shù)據(jù)包之前,加入程序版本規(guī)則比較模塊,使只有符合預(yù)定版本規(guī)則的程序可以被下載到數(shù)字設(shè)備,而不能將不符合規(guī)則的數(shù)據(jù)包發(fā)送到數(shù)字設(shè)備。
23.如權(quán)利要求22所述的將計(jì)算機(jī)數(shù)據(jù)下載至數(shù)字設(shè)備的方法,其特征在于下載數(shù)據(jù)之前數(shù)字設(shè)備的版本規(guī)則比較模塊進(jìn)行版本比較的流程為1)建立計(jì)算機(jī)與數(shù)字設(shè)備之間的通信連接后,由計(jì)算機(jī)通過數(shù)據(jù)線向數(shù)字設(shè)備發(fā)送要下載的文件的版本信息,數(shù)字設(shè)備的版本規(guī)則比較模塊會將數(shù)字設(shè)備里原有版本信息和計(jì)算機(jī)傳送過來的版本信息按照版本比較規(guī)則進(jìn)行比較,并將比較結(jié)果返回給計(jì)算機(jī);2)如果比較結(jié)果是允許下載,則計(jì)算機(jī)根據(jù)數(shù)字設(shè)備發(fā)送的比較結(jié)果信息繼續(xù)進(jìn)行文件下載;由計(jì)算機(jī)向數(shù)字設(shè)備發(fā)送文件數(shù)據(jù)包;3)如果比較結(jié)果是不允許下載,數(shù)字設(shè)備開始拒收后續(xù)的文件數(shù)據(jù)包;計(jì)算機(jī)則根據(jù)數(shù)字設(shè)備發(fā)送的比較結(jié)果提示不能下載,從而終止下載過程,使不符合版本比較規(guī)則的程序無法下載到數(shù)字設(shè)備上。
24.如權(quán)利要求23所述的將計(jì)算機(jī)數(shù)據(jù)下載至數(shù)字設(shè)備的方法,其特征在于規(guī)則比較模塊的版本規(guī)則的定義為版本信息中包括基礎(chǔ)版本信息和當(dāng)前版本信息,當(dāng)前版本信息為數(shù)字設(shè)備中現(xiàn)有的程序的版本的信息,基礎(chǔ)版本信息為一個參考版本信息,且當(dāng)前版本信息必須大于或等于基礎(chǔ)版本信息;版本比較的規(guī)則是跨基礎(chǔ)版本的兩個版本可以從低版本升到高版本,但是不可以將高版本降到低版本,同一基礎(chǔ)版本之間的版本可以任意升降。
25.如權(quán)利要求17至24任意之一所述的將計(jì)算機(jī)數(shù)據(jù)下載至數(shù)字設(shè)備的方法,其特征在于數(shù)據(jù)下載結(jié)束后,加入數(shù)字簽名模塊,根據(jù)新下載的程序的版本信息更新數(shù)字設(shè)備中原有的數(shù)字簽名。
26.如權(quán)利要求25所述的將計(jì)算機(jī)數(shù)據(jù)下載至數(shù)字設(shè)備的方法,其特征在于在下載結(jié)束后數(shù)字簽名模塊進(jìn)行數(shù)字簽名更新的流程為1)計(jì)算機(jī)通過數(shù)據(jù)線向數(shù)字設(shè)備發(fā)送下載完畢的命令;2)數(shù)字設(shè)備接到命令后首先查看數(shù)字設(shè)備內(nèi)原有數(shù)字簽名是否有效;3)如果有效,則利用新下載文件的版本信息更新舊的數(shù)字簽名;4)如果無效,則不進(jìn)行更新。
27.如權(quán)利要求26所述的將計(jì)算機(jī)數(shù)據(jù)下載至數(shù)字設(shè)備的方法,其特征在于數(shù)字簽名用算式E=e(H,V)表示,其中E數(shù)字簽名,e簽名算法,H數(shù)字設(shè)備硬件序列號,V數(shù)字設(shè)備版本信息,原有的數(shù)字簽名信息存儲在數(shù)字設(shè)備存儲器中,數(shù)字設(shè)備在判斷原先簽名有效的前提下會根據(jù)新的版本信息,重新計(jì)算數(shù)字簽名,然后將新的數(shù)字簽名覆蓋原來的數(shù)字簽名。
28.一種終端設(shè)備,包括中央處理器及存儲器,其特征在于存儲器的中具有關(guān)鍵代碼加密程序模塊在從計(jì)算機(jī)下載數(shù)據(jù)時,關(guān)鍵代碼加密模塊會判斷接受到的數(shù)據(jù)包是否是關(guān)鍵代碼數(shù)據(jù)包,并對數(shù)據(jù)關(guān)鍵代碼進(jìn)行加密,存儲在終端設(shè)備的存儲器中。
29.如權(quán)利要求28所述的終端設(shè)備為手機(jī)。
30.如權(quán)利要求28所述的終端設(shè)備,其特征在于關(guān)鍵代碼大小在幾十到上百字節(jié)之間。
31.如權(quán)利要求30所述的終端設(shè)備,其特征在于關(guān)鍵代碼是執(zhí)行頻率很高的一段代碼。
32.如權(quán)利要求31所述的終端設(shè)備,其特征在于關(guān)鍵代碼被確定后,具有確定的存放地址和長度,終端設(shè)備根據(jù)數(shù)據(jù)包的存放地址可以判斷是否為關(guān)鍵代碼。
33.如權(quán)利要求28所述的終端設(shè)備,其特征在于終端設(shè)備開機(jī)時,首先對關(guān)鍵代碼解密;如果關(guān)鍵代碼是經(jīng)過加密的,對這段代碼解密后,終端設(shè)備正常運(yùn)行;如果關(guān)鍵代碼是未經(jīng)加密,則經(jīng)過解密過程后,就為亂碼,終端設(shè)備運(yùn)行不能正常。
全文摘要
本發(fā)明涉及一種計(jì)算機(jī)數(shù)據(jù)下載至手機(jī)的方法,包括如下步驟首先由計(jì)算機(jī)向手機(jī)發(fā)送握手信號,手機(jī)接收上述握手信號后發(fā)送應(yīng)答信號到計(jì)算機(jī),從而建立起計(jì)算機(jī)與手機(jī)之間的通信,然后計(jì)算機(jī)發(fā)送欲下載程序的版本信息至手機(jī),由手機(jī)根據(jù)預(yù)設(shè)的版本規(guī)則進(jìn)行判斷是否可以下載,如果判斷為可以下載,則計(jì)算機(jī)開始發(fā)送數(shù)據(jù)包到手機(jī),手機(jī)會將接收到的數(shù)據(jù)存儲至手機(jī)的存儲器中,下載過程中對關(guān)鍵代碼進(jìn)行加密,直至全部數(shù)據(jù)都發(fā)送至手機(jī),下載結(jié)束后根據(jù)新的版本信息對數(shù)字簽名進(jìn)行更新,最后結(jié)束通信。通過以上過程可以防止他人篡改手機(jī)代碼以保證手機(jī)的安全。
文檔編號G06F1/00GK1570865SQ20041001803
公開日2005年1月26日 申請日期2004年4月29日 優(yōu)先權(quán)日2004年4月29日
發(fā)明者張江峰, 劉青琥, 朱小燕 申請人:杭州斯達(dá)康通訊有限公司