專利名稱:軟件許可驗證的方法及系統(tǒng)的制作方法
軟件許可驗證的方法及系統(tǒng)
技術(shù)領(lǐng)域:
本發(fā)明涉及軟件許可驗證領(lǐng)域,尤其涉及一種軟件許可驗證的方法及系統(tǒng)。背景技術(shù):
軟件的盜版會給軟件廠商帶來巨大的損失,為杜絕盜版,往往在用戶使用軟件時對軟件進行許可驗證。傳統(tǒng)的軟件許可驗證的方法大多采用硬件加密卡、用戶密碼激活、注冊碼激活等方式。硬件加密卡的方式是指采用軟硬結(jié)合的加密卡,當(dāng)對應(yīng)軟件的加密卡插在計算機的并行接口(或USB接口)上時,軟件許可驗證通過。用戶密碼激活及注冊碼激活等方式是指獲取軟件許可的密碼或激活碼,通過輸入密碼或激活碼通過驗證。然而,傳統(tǒng)的這些軟件許可驗證的方法由于要事先要設(shè)置加密卡、密碼和激活碼等,實現(xiàn)起來比較復(fù)雜,且硬件加密卡的制作也使得成本較高。
發(fā)明內(nèi)容基于此,有必要提供一種實現(xiàn)起來既簡單快速又能降低成本的軟件許可驗證的方法。一種軟件許可驗證的方法,包括以下步驟獲取用戶信息和軟件許可信息;根據(jù)所述用戶信息和軟件許可信息生成許可文件;將所述許可文件導(dǎo)入軟件;在軟件的使用過程中獲取軟件的驗證信息;判斷所述驗證信息是否符合所述許可文件,若是,則驗證通過,否則驗證不通過。優(yōu)選的,所述用戶信息包括用戶注冊信息和硬件信息;所述驗證信息為運行軟件的本機硬件信息;所述判斷所述驗證信息是否符合所述許可文件的步驟為判斷所述本機硬件信息是否與所述許可文件中的硬件信息相同,若是,則驗證通過,否則驗證不通過。優(yōu)選的,所述用戶信息包括用戶注冊信息和硬件信息,所述驗證信息包括軟件當(dāng)前許可的信息摘要;在將所述許可文件導(dǎo)入軟件的步驟之前還包括計算所述許可文件的信息摘要,并記錄在軟件許可數(shù)據(jù)庫中;所述判斷驗證信息是否符合許可文件的步驟為判斷所述當(dāng)前許可的信息摘要是否在所述軟件許可數(shù)據(jù)庫中存在,若是,則驗證通過,否則驗證不通過。優(yōu)選的,所述驗證信息還包括運行軟件的本機硬件信息;所述方法還包括當(dāng)所述當(dāng)前許可的信息摘要在所述軟件許可數(shù)據(jù)庫中存在時,進一步判斷所述本機硬件信息是否與所述許可文件中的硬件信息相同,若相同,則驗證通過,否則驗證不通過。優(yōu)選的,還包括當(dāng)所述本機硬件信息與所述許可文件中的硬件信息不相同時,根據(jù)所述本機硬件信息將用戶加入到黑名單中。此外,還有必要提供一種實現(xiàn)起來既簡單快速又能降低成本的軟件許可驗證的系統(tǒng)。一種軟件許可驗證的系統(tǒng),包括信息獲取模塊,用于獲取用戶信息和軟件許可信息;許可文件生成模塊,根據(jù)所述用戶信息和軟件許可信息生成許可文件;導(dǎo)入模塊,用于將所述許可文件導(dǎo)入軟件;驗證模塊,在軟件的使用過程中獲取軟件的驗證信息,判斷所述驗證信息是否符合所述許可文件,若是,則驗證不通過,否則驗證通過。優(yōu)選的,所述用戶信息包括用戶注冊信息和硬件信息;所述驗證信息為運行軟件的本機硬件信息;所述驗證模塊還用于判斷所述本機硬件信息是否與所述許可文件中的硬件信息相同,若是,則驗證通過,否則驗證不通過。優(yōu)選的,所述用戶信息包括用戶注冊信息和硬件信息;所述驗證信息包括軟件當(dāng)前許可的信息摘要;所述系統(tǒng)還包括信息摘要計算模塊,用于在許可文件生成模塊生成許可文件后計算所述許可文件的信息摘要;軟件許可數(shù)據(jù)庫,記錄所述許可文件的信息摘要;所述驗證模塊還用于判斷所述軟件當(dāng)前許可的信息摘要是否在所述軟件許可數(shù)據(jù)庫中存在,若是,則驗證通過,否則驗證不通過。優(yōu)選的,所述驗證信息還包括運行軟件的本機硬件信息;所述驗證模塊還用于當(dāng)所述軟件當(dāng)前許可的信息摘要在所述軟件許可數(shù)據(jù)庫中存在時,進一步判斷所述本機硬件信息是否與所述許可文件中的硬件信息相同,若相同,則驗證通過,否則驗證不通過。優(yōu)選的,所述系統(tǒng)還包括黑名單記錄模塊,用于當(dāng)所述本機硬件信息與所述許可文件中的硬件信息不相同時,根據(jù)所述本機硬件信息將用戶加入到黑名單中。上述軟件許可驗證的方法及系統(tǒng),通過獲取用戶信息和軟件許可信息,根據(jù)用戶信息和軟件許可信息生成許可文件,將許可文件導(dǎo)入軟件,在軟件的使用過程中再獲取軟件的驗證信息,該驗證信息符合之前定制的許可文件則驗證通過,否則驗證不通過。這樣實現(xiàn)起來簡單快速,且由于無需制作加密卡或事先為用戶設(shè)置密碼或激活碼,有效降低了成本。
圖1為一個實施例中軟件許可驗證的方法流程圖2為另一個實施例中軟件許可驗證的方法流程圖;圖3為一個實施例中軟件許可驗證的系統(tǒng)的結(jié)構(gòu)示意圖;圖4為另一個實施例中軟件許可驗證的系統(tǒng)的結(jié)構(gòu)示意圖。
具體實施方式圖1示出了一個實施例中的軟件許可驗證的方法流程,該方法流程包括以下步驟步驟S102,獲取用戶信息和軟件許可信息。在一個實施例中,用戶信息包括用戶注冊信息和硬件信息。其中,用戶注冊信息是指用戶安裝軟件后進行注冊所提供的相關(guān)信息,例如名稱、地址等。硬件信息是指運行軟件的計算機的硬件信息,例如網(wǎng)卡MAC(Medium/MediaAccess Control,介質(zhì)訪問控制)地址、 CPU序列號、硬盤序列號等。軟件許可信息包括軟件類型、軟件中各功能模塊及各功能模塊對應(yīng)的許可等。步驟S104,根據(jù)用戶信息和軟件許可信息生成許可文件。上述獲取的用戶信息和軟件許可信息可記錄在軟件許可數(shù)據(jù)庫中。根據(jù)軟件許可數(shù)據(jù)庫中的用戶信息和軟件許可信息生成用戶定制的文件,即許可文件,該許可文件包含用戶注冊信息、硬件信息及軟件許可信息等。步驟S106,將許可文件導(dǎo)入軟件。生成的許可文件會返回給用戶,用戶通過軟件的導(dǎo)入功能將許可文件導(dǎo)入,導(dǎo)入許可文件后則能正常使用軟件。步驟S108,在軟件的使用過程中獲取軟件的驗證信息。步驟S110,判斷驗證信息是否符合許可文件,若是,則進入步驟S112,否則進入步驟 S114。應(yīng)當(dāng)說明的是,可以在執(zhí)行軟件的一些關(guān)鍵功能點時獲取軟件當(dāng)前的驗證信息并判斷是否符合許可文件,也可以在軟件進行版本更新時獲取軟件的驗證信息并判斷是否符合許可文件。步驟Sl 12,驗證通過。步驟S114,驗證不通過。在一個實施例中,驗證信息是運行軟件的本機硬件信息,步驟SllO的具體過程是判斷本機硬件信息是否與許可文件中的硬件信息相同,若是,則驗證通過,否則驗證不通過。獲取運行軟件的本機硬件信息包括網(wǎng)卡MAC地址、CPU序列號和硬盤序列號等,將這些信息與之前記錄在許可文件中的網(wǎng)卡MAC地址、CPU序列號和硬盤序列號進行對比,若都相同,則驗證通過,若其中有一項不相同,則驗證不通過。通過注冊軟件時收集用戶信息和軟件許可信息,根據(jù)用戶信息和軟件許可信息生成許可文件,將許可文件導(dǎo)入軟件,在軟件的使用過程中再獲取軟件的驗證信息,該驗證信息符合之前定制的許可文件則驗證通過,否則驗證不通過。這樣實現(xiàn)起來簡單快速,且由于無需制作加密卡或事先為用戶設(shè)置密碼或激活碼,有效降低了成本。圖2示出了另一個實施例中的軟件許可驗證的方法流程,該方法流程包括以下步驟
步驟S202,獲取用戶信息和軟件許可信息。用戶信息包括用戶注冊信息和硬件信息,用戶注冊信息是指用戶提交申請時填寫的名稱、注冊等,硬件信息是指運行軟件的計算機的硬件信息,例如網(wǎng)卡MAC地址、CPU序列號、硬盤序列號等。軟件許可信息包括軟件類型、軟件中各功能模塊及各功能模塊對應(yīng)的許可等。步驟S204,根據(jù)用戶信息和軟件許可信息生成許可文件。獲取的用戶信息和軟件許可信息可記錄在軟件許可數(shù)據(jù)庫中。步驟S206,計算許可文件的信息摘要,并記錄在軟件許可數(shù)據(jù)庫中。信息摘要是文件的數(shù)字簽名,當(dāng)文件的內(nèi)容改變時,信息摘要則會改變,因此通過信息摘要可以判斷軟件當(dāng)前的驗證文件是否與用戶定制的許可文件相同。在一個優(yōu)選的實施例中,對許可文件進行MD5計算,得到許可文件的MD5值,許可文件及對應(yīng)的MD5值都記錄在軟件許可數(shù)據(jù)庫中。步驟S208,將許可文件導(dǎo)入軟件。通過軟件的導(dǎo)入功能將許可文件導(dǎo)入軟件,導(dǎo)入成功后則可以正常使用軟件。步驟S210,在軟件的使用過程中獲取軟件當(dāng)前許可的信息摘要。軟件當(dāng)前許可是指軟件正常使用時的當(dāng)前許可文件。步驟S212,判斷軟件當(dāng)前許可的信息摘要是否在軟件許可數(shù)據(jù)庫中存在,若是,則進入步驟S214,否則進入步驟S220。由于信息摘要具有唯一性,若軟件當(dāng)前許可的信息摘要在軟件許可數(shù)據(jù)庫中存在,則說明軟件當(dāng)前許可為用戶定制的許可文件,驗證通過,若軟件當(dāng)前許可的信息摘要在軟件許可數(shù)據(jù)庫中不存在,則說明軟件的當(dāng)前許可不是用戶定制的,驗證不通過。這種方式可以防止非法用戶偽造許可文件,因為許可文件或許可文件的信息摘要是記錄在軟件許可數(shù)據(jù)庫中的,偽造的許可文件由于沒有記錄在軟件許可數(shù)據(jù)庫中,可以實現(xiàn)防止盜版的作用,特別是在軟件的升級過程中,因為需要與服務(wù)器進行交互,而將軟件許可數(shù)據(jù)庫放置在服務(wù)器中可以有效識別盜版軟件。步驟S214,獲取運行軟件的本機硬件信息。步驟S216,判斷本機硬件信息是否與許可文件中的硬件信息相同,若是,則進入步驟S218,否則進入步驟S220。當(dāng)軟件當(dāng)前許可的信息摘要在軟件許可數(shù)據(jù)庫中存在時,說明軟件當(dāng)前許可是正確的,則需進一步判斷本機硬件信息與許可文件中的硬件信息是否相同,能有效防止用戶將軟件的許可文件拷貝到其他計算機上進行使用的行為(該行為也視為盜版)。步驟,驗證通過。驗證通過后軟件則能被繼續(xù)正常使用。步驟S220,驗證不通過。在一個實施例中,當(dāng)本機硬件信息與許可文件中的硬件信息不相同時,根據(jù)本機硬件信息將用戶加入到黑名單中,由于本機硬件信息包括運行軟件的計算機的網(wǎng)卡MAC地址、CPU序列號和硬盤序列號等。獲取本機硬件信息后能獲取用戶的具體地址,對于黑名單中的用戶,可以采取一定的措施,例如禁止下載更新等,進一步起到防止軟件盜版的目的。應(yīng)當(dāng)說明的是,上述步驟S212中,可以在軟件進行版本更新時進行執(zhí)行判斷,也可以定時或在用戶使用軟件的一些關(guān)鍵功能點時執(zhí)行判斷。圖3示出了一個實施例中軟件許可驗證的系統(tǒng),該系統(tǒng)包括信息獲取模塊10、許可文件生成模塊20、導(dǎo)入模塊30和驗證模塊40,其中信息獲取模塊10用于獲取用戶信息和軟件許可信息。在一個實施例中,用戶信息包括用戶注冊信息和硬件信息。用戶注冊信息是指用戶安裝軟件后進行注冊所提供的相關(guān)信息,例如名稱、地址等。硬件信息是指運行軟件的計算機的硬件信息,例如網(wǎng)卡MAC地址、CPU序列號、硬盤序列號等。軟件許可信息包括軟件類型、軟件中各功能模塊及各功能模塊對應(yīng)的許可等。許可文件生成模塊20用于根據(jù)用戶信息和軟件許可信息生成許可文件。許可文件包含了上述用戶信息和軟件許可信息,為用戶所定制的許可文件。導(dǎo)入模塊30用于將許可文件導(dǎo)入軟件。驗證模塊40用于在軟件的使用過程中獲取軟件的驗證信息,判斷驗證信息是否符合許可文件,若是,則驗證通過,否則驗證不通過。在一個實施例中,驗證信息為運行軟件的本機硬件信息,驗證模塊40還用于判斷該本機硬件信息是否與許可文件中的硬件信息相同,若是,則驗證通過,否則驗證不通過。圖4示出了另一個實施例中的軟件許可驗證的系統(tǒng),該系統(tǒng)除了包括上述信息獲取模塊10、許可文件生成模塊20、導(dǎo)入模塊30和驗證模塊40外,還包括信息摘要計算模塊 50、軟件許可數(shù)據(jù)庫60和黑名單記錄模塊70,其中信息摘要計算模塊50用于在許可文件生成模塊20生成許可文件后計算許可文件的信息摘要。信息摘要是文件的數(shù)字簽名,當(dāng)文件的內(nèi)容改變時,信息摘要則會改變,因此通過信息摘要可以判斷軟件當(dāng)前許可是否與用戶定制的許可文件相同。在一個優(yōu)選的實施例中,信息摘要計算模塊50用于對許可文件進行MD5計算,得到許可文件的MD5值。軟件許可數(shù)據(jù)庫60用于記錄許可文件的信息摘要。該實施例中,驗證信息包括軟件當(dāng)前許可的信息摘要。驗證模塊40還用于判斷軟件當(dāng)前許可的信息摘要是否在軟件許可數(shù)據(jù)庫60中存在,若相同,則說明軟件當(dāng)前許可是用戶定制的許可文件,驗證通過,若不相同,則驗證不通過。在另一個實施例中,驗證信息還包括運行軟件的本機硬件信息。驗證模塊40還用于當(dāng)軟件當(dāng)前許可的信息摘要在軟件許可數(shù)據(jù)庫60中存在時,進一步判斷所述本機硬件信息與許可文件中的硬件信息是否相同,若是,則驗證通過,否則驗證不通過。黑名單記錄模塊70,用于當(dāng)本機硬件信息與許可文件中的硬件信息不相同時,即驗證不通過時,根據(jù)本機硬件信息將用戶加入到黑名單中。對處于黑名單中的用戶,可以采取一定的措施,例如禁止下載更新等,進一步起到防止軟件盜版的目的。以上所述實施例僅表達了本發(fā)明的幾種實施方式,其描述較為具體和詳細,但并不能因此而理解為對本發(fā)明專利范圍的限制。應(yīng)當(dāng)指出的是,對于本領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明構(gòu)思的前提下,還可以做出若干變形和改進,這些都屬于本發(fā)明的保護范圍。因此,本發(fā)明專利的保護范圍應(yīng)以所附權(quán)利要求為準(zhǔn)。
權(quán)利要求
1.一種軟件許可驗證的方法,包括以下步驟 獲取用戶信息和軟件許可信息;根據(jù)所述用戶信息和軟件許可信息生成許可文件;將所述許可文件導(dǎo)入軟件;在軟件的使用過程中獲取軟件的驗證信息;判斷所述驗證信息是否符合所述許可文件,若是,則驗證通過,否則驗證不通過。
2.根據(jù)權(quán)利要求1所述的軟件許可驗證的方法,其特征在于,所述用戶信息包括用戶注冊信息和硬件信息;所述驗證信息為運行軟件的本機硬件信息;所述判斷所述驗證信息是否符合所述許可文件的步驟為判斷所述本機硬件信息是否與所述許可文件中的硬件信息相同,若是,則驗證通過,否則驗證不通過。
3.根據(jù)權(quán)利要求1所述的軟件許可驗證的方法,其特征在于,所述用戶信息包括用戶注冊信息和硬件信息,所述驗證信息包括軟件當(dāng)前許可的信息摘要;在將所述許可文件導(dǎo)入軟件的步驟之前還包括 計算所述許可文件的信息摘要,并記錄在軟件許可數(shù)據(jù)庫中; 所述判斷驗證信息是否符合許可文件的步驟為判斷所述當(dāng)前許可的信息摘要是否在所述軟件許可數(shù)據(jù)庫中存在,若是,則驗證通過, 否則驗證不通過。
4.根據(jù)權(quán)利要求3所述的軟件許可驗證的方法,其特征在于,所述驗證信息還包括運行軟件的本機硬件信息;所述方法還包括當(dāng)所述當(dāng)前許可的信息摘要在所述軟件許可數(shù)據(jù)庫中存在時,進一步判斷所述本機硬件信息是否與所述許可文件中的硬件信息相同,若相同,則驗證通過,否則驗證不通過。
5.根據(jù)權(quán)利要求4所述的軟件許可驗證的方法,其特征在于,還包括當(dāng)所述本機硬件信息與所述許可文件中的硬件信息不相同時,根據(jù)所述本機硬件信息將用戶加入到黑名單中。
6.一種軟件許可驗證的系統(tǒng),其特征在于,包括 信息獲取模塊,用于獲取用戶信息和軟件許可信息;許可文件生成模塊,根據(jù)所述用戶信息和軟件許可信息生成許可文件; 導(dǎo)入模塊,用于將所述許可文件導(dǎo)入軟件;驗證模塊,在軟件的使用過程中獲取軟件的驗證信息,判斷所述驗證信息是否符合所述許可文件,若是,則驗證不通過,否則驗證通過。
7.根據(jù)權(quán)利要求6所述的軟件許可驗證的系統(tǒng),其特征在于,所述用戶信息包括用戶注冊信息和硬件信息;所述驗證信息為運行軟件的本機硬件信息;所述驗證模塊還用于判斷所述本機硬件信息是否與所述許可文件中的硬件信息相同, 若是,則驗證通過,否則驗證不通過。
8.根據(jù)權(quán)利要求6所述的軟件許可驗證的系統(tǒng),其特征在于,所述用戶信息包括用戶注冊信息和硬件信息;所述驗證信息包括軟件當(dāng)前許可的信息摘要;所述系統(tǒng)還包括信息摘要計算模塊,用于在許可文件生成模塊生成許可文件后計算所述許可文件的信息摘要;軟件許可數(shù)據(jù)庫,記錄所述許可文件的信息摘要;所述驗證模塊還用于判斷所述軟件當(dāng)前許可的信息摘要是否在所述軟件許可數(shù)據(jù)庫中存在,若是,則驗證通過,否則驗證不通過。
9.根據(jù)權(quán)利要求8所述的軟件許可驗證的系統(tǒng),其特征在于,所述驗證信息還包括運行軟件的本機硬件信息;所述驗證模塊還用于當(dāng)所述軟件當(dāng)前許可的信息摘要在所述軟件許可數(shù)據(jù)庫中存在時,進一步判斷所述本機硬件信息是否與所述許可文件中的硬件信息相同,若相同,則驗證通過,否則驗證不通過。
10.根據(jù)權(quán)利要求9所述的軟件許可驗證的系統(tǒng),其特征在于,所述系統(tǒng)還包括黑名單記錄模塊,用于當(dāng)所述本機硬件信息與所述許可文件中的硬件信息不相同時, 根據(jù)所述本機硬件信息將用戶加入到黑名單中。
全文摘要
一種軟件許可驗證的方法,包括以下步驟獲取用戶信息和軟件許可信息;根據(jù)所述用戶信息和軟件許可信息生成許可文件;將所述許可文件導(dǎo)入軟件;在軟件的使用過程中獲取軟件的驗證信息,判斷所述驗證信息是否符合所述許可文件,若是,則驗證不通過,否則驗證通過。該方法實現(xiàn)起來簡單快速,又能降低成本。還提供了一種軟件許可驗證的系統(tǒng)。
文檔編號G06F21/22GK102479305SQ20101056288
公開日2012年5月30日 申請日期2010年11月29日 優(yōu)先權(quán)日2010年11月29日
發(fā)明者劉學(xué)鵬 申請人:金蝶軟件(中國)有限公司