一種基于網(wǎng)絡(luò)通信實(shí)現(xiàn)計(jì)算機(jī)軟件保護(hù)的方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種計(jì)算機(jī)軟件保護(hù)方法,具體涉及一種基于網(wǎng)絡(luò)通信實(shí)現(xiàn)計(jì)算機(jī)軟件保護(hù)的方法。
【背景技術(shù)】
[0002]密鑰是一種參數(shù),它是在明文轉(zhuǎn)換為密文或?qū)⒚芪霓D(zhuǎn)換為明文的算法中輸入的參數(shù)。密鑰分為對(duì)稱密鑰與非對(duì)稱密鑰。智能密鑰裝置是一種帶有處理器和存儲(chǔ)器的小型硬件裝置,它可以通過計(jì)算機(jī)的數(shù)據(jù)通訊接口與計(jì)算機(jī)連接。其具有密鑰生成功能,并可安全存儲(chǔ)密鑰、可預(yù)置加密算法功能。智能密鑰裝置與密鑰相關(guān)的運(yùn)算完全在裝置內(nèi)部運(yùn)行,且智能密鑰裝置具有抗攻擊的特性,安全性極高。USB Key是一種USB接口的智能密鑰裝置,它內(nèi)置單片機(jī)或智能卡芯片可以存儲(chǔ)用戶的密鑰或數(shù)字證書。在信息科技日益發(fā)達(dá)的今天,越來越多的包含數(shù)據(jù)信息和涉及個(gè)人隱私及商業(yè)秘密的軟件在計(jì)算機(jī)中運(yùn)行,而計(jì)算機(jī)中運(yùn)行的軟件或軟件本身容易被人為非法篡改或者因?yàn)楸I版而非法復(fù)制,給軟件用戶或開發(fā)商帶來巨大的經(jīng)濟(jì)損失,同時(shí)也使進(jìn)一步的工作無法繼續(xù)進(jìn)行。
[0003]實(shí)際應(yīng)用中,已存在計(jì)算機(jī)中運(yùn)行的軟件與連接于計(jì)算機(jī)的智能密鑰裝置綁定,以提高計(jì)算機(jī)中運(yùn)行的軟件的安全性,然而,目前一些含有高保密信息的軟件只能允許在特定計(jì)算機(jī)或特定范圍內(nèi)的計(jì)算機(jī)中運(yùn)行,如果非法使用者通過不正當(dāng)手段獲取了軟件和軟件綁定的智能密鑰裝置,則可以在其它計(jì)算機(jī)上使用保密軟件,給軟件用戶及保密信息帶來巨大損失。
[0004]于是專利號(hào)為:200910083315.6,發(fā)明名稱為:一種計(jì)算機(jī)軟件保護(hù)方法,授權(quán)公告號(hào):CN101539977B的發(fā)明專利提出了一種具體的解決方案,實(shí)現(xiàn)了客戶端計(jì)算機(jī)軟件通過其所處局域網(wǎng)服務(wù)端計(jì)算機(jī)與客戶端計(jì)算IP地址的綁定,使得所保護(hù)軟件只能在該IP地址或者一定數(shù)量的合法IP地址列表范圍內(nèi)的客戶端計(jì)算機(jī)中運(yùn)行,離開該客戶端計(jì)算機(jī)則不能運(yùn)行,提高了客戶端軟件的安全性,同時(shí)IP地址的傳遞需要智能密鑰裝置的加密,進(jìn)一步提高了軟件破解難度。
[0005]但是,由于所保護(hù)的計(jì)算機(jī)軟件可以在一定數(shù)量的合法IP地址列表范圍內(nèi)運(yùn)行,所以非法使用者如果自己攜帶筆記本電腦,將筆記本電腦接入合法的IP地址列表范圍內(nèi),這樣就可以復(fù)制運(yùn)行該計(jì)算機(jī)軟件。針對(duì)這種缺陷,有必要進(jìn)一步研究從而尋找更加安全的計(jì)算機(jī)軟件保護(hù)方法。
【發(fā)明內(nèi)容】
[0006]本發(fā)明的目的在于提供一種基于網(wǎng)絡(luò)通信實(shí)現(xiàn)計(jì)算機(jī)軟件保護(hù)的方法,該方法主要為了解決以上缺陷。
[0007]為了實(shí)現(xiàn)以上目的,本發(fā)明所采用的技術(shù)方案是:一種基于網(wǎng)絡(luò)通信實(shí)現(xiàn)計(jì)算機(jī)軟件保護(hù)的方法,所述方法包括以下步驟:
[0008]步驟A:第一智能密鑰裝置連接于服務(wù)端計(jì)算機(jī),第二智能密鑰裝置連接于客戶端計(jì)算機(jī);
[0009]步驟B:所述客戶端計(jì)算機(jī)啟動(dòng)其內(nèi)部安裝的軟件,然后,所述軟件檢測(cè)第二智能密鑰裝置是否被拔出,如果被拔出,則軟件直接結(jié)束運(yùn)行;如果沒有被拔出,則所述軟件發(fā)送獲取IP地址請(qǐng)求給所述服務(wù)端計(jì)算機(jī),同時(shí)所述軟件內(nèi)部的計(jì)時(shí)程序開始計(jì)時(shí);
[0010]步驟C:所述服務(wù)端計(jì)算機(jī)分析所述獲IP地址請(qǐng)求,得到所述客戶端計(jì)算機(jī)IP地址,傳遞給所述第一智能密鑰裝置,所述第一智能密鑰裝置加密所述IP地址并發(fā)送給所述客戶端計(jì)算機(jī);
[0011]步驟D:所述客戶端計(jì)算機(jī)接收所述加密的IP地址,傳遞給所述第二智能密鑰裝置,所述第二智能密鑰裝置解密所述加密的IP地址后,比較所述IP地址與第二智能密鑰裝置預(yù)置的合法IP地址列表,如果所述IP地址在所述合法IP地址列表范圍內(nèi),則所述IP地址合法,所述第二智能密鑰裝置可用;否則所述IP地址不合法,所述第二智能密鑰裝置不可用,軟件結(jié)束運(yùn)行;
[0012]步驟E:所述軟件內(nèi)部的計(jì)時(shí)程序計(jì)時(shí)到X秒時(shí),所述軟件檢測(cè)第二智能密鑰裝置是否被拔出,如果被拔出,則程序結(jié)束運(yùn)行,否則,程序繼續(xù)運(yùn)行并且所述軟件一直檢測(cè)第二智能密鑰裝置是否被拔出;
[0013]步驟F: —旦檢測(cè)到被拔出時(shí),記錄該拔出時(shí)刻計(jì)時(shí)程序計(jì)時(shí)的時(shí)間為m秒;程序繼續(xù)運(yùn)行同時(shí)計(jì)時(shí)程序清零并且重新開始計(jì)時(shí);如果所述軟件內(nèi)部的計(jì)時(shí)程序計(jì)時(shí)到Y(jié)秒時(shí),如果第二智能密鑰裝置仍未被拔出,則程序結(jié)束運(yùn)行;
[0014]步驟G:所述軟件內(nèi)部的計(jì)時(shí)程序計(jì)時(shí)到X秒時(shí),所述軟件檢測(cè)第二智能密鑰裝置是否已經(jīng)連接客戶端計(jì)算機(jī),如果連接,則程序結(jié)束運(yùn)行,否則,程序繼續(xù)運(yùn)行并且所述軟件一直檢測(cè)第二智能密鑰裝置是否接入;
[0015]步驟Η:—旦檢測(cè)到被接入時(shí),記錄該接入時(shí)刻計(jì)時(shí)程序計(jì)時(shí)的時(shí)間為η秒;程序繼續(xù)運(yùn)行同時(shí)計(jì)時(shí)程序清零并且停止計(jì)時(shí);如果所述軟件內(nèi)部的計(jì)時(shí)程序計(jì)時(shí)到Ζ秒時(shí),第二智能密鑰裝置仍未接入,則程序結(jié)束運(yùn)行;
[0016]其中,3彡X彡5,20彡Υ彡15,20彡Ζ彡15 ;
[0017]步驟1:所述軟件采用第二智能密鑰裝置內(nèi)的第二密鑰加密m、η數(shù)值,然后向服務(wù)端計(jì)算機(jī)發(fā)送數(shù)值是否正確驗(yàn)證請(qǐng)求,所述服務(wù)端計(jì)算機(jī)接收數(shù)值是否正確驗(yàn)證請(qǐng)求,經(jīng)所述第一智能密鑰裝置第一密鑰解密后,將m、η與事先存儲(chǔ)的數(shù)值范圍進(jìn)行比較,如果6<m<12且6<η<15 ;則服務(wù)端計(jì)算機(jī)向客戶端計(jì)算機(jī)發(fā)送所述軟件可以正常運(yùn)行的命令,否則,所述軟件結(jié)束運(yùn)行的命令。
[0018]進(jìn)一步,所述獲取IP地址請(qǐng)求中還包括通信密鑰,則在所述服務(wù)端計(jì)算機(jī)分析所述IP地址請(qǐng)求前,還包括:所述客戶端計(jì)算機(jī)隨機(jī)生成所述通信密鑰并存儲(chǔ)于第二智能密鑰裝置,所述第二智能密鑰裝置中的第二密鑰加密所述包括通信密鑰的獲取IP地址請(qǐng)求發(fā)送服務(wù)端計(jì)算機(jī);所述服務(wù)端計(jì)算機(jī)接收所述加密的包括通信密鑰的獲取IP地址請(qǐng)求,經(jīng)所述第一智能密鑰裝置第一密鑰解密后,存儲(chǔ)所述通信密鑰于第一智能密鑰裝置。
[0019]與現(xiàn)有技術(shù)相比,本發(fā)明的優(yōu)點(diǎn)在于:即使非法使用者將本發(fā)明的軟件復(fù)制到自帶的筆記本電腦,自帶的筆記本電腦接入合法的IP地址列表范圍內(nèi)仍然無法使用本發(fā)明的軟件,原因在于本發(fā)明的軟件通過檢測(cè)第二智能密鑰裝置的接入和拔出時(shí)間實(shí)現(xiàn)了加密保護(hù),也就是說第二智能密鑰裝置接入客戶端計(jì)算機(jī)后一段時(shí)間(比如4s)必須拔出,拔出一段時(shí)間(比如6s)必須再次接入,只有操作者知道了這個(gè)時(shí)間密碼才可以使得軟件正常運(yùn)行,否則軟件會(huì)自動(dòng)結(jié)束運(yùn)行。
【附圖說明】
[0020]圖1是本發(fā)明一個(gè)實(shí)施例的方框示意圖。
【具體實(shí)施方式】
[0021]下面結(jié)合附圖對(duì)發(fā)明做進(jìn)一步詳細(xì)描述。
[0022]本發(fā)明的步驟A、步驟B、步驟C、步驟D未詳細(xì)描述的內(nèi)容請(qǐng)參閱【背景技術(shù)】部分所提到的專利文件。
[0023]實(shí)施例:基于網(wǎng)絡(luò)通信實(shí)現(xiàn)計(jì)算機(jī)軟件保護(hù)的方法,所述方法包括以下步驟:
[0024]步驟A:第一智能密鑰裝置連接于服務(wù)端計(jì)算機(jī),第二智能密鑰裝置連接于客戶端計(jì)算機(jī);
[0025]步驟B:所述客戶端計(jì)算機(jī)啟動(dòng)其內(nèi)部安裝的軟件,然后,所述軟件檢測(cè)第二智能密鑰裝置是否被拔出,如果被拔出,則軟件直接結(jié)束運(yùn)行;如果沒有被拔出,則所述軟件發(fā)送獲取IP地址