專利名稱:一種防拷貝的軟件保護與運行裝置及方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計算機軟件產(chǎn)品領(lǐng)域,更具體說,它涉及一種防拷貝的軟件保護與運行裝置及方法。
背景技術(shù):
軟件開發(fā)商非常了解自己應(yīng)用程序的重要性,但是想要最大化地保護產(chǎn)品的知識產(chǎn)權(quán)、為軟件用戶提供靈活多樣的授權(quán)方案,則需要一套復(fù)雜、靈活而且易用的授權(quán)管理系統(tǒng)。常用的軟件加密狗,其加密的基本原理為開發(fā)商程序通過調(diào)用硬件加密狗的接口模塊對硬件加密狗操作,硬件加密狗響應(yīng)該操作并通過接口模塊將相應(yīng)數(shù)據(jù)返回給開發(fā)商的應(yīng)用程序。開發(fā)商的應(yīng)用程序可以對返回值進行判定并采取相應(yīng)的動作。如果返回?zé)o效的響應(yīng),表明沒有正確的狗,開發(fā)商可以將應(yīng)用程序終止運行,或者讓應(yīng)用程序以錯誤的方式執(zhí)行。其結(jié)構(gòu)的不足在于1. PC軟件產(chǎn)品雖然與具有唯一序列號的硬體通過USB通訊進行綁定,一旦密碼泄露就可被借貸者反復(fù)使用;2.軟件用唯一序列號綁定存在數(shù)據(jù)被截取破解的風(fēng)險;3. PC軟件產(chǎn)品尚可被輕易拷貝,容易通過如下方式進行破解后泛濫傳播a)用針對各種語言的反匯編工具進行反匯編后靜態(tài)分析;b)用調(diào)試工具進行跟蹤動態(tài)分析;c)用監(jiān)視工具進行監(jiān)視分析。
發(fā)明內(nèi)容
本發(fā)明的目的是克服現(xiàn)有技術(shù)中的不足,提供一種防拷貝的軟件保護與運行裝置及方法,有效解決計算機軟件產(chǎn)品的版權(quán)保護,防止其在非授權(quán)情況下肆意拷貝傳播。本發(fā)明的目的是通過以下技術(shù)方案實現(xiàn)的這種防拷貝的軟件保護與運行裝置,包括軟件保護裝置,軟件保護裝置包括高速數(shù)據(jù)吞吐接口、指紋傳感器、傳感器與安全芯片的掛接接口、安全芯片、存儲介質(zhì)接口和存儲介質(zhì),軟件保護裝置通過高速數(shù)據(jù)吞吐接口與PC硬體相連接,指紋傳感器通過傳感器與安全芯片的掛接接口與安全芯片相連接,存儲介質(zhì)通過存儲介質(zhì)接口與安全芯片相連接。本發(fā)明所述的防拷貝的軟件保護與運行方法,設(shè)置有指紋保護模塊、加密存儲模塊、防復(fù)制模塊和軟件硬體綁定模塊,其工作步驟分別如下A、加密存儲模塊工作步驟I)設(shè)備初始化時用安全芯片的真隨機數(shù)產(chǎn)生對稱加密密鑰KEYl ;2)將密鑰KEYl存儲于安全芯片的安全存儲區(qū),該密鑰KEYl只運行不導(dǎo)出,保證密碼的絕對安全;3)以密鑰KEYl為安全因子,用SMUAES或DES/3DES對稱加密算法對數(shù)據(jù)流進行加密存儲、解密讀取,保證存儲介質(zhì)中的數(shù)據(jù)絕對安全;
B、軟件硬體綁定模塊工作步驟I)運行安全芯片,用RSA、ECC或SM2非對稱算法生成公/私密鑰對PriKey/PubKey,私鑰PriKey存儲于安全芯片的安全存儲區(qū),只運行不允許導(dǎo)出,公鑰PubKey則允許導(dǎo)出;2)導(dǎo)出安全芯片生成的公鑰PubKey,編輯與想被保護的PC軟件,建立安全認證通道,實現(xiàn)無規(guī)律多次隨機認證功能;3) PC軟件運行時,無規(guī)律多次隨機認證的基本步驟為a) PC軟件生成一串隨機數(shù);b)用公鑰PubKey加密隨機數(shù),傳輸與軟件保護裝置;c)軟件保護裝置用私鑰PriKey解密隨機數(shù),并進行回傳;d) PC軟件驗證回傳數(shù)據(jù),利用公鑰PubKey加密只能用私鑰PriKey解密的規(guī)則,認證PC軟件與軟件保護裝置的匹配性;e)認證通過則PC軟件繼續(xù)運行,認證失敗則進行非規(guī)律延時運行報錯;C、防復(fù)制模塊工作步驟I)軟件保護裝置內(nèi)置防復(fù)制代碼;2)插入PC后第一時間自運行軟件保護裝置內(nèi)置的防復(fù)制代碼,屏蔽拷貝功能;D、指紋保護模塊工作步驟I)利用事先內(nèi)置于軟件保護裝置內(nèi)的指紋認證管理模塊進行指紋錄入、識別或刪除操作,其內(nèi)置指紋認證管理模塊運用上面提及的加密存儲模塊、防復(fù)制模塊功能加以保護;2)首次運行提示用戶錄入指紋,用于綁定軟件保護裝置與被授權(quán)者本人;3)每次登陸訪問保護裝置內(nèi)的受保護的數(shù)據(jù),必須先認證識別使用者的身份。本發(fā)明的有益效果是提供了一種防拷貝的軟件保護與運行裝置及方法,有效解決計算機軟件產(chǎn)品的版權(quán)保護,防止其在非授權(quán)情況下肆意拷貝傳播。
圖1是本發(fā)明硬件框圖;圖2是本發(fā)明功能框具體實施例方式下面結(jié)合附圖和實施例對本發(fā)明做進一步描述。雖然本發(fā)明將結(jié)合較佳實施例進行描述,但應(yīng)知道,并不表示本發(fā)明限制在所述實施例中。相反,本發(fā)明將涵蓋可包含在有附后權(quán)利要求書限定的本發(fā)明的范圍內(nèi)的替換物、改進型和等同物。如圖1所示,這種防拷貝的軟件保護與運行裝置,包括軟件保護裝置2,軟件保護裝置2包括高速數(shù)據(jù)吞吐接口 21、指紋傳感器22、傳感器與安全芯片的掛接接口 23、安全芯片24、存儲介質(zhì)接口 25和存儲介質(zhì)26,軟件保護裝置2通過高速數(shù)據(jù)吞吐接口 21與PC硬體I相連接,指紋傳感器22通過傳感器與安全芯片的掛接接口 23與安全芯片24相連接,存儲介質(zhì)26通過存儲介質(zhì)接口 25與安全芯片24相連接。(I)PC硬體軟件運行平臺;
(2)軟件保護裝置包含加密存儲、安全認證、數(shù)據(jù)流高速傳輸?shù)裙δ懿考?21)高速數(shù)據(jù)吞吐接口 用于連接PC硬體與軟件保護裝置進行高速數(shù)據(jù)傳輸,如USB2. 0/3. O、PC1、IDE 等 PC 高速外設(shè)接口 ;(22)指紋傳感器包括半導(dǎo)體、非半導(dǎo)體等面狀、刮擦指紋采集器件;(23)傳感器與安全芯片的掛接接口 包括3 1、12(、4 (、11)303等常用接口 ;(24)安全芯片包括USB、SP1、SDI等外設(shè)接口及加解密、指紋算法引擎、安全存儲等內(nèi)部功能,是協(xié)調(diào)實現(xiàn)系統(tǒng)應(yīng)用的核心部件;(25)存儲介質(zhì)接口 包括SD1、NFC、IDE等高速存儲接口 ;
(26)存儲介質(zhì)包括NandFlasKSD卡、MRAM、硬盤等大容量非易失性存儲介質(zhì)。本發(fā)明功能模塊如圖2所示,工作原理描述1.加密存儲模塊3工作原理I)設(shè)備初始化時用安全芯片的真隨機數(shù)產(chǎn)生對稱加密密鑰KEYl ;2)將密鑰KEYl存儲于安全芯片的安全存儲區(qū),該密鑰KEYl只運行不導(dǎo)出,保證密碼的絕對安全;3)以密鑰KEYl為安全因子,用SM1、AES、DES/3DES等對稱加密算法對數(shù)據(jù)流進行加密存儲、解密讀取,保證存儲介質(zhì)26中的數(shù)據(jù)絕對安全。2.軟件硬體綁定模塊4工作原理I)運行安全芯片,用RSA、ECC或SM2等非對稱算法生成公/私密鑰對(PriKey/PubKey),私鑰PriKey存儲于安全芯片的安全存儲區(qū),只運行不允許導(dǎo)出,公鑰PubKey則允許導(dǎo)出;2)導(dǎo)出安全芯片生成的公鑰PubKey,編輯與想被保護的PC軟件,建立安全認證通道,實現(xiàn)無規(guī)律多次隨機認證功能;3) PC軟件運行時,無規(guī)律多次隨機認證的基本流程為a) PC軟件生成一串隨機數(shù);b)用公鑰PubKey加密隨機數(shù),傳輸與軟件保護裝置2 ;c)軟件保護裝置2用私鑰PriKey解密隨機數(shù),并進行回傳;d) PC軟件驗證回傳數(shù)據(jù),利用公鑰PubKey加密只能用私鑰PriKey解密的原理,認證PC軟件與軟件保護裝置2的匹配性。e)認證通過則PC軟件繼續(xù)運行,認證失敗則進行非規(guī)律延時運行報錯。非規(guī)律延時報錯可有效避免軟件監(jiān)視跟蹤分析。3.防復(fù)制模塊5工作原理I)軟件保護裝置2內(nèi)置防復(fù)制代碼;2)插入PC后第一時間自運行軟件保護裝置2內(nèi)置的防復(fù)制代碼,屏蔽拷貝功能;4.指紋保護模塊6工作原理I)可利用事先內(nèi)置于軟件保護裝置2內(nèi)的指紋認證管理軟件進行指紋錄入、識另IJ、刪除等操作,其內(nèi)置指紋認證管理軟件可運用上面提及的加密存儲模塊、防復(fù)制模塊功能加以保護;2)首次運行提示用戶錄入指紋,用于綁定軟件保護裝置2與被授權(quán)者本人;3)每次登陸訪問保護裝置2內(nèi)的受保護的數(shù)據(jù),必須先認證識別使用者的身份,徹底杜絕因借用、遺失設(shè)備帶來的數(shù)據(jù)泄密風(fēng)險。實施例1 :應(yīng)用模型一(版權(quán)保護):實現(xiàn)原理1.利用軟件保護裝置2生成對稱加密存儲密鑰KEYl,操作方式詳見模塊工作原理第I部分“加密存儲模塊3工作原理”;2.利用軟件保護裝置2生成公/私密鑰對(PriKey/PubKey),綁定與需進行版權(quán)保護的相關(guān)數(shù)據(jù),如PC軟件、影音制品等,操作方式詳見模塊工作原理第2部分“軟件硬體綁定模塊4工作原理”;3.軟件保護裝置2與PC相連虛擬為光驅(qū)設(shè)備;4.把功能軟件及相關(guān)需保護數(shù)據(jù)轉(zhuǎn)制為ISO鏡像文件,燒錄于軟件保護裝置2,用事先初始化的隨機密鑰加密存儲非易失性存儲介質(zhì)26 ;5.用戶購買使用時,當(dāng)軟件保護裝置2與PC相連后,驅(qū)動識別完成后會立即自動運行事先內(nèi)置的防復(fù)制代碼,禁止拷貝虛擬出的光驅(qū)設(shè)備內(nèi)的數(shù)據(jù);6.如果是第一次使用,設(shè)備會提示用戶錄入指紋,如果已錄入過指紋則提示識別驗證指紋,指紋驗證通過后光驅(qū)內(nèi)的受保護數(shù)據(jù)才允許運行;7.被保護數(shù)據(jù)一旦運行,PC與軟件保護裝置2就會建立安全認證通道,實現(xiàn)無規(guī)律多次隨機認證功能;工作原理詳見模塊工作原理第3部分“軟件硬體綁定模塊4工作原理”。功能優(yōu)點1.加密存儲,防止存儲介質(zhì)被剖片讀取受版權(quán)保護的數(shù)據(jù)信息;2.防存儲信息被復(fù)制、粘貼;3.指紋識別,提供遺失安全保護;4.非對稱密鑰進行軟硬件結(jié)合保護。實施例2 :應(yīng)用模型二 (多分區(qū)安全存儲)實現(xiàn)原理1.利用軟件保護裝置2生成對稱加密存儲密鑰KEYl,操作方式詳見模塊工作原理第I部分“加密存儲模塊3工作原理”;2.利用軟件保護裝置2生成公/私密鑰對(PriKey/PubKey),綁定指紋加密U盤管理軟件,操作方式詳見模塊工作原理第2部分“軟件硬體綁定模塊4工作原理”;3.軟件保護裝置2與PC相連虛擬出一個光驅(qū)設(shè)備、一個加密存儲U盤設(shè)備、一個普通設(shè)備;4.把相關(guān)功能及管理軟件(防復(fù)制代碼、指紋加密U盤管理軟件等)轉(zhuǎn)制為ISO鏡像文件,燒錄于軟件保護裝置2,用事先初始化的隨機密鑰加密存儲非易失性存儲介質(zhì)26 ;5.用戶購買使用時,當(dāng)軟件保護裝置2與PC相連后,設(shè)備識別為一個光盤(存儲著指紋加密U盤管理軟件)、一個普通U盤(無需認證,數(shù)據(jù)是明文存儲,可允許普通用戶方便存取,)、一個被鎖定的加密U盤(數(shù)據(jù)進行加密存儲,需驗證指紋通過后才能被解鎖);6.驅(qū)動識別完成后會立即自動運行事先內(nèi)置的防復(fù)制代碼,禁止拷貝虛擬出的光驅(qū)設(shè)備內(nèi)的數(shù)據(jù),如指紋加密U盤管理軟件等;7.如果是第一次使用,設(shè)備會提示用戶錄入指紋,如果已錄入過指紋則提示識別驗證指紋,指紋驗證通過后加密存儲U盤設(shè)備被解鎖,才允許進行存儲、讀取操作;8.被保護的加密U盤管理軟件一旦運行,PC與軟件保護裝置2就會建立安全認證通道,實現(xiàn)無規(guī)律多次隨機認證功能;工作原理詳見模塊工作原理第3部分“軟件硬體綁定模塊4工作原理”。功能優(yōu)點1.安全與易用相結(jié)合,既可以當(dāng)普通U盤使用,又可以保存私密信息;2.管理軟件自帶于受保護光盤內(nèi),可防止被輕易拷貝、破解; 3.關(guān)鍵數(shù)據(jù)加密存儲于存儲介質(zhì),可有效防止存儲介質(zhì)被剖片讀取受保護的數(shù)據(jù)信息;4.指紋識別,為加密U盤數(shù)據(jù)安全護航。術(shù)語解釋USB !Universal Serial BUS,通用串行總線SPI Serial Peripheral Interface,串行外設(shè)接口APC !Asynchronous Parallel Controller,異步并行接口控制器LOSCS Limited Optical CMOS Sensor Controller 圖像傳感器接口SD1:SD Card Interface SD,卡主控制器接口NFC NandFlash Control Interface, NandFlash 控制器接口MRAM Magnetic Random Access Memory,是一種非揮發(fā)性的磁性隨機存儲器SMl :是由國家密碼管理局編制的一種商用密碼分組標(biāo)準(zhǔn)對稱算法AES:Advanced Encryption Standard,高級加密標(biāo)準(zhǔn)算法DES Data Encryption Standar, 一種對稱加密算法3DES Triple Data Encryption Standar,三重 DESRSA Rivest Shamir Adlemen, RSA 公鑰算法SM2 :是由國家密碼管理局編制的一種商用非對稱算法。
權(quán)利要求
1.一種防拷貝的軟件保護與運行裝置,其特征在于包括軟件保護裝置(2),軟件保護裝置(2)包括高速數(shù)據(jù)吞吐接口(21)、指紋傳感器(22)、傳感器與安全芯片的掛接接口(23)、安全芯片(24)、存儲介質(zhì)接口(25)和存儲介質(zhì)(26),軟件保護裝置(2)通過高速數(shù)據(jù)吞吐接口(21)與PC硬體(I)相連接,指紋傳感器(22)通過傳感器與安全芯片的掛接接口(23)與安全芯片(24)相連接,存儲介質(zhì)(26)通過存儲介質(zhì)接口(25)與安全芯片(24)相連接。
2.一種采用如權(quán)利要求1所述的防拷貝的軟件保護與運行裝置的保護方法,其特征在于設(shè)置有指紋保護模塊(6 )、加密存儲模塊(3 )、防復(fù)制模塊(5 )和軟件硬體綁定模塊(4 ),其工作步驟分別如下 A、加密存儲模塊(3)工作步驟 1)設(shè)備初始化時用安全芯片的真隨機數(shù)產(chǎn)生對稱加密密鑰KEYl; 2)將密鑰KEYl存儲于安全芯片的安全存儲區(qū),該密鑰KEYl只運行不導(dǎo)出,保證密碼的絕對安全; 3)以密鑰KEYl為安全因子,用SMUAES或DES/3DES對稱加密算法對數(shù)據(jù)流進行加密存儲、解密讀取,保證存儲介質(zhì)(26)中的數(shù)據(jù)絕對安全; B、軟件硬體綁定模塊(4)工作步驟 1)運行安全芯片,用RSA、ECC或SM2非對稱算法生成公/私密鑰對PriKey/PubKey,私鑰PriKey存儲于安全芯片的安全存儲區(qū),只運行不允許導(dǎo)出,公鑰PubKey則允許導(dǎo)出; 2)導(dǎo)出安全芯片生成的公鑰PubKey,編輯與想被保護的PC軟件,建立安全認證通道,實現(xiàn)無規(guī)律多次隨機認證功能; 3)PC軟件運行時,無規(guī)律多次隨機認證的基本步驟為 a)PC軟件生成一串隨機數(shù); b)用公鑰PubKey加密隨機數(shù),傳輸與軟件保護裝置(2); c)軟件保護裝置(2)用私鑰PriKey解密隨機數(shù),并進行回傳; d)PC軟件驗證回傳數(shù)據(jù),利用公鑰PubKey加密只能用私鑰PriKey解密的規(guī)則,認證PC軟件與軟件保護裝置(2)的匹配性; e)認證通過則PC軟件繼續(xù)運行,認證失敗則進行非規(guī)律延時運行報錯; C、防復(fù)制模塊(5)工作步驟 O軟件保護裝置(2)內(nèi)置防復(fù)制代碼; 2)插入PC后第一時間自運行軟件保護裝置(2)內(nèi)置的防復(fù)制代碼,屏蔽拷貝功能; D、指紋保護模塊(6)工作步驟 1)利用事先內(nèi)置于軟件保護裝置(2)內(nèi)的指紋認證管理模塊進行指紋錄入、識別或刪除操作,其內(nèi)置指紋認證管理模塊運用上面提及的加密存儲模塊、防復(fù)制模塊功能加以保護; 2)首次運行提示用戶錄入指紋,用于綁定軟件保護裝置(2)與被授權(quán)者本人; 3)每次登陸訪問保護裝置(2)內(nèi)的受保護的數(shù)據(jù),必須先認證識別使用者的身份。
3.根據(jù)權(quán)利要求2所述的防拷貝的軟件保護與運行方法,其特征在于該方法具體實現(xiàn)步驟如下 I)、利用軟件保護裝置(2)生成對稱加密存儲密鑰KEYl ;2)、利用軟件保護裝置(2)生成公/私密鑰對PriKey/PubKey,綁定與需進行版權(quán)保護的相關(guān)數(shù)據(jù); 3)、軟件保護裝置(2)與PC相連虛擬為光驅(qū)設(shè)備; 4)、把功能軟件及相關(guān)需保護數(shù)據(jù)轉(zhuǎn)制為ISO鏡像文件,燒錄于軟件保護裝置(2),用事先初始化的隨機密鑰加密存儲非易失性存儲介質(zhì)(26); 5)、用戶購買使用時,當(dāng)軟件保護裝置(2)與PC相連后,驅(qū)動識別完成后會立即自動運行事先內(nèi)置的防復(fù)制代碼,禁止拷貝虛擬出的光驅(qū)設(shè)備內(nèi)的數(shù)據(jù); 6)、如果是第一次使用,提示用戶錄入指紋,如果已錄入過指紋則提示識別驗證指紋,指紋驗證通過后光驅(qū)內(nèi)的受保護數(shù)據(jù)才允許運行; 7)、被保護數(shù)據(jù)一旦運行,PC與軟件保護裝置(2)就會建立安全認證通道,實現(xiàn)無規(guī)律多次隨機認證功能。
4.根據(jù)權(quán)利要求2所述的防拷貝的軟件保護與運行方法,其特征在于該方法具體實現(xiàn)步驟如下 1)、利用軟件保護裝置(2)生成對稱加密存儲密鑰KEYl; 2)、利用軟件保護裝置(2)生成公/私密鑰對PriKey/PubKey,綁定指紋加密U盤管理軟件; 3)、軟件保護裝置(2)與PC相連虛擬出一個光驅(qū)設(shè)備、一個加密存儲U盤設(shè)備、一個普通設(shè)備; 4)、把防復(fù)制代碼和指紋加密U盤管理軟件轉(zhuǎn)制為ISO鏡像文件,燒錄于軟件保護裝置(2),用事先初始化的隨機密鑰加密存儲非易失性存儲介質(zhì)(26); 5)、用戶購買使用時,當(dāng)軟件保護裝置(2)與PC相連后,設(shè)備識別為一個光盤用于存儲著指紋加密U盤管理軟件、一個普通U盤無需認證,數(shù)據(jù)是明文存儲,允許普通用戶方便存取;一個被鎖定的加密U盤用于數(shù)據(jù)進行加密存儲,需驗證指紋通過后才能被解鎖; 6)、驅(qū)動識別完成后會立即自動運行事先內(nèi)置的防復(fù)制代碼,禁止拷貝虛擬出的光驅(qū)設(shè)備內(nèi)的數(shù)據(jù); 7)、如果是第一次使用,提示用戶錄入指紋,如果已錄入過指紋則提示識別驗證指紋,指紋驗證通過后加密存儲U盤設(shè)備被解鎖,才允許進行存儲、讀取操作; 8)、被保護的加密U盤管理軟件一旦運行,PC與軟件保護裝置(2)就會建立安全認證通道,實現(xiàn)無規(guī)律多次隨機認證功能。
全文摘要
本發(fā)明公開了一種防拷貝的軟件保護與運行裝置及方法,該裝置包括軟件保護裝置,軟件保護裝置包括高速數(shù)據(jù)吞吐接口、指紋傳感器、傳感器與安全芯片的掛接接口、安全芯片、存儲介質(zhì)接口和存儲介質(zhì),軟件保護裝置通過高速數(shù)據(jù)吞吐接口與PC硬體相連接,指紋傳感器通過傳感器與安全芯片的掛接接口與安全芯片相連接,存儲介質(zhì)通過存儲介質(zhì)接口與安全芯片相連接。設(shè)置有指紋保護模塊、加密存儲模塊、防復(fù)制模塊和軟件硬體綁定模塊,本發(fā)明的有益效果是有效解決計算機軟件產(chǎn)品的版權(quán)保護,防止其在非授權(quán)情況下肆意拷貝傳播;加密存儲,防止存儲介質(zhì)被剖片讀取受版權(quán)保護的數(shù)據(jù)信息;防存儲信息被復(fù)制、粘貼;指紋識別,提供遺失安全保護;非對稱密鑰進行軟硬件結(jié)合保護。
文檔編號G06F21/10GK103020493SQ20121058692
公開日2013年4月3日 申請日期2012年12月28日 優(yōu)先權(quán)日2012年12月28日
發(fā)明者黃權(quán), 孔凌志, 李昀 申請人:杭州晟元芯片技術(shù)有限公司