專利名稱:基于網(wǎng)絡(luò)數(shù)據(jù)庫的軟件版權(quán)保護方法
技術(shù)領(lǐng)域:
本發(fā)明涉及到計算機軟件防盜版方法,特別是一種基于網(wǎng)絡(luò)數(shù)據(jù)庫確認(rèn)軟件唯一性的軟件版權(quán)保護方法。
對計算機軟件進行加密處理,以防止進行非法拷貝,是保護軟件版權(quán)的有效方法。目前,軟件加密主要有以下幾個方法軟盤加密法,插卡加密法,軟件狗加密法,密碼加密法,和隱蔽代碼法?,F(xiàn)在普遍使用的是密碼加密法,其步驟是軟件安裝時由用戶輸入軟件編號sn,由算法F比對軟件內(nèi)的加密數(shù)據(jù)q,如果吻合則安裝成功。然而,此法有一個致命弱點,無論算法F設(shè)計得如何復(fù)雜,只要盜版用戶獲得一個合法的sn,就可以正常的安裝和使用一套軟件。
本發(fā)明的目的是提供一種加密強度高,成本低,能夠保證一套軟件唯一性的加密方法。
本發(fā)明的基礎(chǔ)原理是利用網(wǎng)絡(luò)數(shù)據(jù)庫記錄一套軟件的使用時間,如果同一個軟件編號sn有一套以上軟件同時運行,說明此軟件編號的軟件有盜版,則將此編號置為非法,此后該套軟件將無法使用。
本發(fā)明的方案是按以下步驟實現(xiàn)的每份軟件在發(fā)售之前都在軟件公司的數(shù)據(jù)庫中留有一條記錄,其中至少應(yīng)包括軟件編號sn,使用結(jié)束時間t,版權(quán)標(biāo)志r。
軟件安裝開始后,用戶輸入軟件編號sn。
軟件正式使用后,每次啟動都要檢查網(wǎng)絡(luò)是否連通,如果連通則以sn為索引從軟件公司數(shù)據(jù)庫中取得上次使用結(jié)束時間t,版權(quán)標(biāo)志r。如果版權(quán)標(biāo)志已經(jīng)非法,結(jié)束程序運行并通知用戶,如果版權(quán)標(biāo)志合法,則用一變量tn1保存t。
而每次軟件運行結(jié)束時也要檢查網(wǎng)絡(luò)是否連通,如果連通則從軟件公司服務(wù)器取得當(dāng)前系統(tǒng)時間tn2,并從數(shù)據(jù)庫中再次取得上次使用結(jié)束時間t,如果t=tn1,將tn2寫入數(shù)據(jù)庫中的t,正常退出;如果不等,將版權(quán)標(biāo)志r置為非法。
其效果如
圖1所示A、B為使用相同sn的兩套軟件,兩個括號為A、B的使用時段。圖中畫出了A、B使用時段重合的4種情況。使用上述算法計算可知,無論何種情況,總是后結(jié)束的一套軟件把r置為非法。
(以上操作最好以控件或類的形式封裝。)作為本發(fā)明的改進,封裝本防盜版方法的控件還可以采用如下方法確認(rèn)自身的存在與合法性,以防止控件本身遭到破壞或調(diào)換。
控件中設(shè)置一驗證自身存在性與合法性的公有函數(shù)。在軟件的其他任何一個過程中調(diào)用此函數(shù),如果返回值return非法,說明控件本身非法,中止運行。
作為本發(fā)明的改進,驗證函數(shù)在確認(rèn)自身的存在與合法性時如果發(fā)現(xiàn)tn1為空,說明軟件啟動時網(wǎng)絡(luò)未連通,此時應(yīng)再次試圖執(zhí)行啟動時的操作。
以上兩個改進的流程圖如圖2。
作為本發(fā)明的改進,用于網(wǎng)絡(luò)傳輸?shù)膕n應(yīng)經(jīng)過加密算法F的加密。同時,軟件公司數(shù)據(jù)庫中保存的sn也是經(jīng)過加密處理的。
權(quán)利要求
1.一種基于網(wǎng)絡(luò)數(shù)據(jù)庫的計算機防盜版方法,其特征在于利用網(wǎng)絡(luò)數(shù)據(jù)庫記錄下一套軟件的使用時間,如果同一個軟件編號sn有一套以上軟件同時運行,說明此軟件編號所代表的軟件有盜版,則將此編號置為非法,此后此套軟件將無法使用,以此實現(xiàn)對軟件的防盜版保護,所述軟件版權(quán)確認(rèn)過程如下每份軟件在發(fā)售之前都在軟件公司的數(shù)據(jù)庫中留有一條記錄,其中至少應(yīng)包括軟件編號sn,使用結(jié)束時間t,版權(quán)標(biāo)志r。軟件安裝開始后,用戶輸入軟件編號sn。軟件正式使用后,每次啟動都要檢查網(wǎng)絡(luò)是否連通,如果連通則以sn為索引從軟件公司數(shù)據(jù)庫中取得上次使用結(jié)束時間t,版權(quán)標(biāo)志r。如果版權(quán)標(biāo)志已經(jīng)非法,結(jié)束程序運行并通知用戶,如果版權(quán)標(biāo)志合法,則用變量tn1保存t。每次軟件運行結(jié)束時也要檢查網(wǎng)絡(luò)是否連通,如果連通則從軟件公司服務(wù)器取得當(dāng)前系統(tǒng)時間tn2,并從數(shù)據(jù)庫中再次取得上次使用結(jié)束時間t,如果t=tn1,將tn2寫入數(shù)據(jù)庫中的t,正常退出;如果不等,將版權(quán)標(biāo)志r置為非法。(以上操作最好以控件或類的形式封裝。)
2.如權(quán)利要求1所述方法,其特征在于封裝本防盜版方法的控件采用如下方法確認(rèn)自身的存在與合法性,以防止控件本身遭到破壞或調(diào)換??丶性O(shè)置一驗證自身存在性與合法性的公有函數(shù)。在軟件的其他任何一個過程中調(diào)用此函數(shù),如果返回值非法,說明控件本身非法,中止運行。
3.如權(quán)利要求1和2所述方法,其特征在于驗證函數(shù)在確認(rèn)自身的存在與合法性時如果發(fā)現(xiàn)tn1為空,說明軟件啟動時網(wǎng)絡(luò)未連通,此時應(yīng)再次試圖執(zhí)行啟動時的操作。
4.如權(quán)利要求1、2和3所述方法,其特征在于用于網(wǎng)絡(luò)傳輸?shù)膕n應(yīng)經(jīng)過加密算法F的加密。同時,軟件公司數(shù)據(jù)庫中保存的sn也是經(jīng)過加密處理的。
全文摘要
本發(fā)明涉及到計算機軟件防盜版方法,特別是一種基于網(wǎng)絡(luò)數(shù)據(jù)庫確認(rèn)軟件唯一性的軟件版權(quán)保護方法。本發(fā)明的基礎(chǔ)原理是利用網(wǎng)絡(luò)數(shù)據(jù)庫記錄一套軟件的使用時間,如果同一個軟件編號sn有一套以上軟件同時運行,說明此軟件編號的軟件有盜版,則將此編號置為非法,此后該套軟件將無法使用。
文檔編號G06F9/445GK1448842SQ02113550
公開日2003年10月15日 申請日期2002年3月31日 優(yōu)先權(quán)日2002年3月31日
發(fā)明者任東海 申請人:任東海