專利名稱:移動終端內(nèi)部軟件防盜版的方法與移動終端的制作方法
技術領域:
本發(fā)明涉及移動終端的防盜版技術,尤其涉及一種移動終端內(nèi)部軟件防盜版的方法與移動終端。
背景技術:
手機產(chǎn)品價格的下降以及產(chǎn)品自身的便捷特點,使手機成為日益普及的電子產(chǎn)品。據(jù)了解,目前全世界手機用戶總量已經(jīng)超過10億,并仍在呈現(xiàn)不斷增長的趨勢。手機的普及以及手機自身易于攜帶的外形也帶來一些問題,如容易遺失或被盜。這類問題在造成用戶直接經(jīng)濟損失的同時,不法分子還可利用原有手機軟硬件的漏洞,非法復制拷貝手機軟件,產(chǎn)生大量“水貨”手機,從而擾亂正常的市場秩序。
目前,有關手機防盜的技術包括以下幾種(1)法國專利FR2791509給出一種通過為手機設定開機密碼防止手機被盜后非法使用的技術。
(2)中國專利200310113647.7與03124196.4給出通過對手機中的SIM(用戶識別模塊)作保護,防止手機丟失后,其中的SIM卡被非法使用的技術。
(3)專利申請?zhí)枮?3148202.3以及專利號為01802972.8的專利,該兩個文件給出手機丟失后自動向失主報失的技術。
上述現(xiàn)有技術中,沒有針對手機丟失后,對手機上的軟件信息給出保護。
發(fā)明內(nèi)容
本發(fā)明提供一種移動終端內(nèi)部軟件防盜版的方法與移動終端,實現(xiàn)移動終端丟失或被盜后,防止軟件被“盜版”復制。
本發(fā)明的目的通過以下技術方案實現(xiàn)。
一種移動終端內(nèi)部軟件防盜版的方法,包括A、為移動終端設定一個硬件序列號;B、根據(jù)以此硬件序列號對移動終端的原始二進制代碼進行加密;C、啟動移動終端時首先對原始二進制代碼進行解密,解密結(jié)果正確則進入正常開機狀態(tài)。
所述的硬件序列號為移動終端的提供者自定義的,且不對外公開,第三方無法獲取。
所述的硬件序列號為設定長度的硬件序列號。
所述的設定長度為128比特。
所述的每個移動終端只分配唯一的一個硬件序列號。
所述的移動終端以此硬件序列號為加密算法的密鑰對移動終端的原始二進制代碼進行加密。
所述的加密算法為AES加密算法。
所述的加密過程是針對原始二進制代碼中的Boot代碼進行加密。
所述的方法,啟動移動終端時首先對原始二進制代碼的Boot代碼進行解密,解密結(jié)果正確則進入正常開機狀態(tài)。
所述的方法,應用AES解密算法對原始二進制代碼的Boot部分進行解密。
一種移動終端,其原始二進制代碼包括Boot代碼與系統(tǒng)代碼,還為移動終端設定了硬件序列號,還包括
加密/解密單元按照設定的加密算法根據(jù)設定的硬件序列號對Boot代碼進行加密或解密;存儲單元用于存儲加密后的Boot代碼或系統(tǒng)代碼;校驗處理單元用于校驗對加密后的Boot代碼解密結(jié)果是否正確,如正確,移動終端進入正常開機狀態(tài),否則,無法開機。
由上述本發(fā)明給出的技術方案可見,本發(fā)明所述的移動終端內(nèi)部軟件防盜版的方法在移動終端出廠時為移動終端設定一個硬件序列號;移動終端根據(jù)此硬件序列號對移動終端的原始二進制代碼進行加密;而啟動移動終端時首先對原始二進制代碼進行解密,解密結(jié)果正確則進入正常開機狀態(tài)。因硬件序列號為移動終端的提供者自定義的,且不對外公開,第三方無法獲取。對第三方用戶而言,由于無法獲得解密所需的密鑰即硬件序列號、以及相應的解密算法,即使通過某種方法將代碼從Flash存儲器中拷貝出來,也無法得到正確的軟件代碼,不可能復制再使用,從而防止了軟件被非法復制盜用。
圖1為本發(fā)明所述移動終端內(nèi)部軟件防盜版的方法中對原始二進制代碼進行加密的示意圖;圖2為本發(fā)明所述移動終端內(nèi)部軟件防盜版方法的流程圖;圖3為本發(fā)明所述移動終端的結(jié)構(gòu)示意圖。
具體實施例方式
本發(fā)明首先涉及一種移動終端內(nèi)部軟件防盜版的方法,具體過程為在移動終端出廠時為移動終端設定一個硬件序列號;移動終端根據(jù)此硬件序列號對移動終端的原始二進制代碼進行加密;而啟動移動終端時首先對原始二進制代碼進行解密,解密結(jié)果正確則進入正常開機狀態(tài)。硬件序列號為移動終端的提供者自定義的,且不對外公開,第三方無法獲取。移動終端的提供者可以為移動終端的生產(chǎn)廠家、經(jīng)營者、銷售者,甚至使用者,只要其對移動終端的內(nèi)部軟件有防盜版的需求,可以在移動終端出廠時提供自定義的。硬件序列號給廠家,將其與移動終端綁定就可以了。
通常選用的硬件序列號設定長度為N比特(如N=128bit)長的硬件序列號。并且每個移動終端只分配唯一的一個硬件序列號。
所述的移動終端以此硬件序列號為加密算法的密鑰對移動終端的原始二進制代碼進行加密??刹捎眉用芩惴?如AES加密算法)對原始二進制代碼(如Boot部分代碼)進行加密。相應的啟動移動終端時首先應用AES解密算法對原始二進制代碼(如Boot部分代碼)進行解密,解密結(jié)果正確則進入正常開機狀態(tài)。
以手機為例,手機的生產(chǎn)廠家為每部手機分配一個唯一的、N比特(如N=128bit)長的硬件序列號(稱之為硬件ID號,該ID號由廠家自定義且不對外公開,第三方無法獲取),此128bit硬件序列號的作用是作為AES(高級加密標準)加密算法的密鑰、對手機原始二進制代碼(BIN文件)中的Boot部分進行加密。在此過程中可將原始二進制(BIN)代碼分成兩部分Boot代碼+系統(tǒng)代碼,以128bit的硬件ID為密鑰采用AES算法對Boot部分的代碼進行加密,加密后和其它部分的代碼(也就是系統(tǒng)代碼)一起燒錄到Flash芯片中。
AES(Advanced Encryption Standard)加密算法是1997年1月美國國家標準和技術研究所(NIST)發(fā)布征集的新加密算法。2000年由比利時設計者Joan Daemen和Vincent Rijmen設計的Rijndael算法以其優(yōu)異的性能和抗攻擊能力,被篩選成為新一代的加密標準AES。該算法密鑰長度可選為128、192或256bit,它將明文分段并進行多個輪回的迭代運算,從而保證加密的可靠性,目前該算法已經(jīng)被WLAN(無線局域網(wǎng))標準等接納為國際標準算法。
加密過程如圖1所示,具體為首先,將原始二進制(BIN)代碼分成兩部分Boot代碼+系統(tǒng)代碼;其次,以128bit的硬件ID為密鑰采用AES算法對Boot部分的代碼進行加密;再次,將加密后的Boot代碼和其它部分的代碼(也就是系統(tǒng)代碼)合并后一起燒錄到Flash芯片中。
手機開機啟動時,首先對Boot代碼進行解密,解密結(jié)果正確才進入正常開機狀態(tài),具體流程如下圖2所示。
步驟21、手機處于關機狀態(tài),用戶摁下開機鍵后,手機內(nèi)的上電啟動電路開始工作,首先將Flash中Boot部分的代碼搬移到CPU內(nèi)的SRAM中;步驟22、然后CPU讀取128bit的硬件ID號,對Boot代碼進行AES解密;步驟23、判斷解密校驗結(jié)果是否正確,如是,執(zhí)行步驟24,否則,執(zhí)行步驟26;步驟24、判斷為合法代碼,CPU開始執(zhí)行Boot代碼對各芯片進行初始化、配置寄存器等;步驟25、初始化結(jié)束后,CPU將剩下的所有代碼(系統(tǒng)代碼)搬移到片外高速SDRAM或SRAM中并執(zhí)行之,從而完成上電啟動過程。
步驟26、判斷為非法代碼,進入重啟過程(無法開機)。
對第三方用戶而言,由于無法獲得AES解密所需的密鑰(即128bit硬件ID號)、以及相應的AES算法,即使通過某種方法將代碼從Flash存儲器中拷貝出來,也無法得到正確的軟件代碼,不可能復制再使用,從而防止了軟件被非法復制盜用。
本發(fā)明所述的一種移動終端,其原始二進制代碼包括Boot代碼與系統(tǒng)代碼,廠家為移動終端設定了硬件序列號,同時如圖3所示,所述的移動終端還包括加密/解密單元、存儲單元與校驗處理單元,其中,加密/解密單元按照設定的加密算法根據(jù)設定的硬件序列號對Boot代碼進行加密或解密;存儲單元用于存儲加密后的Boot代碼或系統(tǒng)代碼;校驗處理單元用于校驗對加密后的Boot代碼解密結(jié)果是否正確,如正確,移動終端進入正常開機狀態(tài),否則,無法開機。
以上所述,僅為本發(fā)明較佳的具體實施方式
,但本發(fā)明的保護范圍并不局限于此,任何熟悉本技術領域的技術人員在本發(fā)明揭露的技術范圍內(nèi),可輕易想到的變化或替換,都應涵蓋在本發(fā)明的保護范圍之內(nèi)。因此,本發(fā)明的保護范圍應該以權利要求書的保護范圍為準。
權利要求
1.一種移動終端內(nèi)部軟件防盜版的方法,其特征在于,包括A、為移動終端設定一個硬件序列號;B、根據(jù)以此硬件序列號對移動終端的原始二進制代碼進行加密;C、啟動移動終端時首先對原始二進制代碼進行解密,解密結(jié)果正確則進入正常開機狀態(tài)。
2.根據(jù)權利要求1所述的移動終端內(nèi)部軟件防盜版的方法,其特征在于,所述的硬件序列號為移動終端的提供者自定義的,且不對外公開,第三方無法獲取。
3.根據(jù)權利要求1或2所述的移動終端內(nèi)部軟件防盜版的方法,其特征在于,所述的硬件序列號為設定長度的硬件序列號。
4.根據(jù)權利要求3所述的移動終端內(nèi)部軟件防盜版的方法,其特征在于,所述的設定長度為128比特。
5.根據(jù)權利要求1或2所述的移動終端內(nèi)部軟件防盜版的方法,其特征在于,所述的每個移動終端只分配唯一的一個硬件序列號。
6.根據(jù)權利要求1所述的移動終端內(nèi)部軟件防盜版的方法,其特征在于,所述的移動終端以此硬件序列號為加密算法的密鑰對移動終端的原始二進制代碼進行加密。
7.根據(jù)權利要求6所述的移動終端內(nèi)部軟件防盜版的方法,其特征在于,所述的加密算法為AES加密算法。
8.根據(jù)權利要求1或6所述的移動終端內(nèi)部軟件防盜版的方法,其特征在于,所述的加密過程是針對原始二進制代碼中的Boot代碼進行加密。
9.根據(jù)權利要求8所述的移動終端內(nèi)部軟件防盜版的方法,其特征在于,啟動移動終端時首先對原始二進制代碼的Boot代碼進行解密,解密結(jié)果正確則進入正常開機狀態(tài)。
10.根據(jù)權利要求9所述的移動終端內(nèi)部軟件防盜版的方法,其特征在于,應用AES解密算法對原始二進制代碼的Boot部分進行解密。
11.一種移動終端,其原始二進制代碼包括Boot代碼與系統(tǒng)代碼,其特征在于,還為移動終端設定了硬件序列號,還包括加密/解密單元按照設定的加密算法根據(jù)設定的硬件序列號對Boot代碼進行加密或解密;存儲單元用于存儲加密后的Boot代碼或系統(tǒng)代碼;校驗處理單元用于校驗對加密后的Boot代碼解密結(jié)果是否正確,如正確,移動終端進入正常開機狀態(tài),否則,無法開機。
全文摘要
本發(fā)明所述的移動終端內(nèi)部軟件防盜版的方法與移動終端,在移動終端出廠時為移動終端設定一個硬件序列號;移動終端根據(jù)此硬件序列號對移動終端的原始二進制代碼進行加密;而啟動移動終端時首先對原始二進制代碼進行解密,解密結(jié)果正確則進入正常開機狀態(tài)。因硬件序列號為移動終端的提供者自定義的,且不對外公開,第三方無法獲取。對第三方用戶而言,由于無法獲得解密所需的密鑰即硬件序列號、以及相應的解密算法,即使通過某種方法將代碼從Flash存儲器中拷貝出來,也無法得到正確的軟件代碼,不可能復制再使用,從而防止了軟件被非法復制盜用。
文檔編號H04W12/04GK1913680SQ200610109989
公開日2007年2月14日 申請日期2006年8月25日 優(yōu)先權日2006年8月25日
發(fā)明者盧紅旗 申請人:華為技術有限公司