專利名稱:一種專用處理器軟件的加密和解密方法
技術(shù)領(lǐng)域:
本發(fā)明涉及專用處理器所配軟件的加密和解密方法,特別是針對手機、PDA等智能終端軟件的加密和解密過程。
技術(shù)背景目前在帶有中央處理器的終端系統(tǒng)中,對軟件的保護方法主要分為 三類上網(wǎng)注冊、License保護、軟件加密。前兩類保護方法需要借助 網(wǎng)絡(luò)等外部途徑來取得軟件的正常使用權(quán),適宜在連入網(wǎng)絡(luò)的設(shè)備中使 用。而軟件加密的方法主要有兩種加密狗和鑰匙盤。其中,加密狗是插在計算機并口上的軟硬件結(jié)合的軟件加密產(chǎn)品。 它一般都有幾十或幾百字節(jié)的非易失性存儲空間可供讀寫,有的內(nèi)部還 增添了一個單片機。軟件運行時通過向并口寫入一定數(shù)據(jù),判斷從并口 返回密碼數(shù)據(jù)正確與否來檢査加密狗是否存在。鑰匙盤方式就是在特殊 磁道里寫入一定信息,軟件在運行時通過校驗這些信息判斷其合法性。 兩者共同的特點都需要利用外部設(shè)備驗證軟件的合法性。如上所述,對于很多功能簡單、結(jié)構(gòu)靈巧的便攜設(shè)備(如手機、PDA 等智能終端),采用上網(wǎng)注冊或添加外設(shè)的方法就顯得既不方便也不實 用。
發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種專用處理器軟件的加密和解密方法,解 決上述現(xiàn)有技術(shù)中所存在的技術(shù)問題,利用專用處理器硬件序列號的某 種變換實現(xiàn)對專用軟件的加密,從而提高專用處理器軟件和其自身硬件 設(shè)備的安全性。為解決上述問題,本發(fā)明是這樣實現(xiàn)的一種專用處理器軟件的加密方法,該處理器具有存儲器,其特征是 方法步驟為A由隨機數(shù)發(fā)生器RNG產(chǎn)生隨機數(shù)RN;B RN和軟件唯一序列號SW一UID構(gòu)成對稱密鑰Key_sym,通過 對稱加密算法對要加密的軟件明文Plain text進行加密;其中該 SW—UID是由專用處理器中存儲的代表芯片身份的唯一序列號 HW一UID經(jīng)過散列函數(shù)HASH變換得到的;C公共密鑰Key_pub通過非對稱加密算法對Key—sym進行加密; D加密后的Plain text和Key—sym放在一起下載到存儲器中。 所述步驟B中RN同SW—UID級聯(lián)后構(gòu)成Key一sym。 所述步驟B中RN和SW—UID采取的是將兩段序列等分成相同的份 數(shù),再進行內(nèi)插構(gòu)成Key—sym。所述步驟B中Key一sym的構(gòu)成方法是先各自將序列SW_UID和 RN分解成矩陣A和B,然后由A和B合并成矩陣C,最后由矩陣C按 照某種規(guī)則(如按行或列讀出)轉(zhuǎn)換成序列構(gòu)成Key—sym。 該矩陣C按照按行讀出規(guī)則轉(zhuǎn)換成序列構(gòu)成Key一sym。 該矩陣C按照按列讀出規(guī)則轉(zhuǎn)換成序列構(gòu)成Key—sym。 一種對應(yīng)于上述加密方法的專用處理器軟件的解密方法,其特征是 方法步驟為E由專用處理器中存儲的私有密鑰Key_prv對加密后的Key一sym進 行解密,得到RN和SW—UID';F專用處理器對其存儲的HWJJID計算HASH值得到SW—UID; G比較SW—UID'和SWJJID,如果相同則進入步驟H,否則進入步驟I;H由RN和SWJJID對加密后的Plain text進行解密,得到解密后 的Plain text;I驗證失敗,終止程序。所述的步驟I中進一步包括發(fā)出告警信息操作。 藉由上述技術(shù)方案,本發(fā)明方法具有如下技術(shù)效果-1、 本發(fā)明方法與原有的上網(wǎng)注冊、License保護方法相比,無需連 入網(wǎng)絡(luò)的設(shè)備中就能使用。2、 本發(fā)明方法與原有的加密狗和鑰匙盤方式相比,無需利用外部 設(shè)備驗證軟件的合法性。3、 本發(fā)明加密方法中由RNG產(chǎn)生的RN同SW一UID級聯(lián)后作為 Key—sym,這樣做是為了使對稱密鑰真正做到隨機化,不易被攻破。4、 本發(fā)明方法非常適用于很多功能簡單、結(jié)構(gòu)靈巧的便攜設(shè)備(如 手機、PDA等智能終端)。
圖1是本發(fā)明實施例1中加密方法的流程示意圖; 圖2是本發(fā)明實施例1中解密方法的流程示意圖; 圖3是本發(fā)明實施例2中Key_sym的構(gòu)成方法示意圖; 圖4是本發(fā)明實施例3中Key一sym的構(gòu)成方法示意圖。
具體實施方式
實施例1該實施例提供了一種專用處理器軟件的加密和解密方法。首先,該專用處理器的芯片中存儲有一個代表芯片身份的唯一序列號HW—UID, 序列號的長短由生產(chǎn)廠家自行決定,但絕對不能重復(fù)。下面將從加密和 解密兩個方面詳細(xì)介紹如何利用這個唯一序列號實現(xiàn)對專用處理器軟 件的加密解密過程。該例中,加密端實現(xiàn)過程如圖1所示。其中Keyjub表示公共密 鑰,用來進行非對稱加密;Key—sym表示對稱密鑰,用來進行對稱加密; Plain text表示要加密的軟件明文;SW—UID表示軟件唯一序列號,它是 HWJJID經(jīng)過散列函數(shù)HASH變換得到的;RNG表示隨機數(shù)發(fā)生器, 它產(chǎn)生的隨機數(shù)RN同SW—UID級聯(lián)后作為Key_sym,這樣做是為了使 對稱密鑰真正做到隨機化,不易被攻破。參見圖1,軟件加密的過程是 通過以下四步來實現(xiàn)的第一步RNG產(chǎn)生隨機數(shù)RN;第二步RN和SWJJID構(gòu)成Key—sym,通過對稱加密算法對Plain text進行加密;第三步Keyjpub通過非對稱加密算法對Key一sym進行加密; 第四步加密后的Plain text和Key—sym放在一起下載到存儲器中。 該例中解密端實現(xiàn)過程如圖2所示。其中,Key』rv表示私有密 鑰,用來進行非對稱解密,它同HWJJID —起存儲于芯片的內(nèi)部,并 禁止任何外部設(shè)備的訪問。從圖2可以看出,軟件解密的過程是通過以 下五步實現(xiàn)的-
第一步利用Keyjrv對加密后的Key—sym進行解密,得到RN和 SW—UID,;第二步對HW—UID計算HASH值得到SW—UID; 第三步SW—UID,和SW—UID,如果相同則進入第四步,否則進入 第五步;第四步利用RN和SW一UID對加密后的Plain text進行解密,得 到解密后的Plain text;第五步驗證失敗,終止程序,發(fā)出告警信息。上述方法中所使用的散列函數(shù)、對稱加、解密算法和非對稱加、解 密算法可以根據(jù)具體設(shè)計要求任意組合。實施例2該實施例提供了一種專用處理器軟件的加密和解密方法,其加密、解密方法步驟與實施例1基本一致,不同之處在于Key一sym的構(gòu)成方 式。如圖3所示RN和SWJJID采取的是將兩段序列等分成相同的 份數(shù),再進行內(nèi)插構(gòu)成Key一sym,如每間隔M(M-2,3…)個SWJJID值 插入N(N-1,2…)個RN值。實施例3該實施例又提供了一種專用處理器軟件的加密和解密方法,其加 密、解密方法步驟與實施例l、 2基本一致,不同之處在于Key—sym的 構(gòu)成方式。如圖4所示它采取的是交織組合方法,先各自將序列 SW—UID和RN分解成矩陣A和B,然后由A和B合并成矩陣C,最 后由矩陣C按照某種規(guī)則(如按行或列讀出)轉(zhuǎn)換成序列構(gòu)成Key_sym。 綜上所述僅為本發(fā)明的較佳實施例而已,并非用來限定本發(fā)明的實 施范圍。即凡依本發(fā)明申請專利范圍的內(nèi)容所作的等效變化與修飾,都 應(yīng)為本發(fā)明的技術(shù)范疇。
權(quán)利要求
1、一種專用處理器軟件的加密方法,該處理器具有存儲器,其特征是方法步驟為A由隨機數(shù)發(fā)生器RNG產(chǎn)生的隨機數(shù)RN;B RN和軟件唯一序列號SW_UID構(gòu)成對稱密鑰Key_sym,通過對稱加密算法對要加密的軟件明文Plain text進行加密;其中該SW_UID是由專用處理器中存儲的代表芯片身份的唯一序列號HW_UID經(jīng)過散列函數(shù)HASH變換得到的;C公共密鑰Key_pub通過非對稱加密算法對Key_sym進行加密;D加密后的Plain text和Key_sym放在一起下載到存儲器中。
2、 根據(jù)權(quán)利要求1所述的專用處理器軟件的加密方法,其特征是 所述步驟B中RN同SWJJID級聯(lián)后構(gòu)成Key—sym。
3、 根據(jù)權(quán)利要求1所述的專用處理器軟件的加密方法,其特征是 所述步驟B中RN和SWJJID采取的是將兩段序列等分成相同的份數(shù), 再進行內(nèi)插構(gòu)成Key一sym。
4、 根據(jù)權(quán)利要求1所述的專用處理器軟件的加密方法,其特征是 所述步驟B中Key_sym的構(gòu)成方法是先各自將序列SWJJID和RN 分解成矩陣A和B,然后由A和B合并成矩陣C,最后由矩陣C轉(zhuǎn)換 成序列構(gòu)成Key—sym。
5、 根據(jù)權(quán)利要求4所述的專用處理器軟件的加密方法,其特征是 該矩陣C按照按行讀出規(guī)則轉(zhuǎn)換成序列構(gòu)成Key一sym。
6、 根據(jù)權(quán)利要求4所述的專用處理器軟件的加密方法,其特征是 該矩陣C按照按列讀出規(guī)則轉(zhuǎn)換成序列構(gòu)成Key一sym。
7、 一種對應(yīng)于權(quán)利要求1或2或3或4或5或6所述加密方法的專用處理器軟件的解密方法,其特征是方法步驟為E由專用處理器中存儲的私有密鑰Keyj)rv對加密后的Key—sym進 行解密,得到RN和SW一UID';F專用處理器對其存儲的HW—UID計算HASH值得到SW—UID; G比較SW一UID'和SW—UID,如果相同則進入步驟H,否則進入步H由RN和SW—UID對加密后的Plain text進行解密,得到解密后 的Plain text;I驗證失敗,終止程序。
8、根據(jù)權(quán)利要求7所述的專用處理器軟件的解密方法,其特征是 所述的步驟I中進一步包括發(fā)出告警信息操作。
全文摘要
本發(fā)明涉及專用處理器所配軟件的加密和解密方法,特別是針對手機、PDA等智能終端軟件的加密和解密過程。加密過程為由隨機數(shù)發(fā)生器RNG產(chǎn)生隨機數(shù)RN;RN和軟件唯一序列號SW_UID構(gòu)成對稱密鑰Key_sym,通過對稱加密算法對要加密的軟件明文Plaintext加密;其中該SW_UID是由專用處理器中存儲的代表芯片身份的唯一序列號HW_UID經(jīng)過散列函數(shù)HASH變換得到的;公共密鑰Key_pub通過非對稱加密算法對Key_sym加密;加密后Plaintext和Key_sym放在一起下載到存儲器中。另外,還提供了一種針對上述加密方法的解密方法。本發(fā)明方法利用專用處理器硬件序列號的某種變換實現(xiàn)對專用軟件的加密,提高了專用處理器軟件和其自身硬件設(shè)備的安全性。
文檔編號G06F21/00GK101149768SQ20061011625
公開日2008年3月26日 申請日期2006年9月20日 優(yōu)先權(quán)日2006年9月20日
發(fā)明者玲 呂, 暉 繆 申請人:展訊通信(上海)有限公司