一種基于網(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)部安裝的軟件,然后,所述軟件檢測第二智能密鑰裝置是否被拔出,如果被拔出,則軟件直接結(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í),所述軟件檢測第二智能密鑰裝置是否被拔出,如果被拔出,則程序結(jié)束運(yùn)行,否則,程序繼續(xù)運(yùn)行;
[0013]步驟F:所述軟件內(nèi)部的計(jì)時(shí)程序計(jì)時(shí)到Y(jié)秒時(shí),所述軟件檢測第二智能密鑰裝置是否被拔出,如果被拔出,則程序繼續(xù)運(yùn)行同時(shí)計(jì)時(shí)程序清零并且重新開始計(jì)時(shí),否則,程序結(jié)束運(yùn)行;
[0014]步驟G:所述軟件內(nèi)部的計(jì)時(shí)程序計(jì)時(shí)到X秒時(shí),所述軟件檢測第二智能密鑰裝置是否已經(jīng)連接客戶端計(jì)算機(jī),如果連接,則程序結(jié)束運(yùn)行,否則,程序繼續(xù)運(yùn)行;
[0015]步驟Η:所述軟件內(nèi)部的計(jì)時(shí)程序計(jì)時(shí)到Z秒時(shí),所述軟件檢測第二智能密鑰裝置是否已經(jīng)連接客戶端計(jì)算機(jī),如果仍未連接,則程序結(jié)束運(yùn)行,否則,程序繼續(xù)運(yùn)行同時(shí)計(jì)時(shí)程序清零并且停止計(jì)時(shí);
[0016]其中,3彡Χ〈Υ〈Ζ ( 20,Υ-Χ彡3,;所述的Χ、Υ、Ζ的具體數(shù)值是由客戶端計(jì)算機(jī)內(nèi)該軟件程序編寫時(shí)設(shè)置,所述軟件首次運(yùn)行時(shí)由管理員統(tǒng)一安裝,首次安裝需要完成步驟E、F、G、Η的操作,軟件再次運(yùn)行無需重復(fù)步驟E、F、G、Η的操作,而當(dāng)該軟件被復(fù)制安裝時(shí),又需要完成步驟E、F、G、Η的操作,因此可以防止軟件被非法使用者復(fù)制安裝。
[0017]進(jìn)一步,所述第一智能密鑰裝置內(nèi)部預(yù)置了第一密鑰,所述第一智能密鑰裝置加密所述IP地址具體為:所述第一智能密鑰裝置用其預(yù)置的第一密鑰加密所述IP地址;所述第二智能密鑰裝置內(nèi)部預(yù)置了與所述第一密鑰匹配的第二密鑰,所述第二智能密鑰裝置解密所述加密IP地址具體為:所述第二智能密鑰裝置用其預(yù)置的第二密鑰解密所述加密的IP地址。
[0018]與現(xiàn)有技術(shù)相比,本發(fā)明的優(yōu)點(diǎn)在于:即使非法使用者將本發(fā)明的軟件復(fù)制到自帶的筆記本電腦,自帶的筆記本電腦接入合法的IP地址列表范圍內(nèi)仍然無法使用本發(fā)明的軟件,原因在于本發(fā)明的軟件通過檢測第二智能密鑰裝置的接入和拔出時(shí)間實(shí)現(xiàn)了加密保護(hù),也就是說第二智能密鑰裝置接入客戶端計(jì)算機(jī)后一段時(shí)間(比如4s)必須拔出,拔出一段時(shí)間(比如6s)必須再次接入,只有操作者知道了這個(gè)時(shí)間密碼才可以使得軟件正常運(yùn)行,否則軟件會(huì)自動(dòng)結(jié)束運(yùn)行。
【附圖說明】
[0019]圖1是本發(fā)明一個(gè)實(shí)施例的方框示意圖。
【具體實(shí)施方式】
[0020]下面結(jié)合附圖對(duì)發(fā)明做進(jìn)一步詳細(xì)描