基于非對(duì)稱加密算法的軟件授權(quán)與保護(hù)裝置及方法
【專利摘要】本發(fā)明涉及一種基于非對(duì)稱加密算法的軟件授權(quán)與保護(hù)裝置及方法。該裝置包括一軟件商客戶端計(jì)算機(jī)、多個(gè)客戶端計(jì)算機(jī)、一軟件商服務(wù)器、一數(shù)據(jù)庫和一用戶服務(wù)器,軟件商客戶端計(jì)算機(jī)通過無線和/或有線網(wǎng)絡(luò)與軟件商服務(wù)器連接,軟件商服務(wù)器通過第一VPN網(wǎng)絡(luò)連接數(shù)據(jù)庫,用戶服務(wù)器通過第二VPN網(wǎng)絡(luò)連接數(shù)據(jù)庫,多個(gè)客戶端計(jì)算機(jī)通過互聯(lián)網(wǎng)與用戶服務(wù)器連接,發(fā)明的裝置在應(yīng)用服務(wù)器和數(shù)據(jù)庫之間采雙備份連接,提高數(shù)據(jù)庫安全性能。本發(fā)明的另一個(gè)目的在于提供一種基于非對(duì)稱加密算法的軟件授權(quán)與保護(hù)方法,本發(fā)明的方法采用非對(duì)稱加密技術(shù),安全性高,技術(shù)實(shí)現(xiàn)不復(fù)雜,用戶獲得授權(quán)的方式更加簡單。
【專利說明】基于非對(duì)稱加密算法的軟件授權(quán)與保護(hù)裝置及方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種基于非對(duì)稱加密算法的軟件授權(quán)與保護(hù)裝置及方法。
【背景技術(shù)】
[0002]由于軟件的可復(fù)制性與可重復(fù)執(zhí)行性,業(yè)界軟件開發(fā)商及其開發(fā)團(tuán)隊(duì)一向深受軟件非法復(fù)制使用及盜版軟件產(chǎn)品之害。雖有多種軟件授權(quán)與保護(hù)方法,如注冊碼方式,加密狗方式,插入功能限制程序,Key File保護(hù)等,但這些方法缺點(diǎn)亦很明顯,或算法復(fù)雜,制作成本高,或容易破解,保護(hù)力弱。
[0003]隨著互聯(lián)網(wǎng)普及,結(jié)合互聯(lián)網(wǎng)技術(shù),有人提出了一種通過聯(lián)網(wǎng)注冊獲得授權(quán)的軟件授權(quán)和保護(hù)方法,該方法和現(xiàn)有技術(shù)的其他方法相比,安全性高且技術(shù)實(shí)現(xiàn)不復(fù)雜,但這種方法僅采用應(yīng)用服務(wù)器和數(shù)據(jù)庫采用唯一連接,數(shù)據(jù)庫安全性較低。
【發(fā)明內(nèi)容】
[0004]解決上述技術(shù)問題,本發(fā)明的主要目的在于提供一種基于非對(duì)稱加密算法的軟件授權(quán)與保護(hù)裝置,本發(fā)明的裝置在應(yīng)用服務(wù)器和數(shù)據(jù)庫之間采雙備份連接,提高數(shù)據(jù)庫安全性能;
本發(fā)明的另一個(gè)目的在于提供一種基于非對(duì)稱加密算法的軟件授權(quán)與保護(hù)方法,本發(fā)明的方法采用非對(duì)稱加密技術(shù),安全性高,技術(shù)實(shí)現(xiàn)不復(fù)雜,用戶獲得授權(quán)的方式更加簡單。
[0005]為了達(dá)到上述目的,本發(fā)明所采用的技術(shù)方案之一是,一種基于非對(duì)稱加密算法的軟件授權(quán)與保護(hù)裝置,該裝置包括一軟件商客戶端、多個(gè)用戶客戶端、一軟件商服務(wù)器、一數(shù)據(jù)庫和一用戶服務(wù)器,所述軟件商客戶端通過無線和/或有線網(wǎng)絡(luò)與軟件商服務(wù)器連接,所述軟件商服務(wù)器通過第一局域網(wǎng)內(nèi)部安全網(wǎng)絡(luò)連接數(shù)據(jù)庫,所述用戶服務(wù)器通過第二局域網(wǎng)內(nèi)部安全網(wǎng)絡(luò)連接數(shù)據(jù)庫,所述多個(gè)用戶客戶端通過互聯(lián)網(wǎng)與用戶服務(wù)器連接,
軟件商客戶端包括授權(quán)碼申請(qǐng)模塊,所述授權(quán)碼申請(qǐng)模塊用于獲取需授權(quán)的軟件名稱、需要開通的權(quán)限及用戶信息,生成授權(quán)碼申請(qǐng)信息并發(fā)送給軟件商服務(wù)器,接收軟件商服務(wù)器發(fā)送過來的授權(quán)碼并進(jìn)行顯示;
軟件商服務(wù)器包括授權(quán)碼產(chǎn)生模塊和授權(quán)碼信息登記模塊,所述授權(quán)碼產(chǎn)生模塊用于根據(jù)軟件商客戶端提供的授權(quán)碼申請(qǐng)信息產(chǎn)生對(duì)應(yīng)的唯一授權(quán)碼,所述授權(quán)碼信息登記模塊用于記錄每一授權(quán)碼對(duì)應(yīng)的用戶信息并對(duì)該用戶信息進(jìn)行維護(hù)操作,并將該用戶信息存儲(chǔ)于數(shù)據(jù)庫中;
用戶客戶端包括授權(quán)碼激活模塊和許可證驗(yàn)證模塊,所述授權(quán)碼激活模塊獲取需授權(quán)的軟件名稱、一隨機(jī)值R、已安裝的網(wǎng)卡的媒體接入控制地址、硬盤序列號(hào)、用戶輸入的授權(quán)碼,生成授權(quán)碼激活信息包,并對(duì)該信息包加密,并將加密后的信息包發(fā)送到用戶服務(wù)器申請(qǐng)激活;如果激活成功,則在用戶客戶端本地生成一個(gè)許可證文件,該文件用于啟動(dòng)需授權(quán)的軟件,否則提示錯(cuò)誤,所述許可證驗(yàn)證模塊用于驗(yàn)證許可證里面的內(nèi)容是否有效,若有效,則需授權(quán)的軟件正常啟動(dòng),若無效,則需授權(quán)的軟件無法啟動(dòng),需要針對(duì)該需授權(quán)的軟件申請(qǐng)授權(quán)碼并激活;
用戶服務(wù)器包括授權(quán)碼驗(yàn)證模塊和授權(quán)碼激活信息登記模塊,所述授權(quán)碼驗(yàn)證模塊用于驗(yàn)證用戶輸入的授權(quán)碼是否合法有效,若是則生成許可證數(shù)據(jù),并用非對(duì)稱加密算法對(duì)其加密,將加密后的許可證數(shù)據(jù)返回給用戶客戶端并提示激活成功,否則提示錯(cuò)誤,所述授權(quán)碼激活信息登記模塊用于記錄授權(quán)碼成功激活相關(guān)信息。
[0006]進(jìn)一步的,所述授權(quán)碼格式為XXXX-XXXX-XXXX,其中X為數(shù)字((T9)或大寫字母(A?Z,不含I和O),產(chǎn)生方式為隨機(jī),且和之前產(chǎn)生過的授權(quán)碼不重復(fù)。
[0007]進(jìn)一步的,所述用戶信息包括授權(quán)的軟件名稱、開通的權(quán)限、用戶編號(hào)、公司名稱、聯(lián)系人、聯(lián)系電話、備注欄等,所述的維護(hù)操作有新增、刪除、修改、復(fù)制、取消等動(dòng)作。
[0008]進(jìn)一步的,所述授權(quán)碼激活信息包的組成為:隨機(jī)值R-網(wǎng)卡的媒體接入控制地址-硬盤序列號(hào)-需授權(quán)的軟件名稱-授權(quán)碼。
[0009]進(jìn)一步的,所述的激活相關(guān)信息包括激活次數(shù)、用戶客戶端本地硬件信息、激活時(shí)間和用戶客戶端IP地址。
[0010]本發(fā)明還提供一個(gè)軟件授權(quán)與保護(hù)方法,該軟件授權(quán)與保護(hù)方法包括如下步驟: S1:軟件商客戶端的授權(quán)碼申請(qǐng)模塊獲取需授權(quán)的軟件名稱、需要開通的權(quán)限及用戶信息,生成授權(quán)碼申請(qǐng)信息并發(fā)送給軟件商服務(wù)器;
52:軟件商服務(wù)器的授權(quán)碼產(chǎn)生模塊用于根據(jù)軟件商客戶端提供的授權(quán)碼申請(qǐng)信息產(chǎn)生對(duì)應(yīng)的唯一授權(quán)碼,所述授權(quán)碼信息登記模塊用于記錄每一授權(quán)碼對(duì)應(yīng)的用戶信息并對(duì)該用戶信息進(jìn)行維護(hù)操作,并將該用戶信息存儲(chǔ)于數(shù)據(jù)庫中;
53:用戶客戶端的授權(quán)碼激活模塊獲取需授權(quán)的軟件名稱、一隨機(jī)值R、已安裝的網(wǎng)卡的媒體接入控制地址、硬盤序列號(hào)、用戶輸入的授權(quán)碼,生成授權(quán)碼激活信息包,并對(duì)該信息包加密,并將加密后的信息包發(fā)送到用戶服務(wù)器申請(qǐng)激活;如果激活成功,則在用戶客戶端本地生成一個(gè)許可證文件,該文件用于啟動(dòng)需授權(quán)的軟件,否則提示錯(cuò)誤,所述許可證驗(yàn)證模塊用于驗(yàn)證許可證里面的內(nèi)容是否有效,若有效,則需授權(quán)的軟件正常啟動(dòng),若無效,則需授權(quán)的軟件無法啟動(dòng),需要針對(duì)該需授權(quán)的軟件申請(qǐng)授權(quán)碼并激活;
54:用戶服務(wù)器的授權(quán)碼驗(yàn)證模塊驗(yàn)證用戶輸入的授權(quán)碼是否合法有效,若是則生成許可證數(shù)據(jù),并用非對(duì)稱加密算法對(duì)其加密,將加密后的許可證數(shù)據(jù)返回給用戶客戶端并提示激活成功,否則提示錯(cuò)誤,所述授權(quán)碼激活信息登記模塊用于記錄授權(quán)碼成功激活相關(guān)信息。
[0011]進(jìn)一步的,所述S2具體包括以下步驟:
在用戶客戶端啟動(dòng)授權(quán)碼激活程序;獲取需授權(quán)軟件的名稱、獲取用戶輸入的授權(quán)碼及隨機(jī)值R ;根據(jù)硬件信息及上述獲取的信息產(chǎn)生授權(quán)碼激活信息包并加密;將授權(quán)碼傳送至用戶服務(wù)器,用戶服務(wù)器驗(yàn)證授權(quán)碼是否合法有效;授權(quán)碼合法有效則根據(jù)授權(quán)碼激活信息包內(nèi)容生成許可證數(shù)據(jù)并加密,并將授權(quán)碼激活信息進(jìn)行登記并存儲(chǔ)于一數(shù)據(jù)庫中;用戶服務(wù)器將加密后的許可證數(shù)據(jù)發(fā)送到用戶客戶端,用戶客戶端生成許可證文件;用戶客戶端對(duì)許可證文件進(jìn)行驗(yàn)證以決定是否對(duì)用戶授權(quán)。
[0012]進(jìn)一步的,所述步驟S3具體包括以下步驟:
用戶客戶端授權(quán)碼驗(yàn)證模塊獲取硬盤序列號(hào)等本地硬件信息,連同用戶輸入的授權(quán)碼一并發(fā)送到服務(wù)端驗(yàn)證,授權(quán)碼驗(yàn)證服務(wù)端接收到該請(qǐng)求后先驗(yàn)證該授權(quán)碼是否合格,如果該授權(quán)碼不合格返回驗(yàn)證失敗,客戶端提示錯(cuò)誤信息,如果合格且使用次數(shù)未超過限定次數(shù),將該請(qǐng)求中的硬件信息等通過已經(jīng)約定好的非對(duì)稱加密算法中的私鑰加密,打成一個(gè)加密數(shù)據(jù)包返回,客戶端授權(quán)碼驗(yàn)證模塊接收到加密數(shù)據(jù)包后將數(shù)據(jù)包生成一個(gè)許可證文件,作為后續(xù)軟件運(yùn)行驗(yàn)證用的許可文件。
[0013]本發(fā)明通過采用上述技術(shù)方案,與現(xiàn)有技術(shù)相比,具有如下優(yōu)點(diǎn):
本方案可以比目前常用的軟件授權(quán)流程更簡單易用,更安全。目前常用的授權(quán)流程用戶需要操作三步:一是用戶打開軟件獲得申請(qǐng)碼,二是提交申請(qǐng)碼獲得授權(quán)碼,三是輸入授權(quán)碼后獲得軟件授權(quán)。本方案不需要用戶打開軟件獲得申請(qǐng)碼和提交申請(qǐng)碼獲得授權(quán)碼前面這兩步操作,只要直接給用戶一個(gè)合法的授權(quán)碼,由用戶使用該授權(quán)碼上網(wǎng)激活軟件即可,減少了前面兩步來回溝通的成本和產(chǎn)生的問題。
[0014]本方案采用兩連接安全性更高,授權(quán)碼申請(qǐng)和生成的連接僅在軟件商內(nèi)部網(wǎng)絡(luò),授權(quán)碼激活和驗(yàn)證的連接可以在互聯(lián)網(wǎng),這樣可以設(shè)置對(duì)外的連接僅有讀取權(quán)限,提高數(shù)據(jù)庫安全性。而且方案中的授權(quán)碼產(chǎn)生是當(dāng)客戶需要時(shí)再申請(qǐng)生成,產(chǎn)生方式是隨機(jī)生成后存入數(shù)據(jù)庫,不是事先約定的生成算法,也不是事先就生成在數(shù)據(jù)庫中,不會(huì)被破解及浪費(fèi)數(shù)據(jù)庫存儲(chǔ)空間。
[0015]授權(quán)碼激活和驗(yàn)證過程是基于非對(duì)稱加密算法,授權(quán)碼激活過程采用不公開的私鑰加密許可證文件,授權(quán)碼驗(yàn)證過程則采用對(duì)應(yīng)的公鑰解密許可證文件,當(dāng)且僅當(dāng)使用此對(duì)應(yīng)公鑰時(shí)才能正確解密,因此無法復(fù)制、篡改或構(gòu)造許可證文件,安全性更高。
【專利附圖】
【附圖說明】
[0016]圖1是本發(fā)明軟件授權(quán)與保護(hù)裝置的硬件架構(gòu)圖。
[0017]圖2是本發(fā)明軟件授權(quán)與保護(hù)裝置的軟件商客戶端主要軟件功能模塊圖。
[0018]圖3是本發(fā)明軟件授權(quán)與保護(hù)裝置的軟件商服務(wù)器主要軟件功能模塊圖。
[0019]圖4是本發(fā)明軟件授權(quán)與保護(hù)裝置的用戶客戶端主要軟件功能模塊圖。
[0020]圖5是本發(fā)明軟件授權(quán)與保護(hù)裝置的用戶服務(wù)器主要軟件功能模塊圖。
[0021]圖6是本發(fā)明軟件授權(quán)和保護(hù)方法的主作業(yè)流程。
[0022]圖7是本發(fā)明軟件授權(quán)與保護(hù)方法的軟件商主作業(yè)流程。
[0023]圖8是本發(fā)明軟件授權(quán)與保護(hù)方法的授權(quán)碼生成作業(yè)流程。
[0024]圖9是本發(fā)明軟件授權(quán)與保護(hù)方法的用戶主作業(yè)流程。
[0025]圖10是本發(fā)明軟件授權(quán)與保護(hù)方法的授權(quán)碼激活包生成作業(yè)流程。
[0026]圖11是本發(fā)明軟件授權(quán)與保護(hù)方法的許可證數(shù)據(jù)生成作業(yè)流程。
[0027]圖12是本發(fā)明軟件授權(quán)與保護(hù)方法的許可證驗(yàn)證作業(yè)流程。
【具體實(shí)施方式】
[0028]現(xiàn)結(jié)合附圖和【具體實(shí)施方式】對(duì)本發(fā)明進(jìn)一步說明。
[0029]作為一個(gè)具體的實(shí)施例,如圖1所示,本發(fā)明的一種基于非對(duì)稱加密算法的軟件授權(quán)與保護(hù)裝置,該裝置包括一軟件商客戶端、多個(gè)用戶客戶端、一軟件商服務(wù)器、一數(shù)據(jù)庫和一用戶服務(wù)器,所述軟件商客戶端通過無線和/或有線網(wǎng)絡(luò)與軟件商服務(wù)器連接,所述軟件商服務(wù)器通過第一局域網(wǎng)內(nèi)部安全網(wǎng)絡(luò)連接數(shù)據(jù)庫,所述用戶服務(wù)器通過第二局域網(wǎng)內(nèi)部安全網(wǎng)絡(luò)連接數(shù)據(jù)庫,所述多個(gè)用戶客戶端通過互聯(lián)網(wǎng)與用戶服務(wù)器連接,
軟件商客戶端包括授權(quán)碼申請(qǐng)模塊,所述授權(quán)碼申請(qǐng)模塊于軟件商申請(qǐng)授權(quán)碼,以及接收和顯示新生成的授權(quán)碼。軟件商客戶端獲取需授權(quán)的軟件名稱、要開通的權(quán)限、用戶編號(hào)、公司名稱、聯(lián)系人、聯(lián)系電話、備注欄等信息,將這些授權(quán)碼申請(qǐng)信息發(fā)送給軟件商服務(wù)器;
軟件商服務(wù)器包括授權(quán)碼產(chǎn)生模塊、授權(quán)碼信息登記模塊,所述授權(quán)碼產(chǎn)生模塊用于產(chǎn)生新授權(quán)碼。軟件商服務(wù)器根據(jù)軟件商客戶端所提供的授權(quán)碼申請(qǐng)信息產(chǎn)生對(duì)應(yīng)的新授權(quán)碼,新生成授權(quán)碼格式為XXXX-XXXX-XXXX,其中X為數(shù)字((T9)或大寫字母(A?Z,不含I和O),產(chǎn)生方式為隨機(jī),且和之前產(chǎn)生過的授權(quán)碼不重復(fù),所述授權(quán)碼信息登記模塊用于記錄每一授權(quán)碼對(duì)應(yīng)的用戶信息并對(duì)該用戶信息進(jìn)行維護(hù)操作,所述的用戶信息包括授權(quán)的軟件名稱、開通的權(quán)限、用戶編號(hào)、公司名稱、聯(lián)系人、聯(lián)系電話、備注欄等,所述的維護(hù)操作有新增、刪除、修改、復(fù)制、取消等動(dòng)作。所有數(shù)據(jù)存儲(chǔ)于數(shù)據(jù)庫中,后期可用于用戶信息跟蹤維護(hù)、軟件使用狀況統(tǒng)計(jì)、后繼服務(wù)等;
用戶客戶端包括授權(quán)碼激活模塊和許可證驗(yàn)證模塊,所述授權(quán)碼激活模塊用于生成激活信息包及其加密傳輸。用戶客戶端獲取需授權(quán)的軟件名稱、一隨機(jī)值R、已安裝的網(wǎng)卡的媒體接入控制地址、硬盤序列號(hào)、用戶輸入的授權(quán)碼,生成授權(quán)碼激活信息包。授權(quán)碼激活信息包的組成為:隨機(jī)值R-網(wǎng)卡的媒體接入控制地址-硬盤序列號(hào)-需授權(quán)的軟件名稱-授權(quán)碼。其后采用對(duì)稱加密算法對(duì)該信息包加密,并將加密后的信息包發(fā)送到用戶服務(wù)器申請(qǐng)激活,所述許可證驗(yàn)證模塊用于驗(yàn)證許可證里面的內(nèi)容是否有效,以便確定相關(guān)軟件是否正常啟動(dòng)。所述許可證驗(yàn)證模塊分別讀取許可證文件和用戶客戶端本地硬件信息等內(nèi)容進(jìn)行比較,如果許可證文件不存在或者比較內(nèi)容不一致,則提示該軟件無授權(quán)許可,該軟件無法正常啟動(dòng),需要針對(duì)該軟件申請(qǐng)授權(quán)碼并激活;
用戶服務(wù)器包括授權(quán)碼驗(yàn)證模塊和授權(quán)碼激活信息登記模塊,授權(quán)碼驗(yàn)證模塊用于驗(yàn)證用戶輸入的授權(quán)碼是否合法有效,合法將返回加密后的許可證數(shù)據(jù)。該模塊將用戶輸入的授權(quán)碼和數(shù)據(jù)庫里面的合法授權(quán)碼進(jìn)行比較,如果不存在或超過激活限定次數(shù)則提示錯(cuò)誤;如何合法有效則生成許可證數(shù)據(jù),并用非對(duì)稱加密算法對(duì)其加密,將加密后的數(shù)據(jù)返回給客戶端并提示激活成功,所述授權(quán)碼激活信息登記模塊用于記錄授權(quán)碼成功激活的相關(guān)信息,所述的激活相關(guān)信息包括激活次數(shù)、用戶客戶端本地硬件信息、激活時(shí)間、用戶客戶端IP地址等;
所有數(shù)據(jù)存儲(chǔ)于數(shù)據(jù)庫中,后期可用于激活信息跟蹤維護(hù)、軟件使用狀況統(tǒng)計(jì)、后繼服務(wù)等。
[0030]如圖1所示,是本發(fā)明軟件授權(quán)與保護(hù)裝置的硬件架構(gòu)圖。一種基于非對(duì)稱加密算法的軟件授權(quán)與保護(hù)裝置,該裝置包括一軟件商客戶端10、多個(gè)用戶客戶端15、一軟件商服務(wù)器12、一數(shù)據(jù)庫14和一用戶服務(wù)器17,所述軟件商客戶端通過無線和/或有線網(wǎng)絡(luò)11與軟件商服務(wù)器連接,所述軟件商服務(wù)器通過第一局域網(wǎng)內(nèi)部安全網(wǎng)絡(luò)13連接數(shù)據(jù)庫,所述用戶服務(wù)器通過第二局域網(wǎng)內(nèi)部安全網(wǎng)絡(luò)14連接數(shù)據(jù)庫,所述多個(gè)用戶客戶端通過互聯(lián)網(wǎng)16與用戶服務(wù)器連接,軟件商客戶端10為軟件商提供一操作接口,用于動(dòng)態(tài)顯示操作狀態(tài),其可以為臺(tái)式機(jī)、膝上型電腦或筆記本電腦等,且安裝有網(wǎng)格及硬盤。軟件商客戶端10通過網(wǎng)絡(luò)11與軟件商服務(wù)器12相連,網(wǎng)絡(luò)11是個(gè)軟件商企業(yè)內(nèi)部的安全網(wǎng)絡(luò),軟件商客戶端10用于授權(quán)碼申請(qǐng),以及獲得新生成的授權(quán)碼。應(yīng)用服務(wù)器12用于生成授權(quán)碼、授權(quán)碼信息登記、返回新生成的授權(quán)碼等操作。其中新生成的授權(quán)碼,以及授權(quán)碼登記信息,包括需授權(quán)的軟件名稱、要開通的權(quán)限、用戶編號(hào)、公司名稱、聯(lián)系人、聯(lián)系電話、備注欄等信息,存儲(chǔ)于數(shù)據(jù)庫14中。數(shù)據(jù)庫14可對(duì)登記的授權(quán)碼信息進(jìn)行維護(hù),維護(hù)數(shù)據(jù)的操作有新增、刪除、修改、復(fù)制、取消。數(shù)據(jù)庫14通過連接13與軟件商服務(wù)器相連。連接13為一數(shù)據(jù)庫連接,如開放式數(shù)據(jù)庫連接(Open Database Connectivity, ODBC),或Java數(shù)據(jù)庫連接(Java Database Connectivity, JDBC)等,連接13具有對(duì)授權(quán)碼及授權(quán)碼登記信息增刪改查的權(quán)限。用戶客戶端15為用戶提供一操作接口,用于動(dòng)態(tài)顯示操作狀態(tài),其可以為臺(tái)式機(jī)、膝上型電腦或筆記本電腦等,且安裝有網(wǎng)格及硬盤。用戶客戶端15通過網(wǎng)絡(luò)16與用戶服務(wù)器17相連,網(wǎng)絡(luò)16是因特網(wǎng)。用戶客戶端15用于激活合法授權(quán)碼,生成許可證文件,使授權(quán)軟件在用戶客戶端15本地可用,發(fā)送授權(quán)碼請(qǐng)求激活的同時(shí)會(huì)發(fā)送本地硬件信息,授權(quán)軟件通過驗(yàn)證本地許可證是否有效確定軟件是否正常啟動(dòng)。用戶服務(wù)器17用于驗(yàn)證用戶客戶端15發(fā)送過來的授權(quán)碼是否合法,如果合法則發(fā)送經(jīng)過加密的許可證數(shù)據(jù)到用戶客戶端15,并記錄授權(quán)碼激活信息,內(nèi)容包括該授權(quán)碼激活次數(shù),用戶客戶端15本地硬件信息,激活時(shí)間,用戶客戶端15IP地址等,其存儲(chǔ)于數(shù)據(jù)庫14中。數(shù)據(jù)庫14通過連接18與用戶服務(wù)器17相連。連接18為一數(shù)據(jù)庫連接,如開放式數(shù)據(jù)庫連接(Open DatabaseConnectivity, ODBC),或 Java 數(shù)據(jù)庫連接(Java Database Connectivity, JDBC)等,和連接13不同的是,連接18對(duì)授權(quán)碼及授權(quán)碼登記信息僅有讀取權(quán)限,無法修改和刪除。
[0031]如圖2所示,是本發(fā)明軟件授權(quán)與保護(hù)裝置的軟件商客戶端10主要軟件功能模塊圖。本發(fā)明的軟件商客戶端10主要包括授權(quán)碼申請(qǐng)模塊101。
[0032]授權(quán)碼申請(qǐng)模塊101用于申請(qǐng)授權(quán)碼,以及接收和顯示新生成的授權(quán)碼。軟件商客戶端10獲取需授權(quán)的軟件名稱、要開通的權(quán)限、用戶編號(hào)、公司名稱、聯(lián)系人、聯(lián)系電話、備注欄等信息,將這些授權(quán)碼申請(qǐng)信息發(fā)送給軟件商服務(wù)器20。
[0033]如圖3所示,是本發(fā)明軟件授權(quán)與保護(hù)裝置的軟件商服務(wù)器12主要軟件功能模塊圖。本發(fā)明的軟件商服務(wù)器12主要包括授權(quán)碼產(chǎn)生模塊121、授權(quán)碼信息登記模塊122。
[0034]授權(quán)碼產(chǎn)生模塊121用于產(chǎn)生新授權(quán)碼。軟件商服務(wù)器12根據(jù)軟件商客戶端10所提供的授權(quán)碼申請(qǐng)信息產(chǎn)生對(duì)應(yīng)的新授權(quán)碼,新生成授權(quán)碼格式為xxxx-xxxx-xxxx,其中X為數(shù)字((T9)或大寫字母(A?Z,不含I和0),產(chǎn)生方式為隨機(jī),且和之前產(chǎn)生過的授權(quán)碼不重復(fù)。
[0035]授權(quán)碼信息登記模塊122用于記錄每一授權(quán)碼對(duì)應(yīng)的用戶信息并對(duì)該用戶信息進(jìn)行維護(hù)操作,所述的用戶信息包括授權(quán)的軟件名稱、開通的權(quán)限、用戶編號(hào)、公司名稱、聯(lián)系人、聯(lián)系電話、備注欄等,所述的維護(hù)操作有新增、刪除、修改、復(fù)制、取消等動(dòng)作。
[0036]如圖4所示,是本發(fā)明軟件授權(quán)與保護(hù)裝置的用戶客戶端15主要軟件功能模塊圖。本發(fā)明的用戶客戶端15主要包括授權(quán)碼激活模塊151、許可證驗(yàn)證模塊152。
[0037]授權(quán)碼激活模塊151用于生成激活信息包及其加密傳輸。用戶客戶端15獲取需授權(quán)的軟件名稱、一隨機(jī)值R、已安裝的網(wǎng)卡的媒體接入控制地址、硬盤序列號(hào)、用戶輸入的授權(quán)碼,生成授權(quán)碼激活信息包。授權(quán)碼激活信息包的組成為:隨機(jī)值R-網(wǎng)卡的媒體接入控制地址-硬盤序列號(hào)-需授權(quán)的軟件名稱-授權(quán)碼。其后采用對(duì)稱加密算法對(duì)該信息包加密,并將加密后的信息包發(fā)送到用戶服務(wù)器17申請(qǐng)激活。
[0038]許可證驗(yàn)證模塊152用于驗(yàn)證許可證里面的內(nèi)容是否有效,以便確定相關(guān)軟件是否正常啟動(dòng)。該模塊分別讀取許可證文件和本地硬件信息等內(nèi)容進(jìn)行比較,如果許可證文件不存在或者比較內(nèi)容不一致,則提示軟件無授權(quán)許可,無法正常啟動(dòng),需要申請(qǐng)授權(quán)碼并激活。
[0039]如圖5所示,是本發(fā)明軟件授權(quán)與保護(hù)裝置的用戶服務(wù)器17主要軟件功能模塊圖。本發(fā)明的用戶服務(wù)器17主要包括授權(quán)碼驗(yàn)證模塊171,授權(quán)碼激活信息登記模塊172。
[0040]授權(quán)碼驗(yàn)證模塊171用于驗(yàn)證用戶輸入的授權(quán)碼是否合法有效,合法將返回加密后的許可證數(shù)據(jù)。該模塊將用戶輸入的授權(quán)碼和數(shù)據(jù)庫里面的合法授權(quán)碼進(jìn)行比較,如果沒有匹配的授權(quán)碼將提示該授權(quán)碼不存在;如果匹配但是激活次數(shù)超過限定次數(shù)將提示該授權(quán)碼激活次數(shù)過多;如果匹配且激活次數(shù)未超過限定次數(shù)將獲取一隨機(jī)值R,以及提取授權(quán)碼激活信息包的部分內(nèi)容生成許可證數(shù)據(jù),組成為:數(shù)據(jù)頭-隨機(jī)值R-網(wǎng)卡的媒體接入控制地址-硬盤序列號(hào)-授權(quán)軟件名稱-授權(quán)碼,并通過非對(duì)稱加密算法對(duì)其加密,然后返回給客戶端并提示激活成功。
[0041]授權(quán)碼激活信息登記模塊172用于記錄授權(quán)碼成功激活的相關(guān)信息,所述的激活相關(guān)信息包括激活次數(shù)、用戶客戶端本地硬件信息、激活時(shí)間、用戶客戶端IP地址等。
[0042]如圖6所示,是本發(fā)明軟件授權(quán)與保護(hù)方法的主作業(yè)流程。S1:軟件商客戶端的授權(quán)碼申請(qǐng)模塊獲取需授權(quán)的軟件名稱、需要開通的權(quán)限及用戶信息,生成授權(quán)碼申請(qǐng)信息并發(fā)送給軟件商服務(wù)器;
S2:軟件商服務(wù)器的授權(quán)碼產(chǎn)生模塊用于根據(jù)軟件商客戶端提供的授權(quán)碼申請(qǐng)信息產(chǎn)生對(duì)應(yīng)的唯一授權(quán)碼,所述授權(quán)碼信息登記模塊用于記錄每一授權(quán)碼對(duì)應(yīng)的用戶信息并對(duì)該用戶信息進(jìn)行維護(hù)操作,并將該用戶信息存儲(chǔ)于數(shù)據(jù)庫中;
S3:用戶客戶端的授權(quán)碼激活模塊獲取需授權(quán)的軟件名稱、一隨機(jī)值R、已安裝的網(wǎng)卡的媒體接入控制地址、硬盤序列號(hào)、用戶輸入的授權(quán)碼,生成授權(quán)碼激活信息包,并對(duì)該信息包加密,并將加密后的信息包發(fā)送到用戶服務(wù)器申請(qǐng)激活;如果激活成功,則在用戶客戶端本地生成一個(gè)許可證文件,該文件用于啟動(dòng)需授權(quán)的軟件,否則提示錯(cuò)誤,所述許可證驗(yàn)證模塊用于驗(yàn)證許可證里面的內(nèi)容是否有效,若有效,則需授權(quán)的軟件正常啟動(dòng),若無效,則需授權(quán)的軟件無法啟動(dòng),需要針對(duì)該需授權(quán)的軟件申請(qǐng)授權(quán)碼并激活;
S4:用戶服務(wù)器的授權(quán)碼驗(yàn)證模塊驗(yàn)證用戶輸入的授權(quán)碼是否合法有效,若是則生成許可證數(shù)據(jù),并用非對(duì)稱加密算法對(duì)其加密,將加密后的許可證數(shù)據(jù)返回給用戶客戶端并提示激活成功,否則提示錯(cuò)誤,所述授權(quán)碼激活信息登記模塊用于記錄授權(quán)碼成功激活相關(guān)信息。
[0043]如圖7所示,是本發(fā)明軟件授權(quán)與保護(hù)方法的軟件商主作業(yè)流程。首先軟件商客戶端10啟動(dòng)本程序(步驟S200),本程序是在安全可靠的軟件商內(nèi)部網(wǎng)絡(luò)環(huán)境下運(yùn)行且不可對(duì)外發(fā)布。軟件商客戶端10獲取需授權(quán)的軟件名稱、要開通的權(quán)限、用戶編號(hào)、公司名稱、聯(lián)系人、聯(lián)系電話、備注欄等信息,并加密(步驟S201);軟件商客戶端10將上述所獲取的信息發(fā)送到軟件商服務(wù)器12(步驟S202);軟件商服務(wù)器12對(duì)發(fā)送過來的授權(quán)碼申請(qǐng)信息進(jìn)行解密,并根據(jù)申請(qǐng)信息生成新授權(quán)碼(步驟S203);軟件商服務(wù)器12將授權(quán)碼信息進(jìn)行登記并存儲(chǔ)于數(shù)據(jù)庫14中(步驟S204);軟件商客戶端10獲得返回的新生成授權(quán)碼(步驟 S205)。
[0044]如圖8所示,是本發(fā)明軟件授權(quán)與保護(hù)方法的授權(quán)碼生成作業(yè)流程。本流程于軟件商服務(wù)器12執(zhí)行。首先獲取約定好的對(duì)稱加密算法密鑰(步驟S300);用該密鑰對(duì)授權(quán)碼申請(qǐng)信息解密(步驟S301);判斷解密后的文件頭是否合法(步驟S302),若不合法則提示錯(cuò)誤(步驟S307);若合法則根據(jù)授權(quán)碼申請(qǐng)信息里面的需授權(quán)軟件信息,找到對(duì)應(yīng)的數(shù)據(jù)庫表格,獲取已存在的授權(quán)碼列表(步驟S303);根據(jù)規(guī)則隨機(jī)生成一個(gè)授權(quán)碼,格式為XXXX-XXXX-XXXX,其中X為數(shù)字((T9)或大寫字母(£1,不含I和O)(步驟S304);判斷生成的授權(quán)碼是否與已存在的授權(quán)碼重復(fù)(步驟S305),若重復(fù)則回到上一步(步驟S304),再根據(jù)規(guī)則隨機(jī)生成一個(gè)授權(quán)碼;若與已存在的授權(quán)碼不重復(fù),該授權(quán)碼作為新生成的授權(quán)碼輸出(步驟S306)。
[0045]如圖9所示,是本發(fā)明軟件授權(quán)與保護(hù)方法的用戶主作業(yè)流程。首先用戶客戶端15啟動(dòng)本程序(步驟S400)。用戶客戶端15獲取用戶輸入的授權(quán)碼、一隨機(jī)值R和本地的硬件信息,生成授權(quán)碼激活信息包并加密(步驟S401);用戶客戶端15將授權(quán)碼激活信息包發(fā)送到用戶服務(wù)器17 (步驟S402);用戶服務(wù)器17對(duì)發(fā)送過來的授權(quán)碼激活信息包進(jìn)行解密,并驗(yàn)證激活信息中的授權(quán)碼是否合法有效(步驟S403);用戶服務(wù)器17將授權(quán)碼激活信息進(jìn)行登記并存儲(chǔ)于數(shù)據(jù)庫14中(步驟S404);用戶服務(wù)器17獲取一隨機(jī)值R,以及提取授權(quán)碼激活信息包的部分內(nèi)容生成許可證數(shù)據(jù),并通過非對(duì)稱加密算法加密(步驟S405);用戶服務(wù)器17將加密后的許可證數(shù)據(jù)發(fā)送到用戶客戶端15(步驟S406);用戶客戶端15根據(jù)發(fā)送過來的加密后的許可證數(shù)據(jù)生成許可證文件,保存在本地(步驟S407);用戶客戶端15對(duì)許可證文件進(jìn)行驗(yàn)證以決定用戶是否有權(quán)限正常啟動(dòng)要授權(quán)軟件(步驟S408)。
[0046]如圖10所示,是本發(fā)明軟件授權(quán)與保護(hù)方法的授權(quán)碼激活包生成作業(yè)流程。本流程于用戶客戶端15執(zhí)行。首先用戶客戶端15獲取一隨機(jī)值R(步驟S500);用戶客戶端15讀取網(wǎng)卡的媒體接入控制地址(步驟S501),并判斷該網(wǎng)卡的媒體接入控制地址是否為空(步驟S502),若網(wǎng)卡的媒體接入控制地址為空則提示錯(cuò)誤,無法激活(步驟S509);若網(wǎng)卡的媒體接入控制地址不為空則讀取硬盤序列號(hào)(步驟S503)。判斷硬盤的序列號(hào)是否為空(步驟S504),若此硬盤的序列號(hào)為空則提示錯(cuò)誤,無法激活(步驟S509);若此硬盤的序列號(hào)不為空則讀取需授權(quán)的軟件名稱(步驟S505),讀取用戶輸入的授權(quán)碼(步驟S506)。生成激活信息包,其組成為:隨機(jī)值R-網(wǎng)卡的媒體接入控制地址-硬盤序列號(hào)-需授權(quán)的軟件名稱-授權(quán)碼(步驟S507)。用戶客戶端15獲取約定好的對(duì)稱加密算法密鑰,并用該密鑰對(duì)授權(quán)碼激活信息包加密(步驟S508)。
[0047]如圖11所示,是本發(fā)明軟件授權(quán)與保護(hù)方法的許可證數(shù)據(jù)生成作業(yè)流程。本流程于用戶服務(wù)器17執(zhí)行。首先用戶服務(wù)器17獲取一隨機(jī)值R(步驟S600);用戶服務(wù)器17讀取授權(quán)碼激活信息包的網(wǎng)卡媒體接入控制地址(步驟S601),并判斷網(wǎng)卡媒體接入控制地址是否為空(步驟S602),若網(wǎng)卡媒體接入控制地址為空則提示錯(cuò)誤,無法激活(步驟S610);若網(wǎng)卡媒體接入控制地址不為空則讀取授權(quán)碼激活信息包里面的硬盤序列號(hào)(步驟S603)。判斷硬盤序列號(hào)是否為空(步驟S604),若硬盤序列號(hào)為空則提示錯(cuò)誤,無法激活(步驟S610);若硬盤序列號(hào)不為空則讀取授權(quán)碼激活信息包里面的需授權(quán)軟件名稱(步驟S605),讀取用戶輸入的授權(quán)碼(步驟S606)。加上數(shù)據(jù)頭生成許可證數(shù)據(jù),其組成為:數(shù)據(jù)頭-隨機(jī)值R-網(wǎng)卡的媒體接入控制地址-硬盤序列號(hào)-授權(quán)軟件名稱-授權(quán)碼(步驟S607)。用戶服務(wù)器17獲取約定好的非對(duì)稱加密算法私鑰(步驟S608),并用該私鑰對(duì)許可證數(shù)據(jù)加密(步驟S609),當(dāng)且僅當(dāng)該私鑰對(duì)應(yīng)的公鑰才能將此許可證數(shù)據(jù)密文解密。
[0048]如圖12所示,是本發(fā)明軟件授權(quán)與保護(hù)方法的許可證驗(yàn)證作業(yè)流程。本流程于用戶客戶端15執(zhí)行。首先用戶客戶端15判斷許可證文件是否存在(步驟S700),若不存在則提示錯(cuò)誤,軟件未授權(quán)(步驟S711);若存在則獲取約定好的非對(duì)稱加密算法公鑰(步驟S701),用公鑰對(duì)許可證內(nèi)容解密(步驟S702)。判斷解密后的數(shù)據(jù)頭是否合法(步驟S703),若不合法則提示錯(cuò)誤,軟件未授權(quán)(步驟S711);若數(shù)據(jù)頭合法則說明獲得了解密后的許可證數(shù)據(jù),讀取用戶客戶端15的網(wǎng)卡媒體接入控制地址(步驟S704),并判斷該網(wǎng)卡的媒體接入控制地址是否許可證內(nèi)容一致(步驟S705),若不一致則提示錯(cuò)誤,軟件未授權(quán)(步驟S711);若網(wǎng)卡媒體接入控制地址一致則讀取用戶客戶端15的硬盤序列號(hào)(步驟S706)。判斷硬盤序列號(hào)是否與許可證內(nèi)容一致(步驟S707),若不一致則提示錯(cuò)誤,軟件未授權(quán)(步驟S711);若硬盤序列號(hào)一致則讀取本軟件名稱(步驟S708)。判斷軟件名稱是否與許可證里面授權(quán)軟件名稱一致(步驟S709),若不一致則提示錯(cuò)誤,軟件未授權(quán)(步驟S711);若軟件名稱一致則表示該軟件已授權(quán),正常啟動(dòng)軟件(步驟S710)。
[0049]盡管結(jié)合優(yōu)選實(shí)施方案具體展示和介紹了本發(fā)明,但所屬領(lǐng)域的技術(shù)人員應(yīng)該明白,在不脫離所附權(quán)利要求書所限定的本發(fā)明的精神和范圍內(nèi),在形式上和細(xì)節(jié)上可以對(duì)本發(fā)明做出各種變化,均為本發(fā)明的保護(hù)范圍。
【權(quán)利要求】
1.一種基于非對(duì)稱加密算法的軟件授權(quán)與保護(hù)裝置,其特征在于:一種基于非對(duì)稱加密算法的軟件授權(quán)與保護(hù)裝置,該裝置包括一軟件商客戶端、多個(gè)用戶客戶端、一軟件商服務(wù)器、一數(shù)據(jù)庫和一用戶服務(wù)器,所述軟件商客戶端通過無線和/或有線網(wǎng)絡(luò)與軟件商服務(wù)器連接,所述軟件商服務(wù)器通過第一局域網(wǎng)內(nèi)部安全網(wǎng)絡(luò)連接數(shù)據(jù)庫,所述用戶服務(wù)器通過第二局域網(wǎng)內(nèi)部安全網(wǎng)絡(luò)連接數(shù)據(jù)庫,所述多個(gè)用戶客戶端通過互聯(lián)網(wǎng)與用戶服務(wù)器連接; 軟件商客戶端包括授權(quán)碼申請(qǐng)模塊,所述授權(quán)碼申請(qǐng)模塊用于獲取需授權(quán)的軟件名稱、需要開通的權(quán)限及用戶信息,生成授權(quán)碼申請(qǐng)信息并發(fā)送給軟件商服務(wù)器,接收軟件商服務(wù)器發(fā)送過來的授權(quán)碼并進(jìn)行顯示; 軟件商服務(wù)器包括授權(quán)碼產(chǎn)生模塊和授權(quán)碼信息登記模塊,所述授權(quán)碼產(chǎn)生模塊用于根據(jù)軟件商客戶端提供的授權(quán)碼申請(qǐng)信息產(chǎn)生對(duì)應(yīng)的唯一授權(quán)碼,所述授權(quán)碼信息登記模塊用于記錄每一授權(quán)碼對(duì)應(yīng)的用戶信息并對(duì)該用戶信息進(jìn)行維護(hù)操作,并將該用戶信息存儲(chǔ)于數(shù)據(jù)庫中; 用戶客戶端包括授權(quán)碼激活模塊和許可證驗(yàn)證模塊,所述授權(quán)碼激活模塊獲取需授權(quán)的軟件名稱、一隨機(jī)值R、已安裝的網(wǎng)卡的媒體接入控制地址、硬盤序列號(hào)、用戶輸入的授權(quán)碼,生成授權(quán)碼激活信息包,并對(duì)該信息包加密,并將加密后的信息包發(fā)送到用戶服務(wù)器申請(qǐng)激活;如果激活成功,則在用戶客戶端本地生成一個(gè)許可證文件,該文件用于啟動(dòng)需授權(quán)的軟件,否則提示錯(cuò)誤,所述許可證驗(yàn)證模塊用于驗(yàn)證許可證里面的內(nèi)容是否有效,若有效,則需授權(quán)的軟件正常啟動(dòng),若無效,則需授權(quán)的軟件無法啟動(dòng),需要針對(duì)該需授權(quán)的軟件申請(qǐng)授權(quán)碼并激活; 用戶服務(wù)器包括授權(quán)碼驗(yàn)證模塊和授權(quán)碼激活信息登記模塊,所述授權(quán)碼驗(yàn)證模塊用于驗(yàn)證用戶輸入的授權(quán)碼是否合法有效,若是則生成許可證數(shù)據(jù),并用非對(duì)稱加密算法對(duì)其加密,將加密后的許可證數(shù)據(jù)返回給用戶客戶端并提示激活成功,否則提示錯(cuò)誤,所述授權(quán)碼激活信息登記模塊用于記錄授權(quán)碼成功激活相關(guān)信息。
2.根據(jù)權(quán)利要求1所述的一種基于非對(duì)稱加密算法的軟件授權(quán)與保護(hù)裝置,其特征在于:所述授權(quán)碼格式為XXXX-XXXX-XXXX,其中X為數(shù)字((T9)或大寫字母,產(chǎn)生方式為隨機(jī),且和之前產(chǎn)生過的授權(quán)碼不重復(fù)。
3.根據(jù)權(quán)利要求1所述的一種基于非對(duì)稱加密算法的軟件授權(quán)與保護(hù)裝置,其特征在于:所述用戶信息包括授權(quán)的軟件名稱、開通的權(quán)限、用戶編號(hào)、公司名稱、聯(lián)系人、聯(lián)系電話、備注欄等,所述的維護(hù)操作有新增、刪除、修改、復(fù)制、取消動(dòng)作。
4.根據(jù)權(quán)利要求1所述的一種基于非對(duì)稱加密算法的軟件授權(quán)與保護(hù)裝置,其特征在于:所述授權(quán)碼激活信息包的組成為:隨機(jī)值R-網(wǎng)卡的媒體接入控制地址-硬盤序列號(hào)-需授權(quán)的軟件名稱-授權(quán)碼。
5.根據(jù)權(quán)利要求1所述的一種基于非對(duì)稱加密算法的軟件授權(quán)與保護(hù)裝置,其特征在于:所述的激活相關(guān)信息包括激活次數(shù)、用戶客戶端計(jì)算機(jī)本地硬件信息、激活時(shí)間和用戶客戶端計(jì)算機(jī)IP地址。
6.本發(fā)明還提供一個(gè)軟件授權(quán)與保護(hù)方法,該軟件授權(quán)與保護(hù)方法包括如下步驟: S1:軟件商客戶端的授權(quán)碼申請(qǐng)模塊獲取需授權(quán)的軟件名稱、需要開通的權(quán)限及用戶信息,生成授權(quán)碼申請(qǐng)信息并發(fā)送給軟件商服務(wù)器; 52:軟件商服務(wù)器的授權(quán)碼產(chǎn)生模塊用于根據(jù)軟件商客戶端提供的授權(quán)碼申請(qǐng)信息產(chǎn)生對(duì)應(yīng)的唯一授權(quán)碼,所述授權(quán)碼信息登記模塊用于記錄每一授權(quán)碼對(duì)應(yīng)的用戶信息并對(duì)該用戶信息進(jìn)行維護(hù)操作,并將該用戶信息存儲(chǔ)于數(shù)據(jù)庫中; 53:用戶客戶端的授權(quán)碼激活模塊獲取需授權(quán)的軟件名稱、一隨機(jī)值R、已安裝的網(wǎng)卡的媒體接入控制地址、硬盤序列號(hào)、用戶輸入的授權(quán)碼,生成授權(quán)碼激活信息包,并對(duì)該信息包加密,并將加密后的信息包發(fā)送到用戶服務(wù)器申請(qǐng)激活;如果激活成功,則在用戶客戶端本地生成一個(gè)許可證文件,該文件用于啟動(dòng)需授權(quán)的軟件,否則提示錯(cuò)誤,所述許可證驗(yàn)證模塊用于驗(yàn)證許可證里面的內(nèi)容是否有效,若有效,則需授權(quán)的軟件正常啟動(dòng),若無效,則需授權(quán)的軟件無法啟動(dòng),需要針對(duì)該需授權(quán)的軟件申請(qǐng)授權(quán)碼并激活,S4:用戶服務(wù)器的授權(quán)碼驗(yàn)證模塊驗(yàn)證用戶輸入的授權(quán)碼是否合法有效,若是則生成許可證數(shù)據(jù),并用非對(duì)稱加密算法對(duì)其加密,將加密后的許可證數(shù)據(jù)返回給用戶客戶端并提示激活成功,否則提示錯(cuò)誤,所述授權(quán)碼激活信息登記模塊用于記錄授權(quán)碼成功激活相關(guān)信息。
7.根據(jù)權(quán)利要求6所述的軟件授權(quán)與保護(hù)方法,其特征在于:所述S2具體包括以下步驟: 在用戶客戶端啟動(dòng)授權(quán)碼激活程序;獲取需授權(quán)軟件的名稱、獲取用戶輸入的授權(quán)碼及隨機(jī)值R ;根據(jù)硬件信息及上述獲取的信息產(chǎn)生授權(quán)碼激活信息包并加密;將授權(quán)碼傳送至用戶服務(wù)器,用戶服務(wù)器驗(yàn)證授權(quán)碼是否合法有效;授權(quán)碼合法有效則根據(jù)授權(quán)碼激活信息包內(nèi)容生成許可證數(shù)據(jù)并加密,并將授權(quán)碼激活信息進(jìn)行登記并存儲(chǔ)于一數(shù)據(jù)庫中;用戶服務(wù)器將加密后的許可證數(shù)據(jù)發(fā)送到用戶客戶端,用戶客戶端生成許可證文件;用戶客戶端對(duì)許可證文件進(jìn)行驗(yàn)證以決定是否對(duì)用戶授權(quán)。
8.根據(jù)權(quán)利要求6所述的軟件授權(quán)與保護(hù)方法,其特征在于:所述S2具體包括以下步驟: 用戶客戶端授權(quán)碼驗(yàn)證模塊獲取硬盤序列號(hào)等本地硬件信息,連同用戶輸入的授權(quán)碼一并發(fā)送到服務(wù)端驗(yàn)證,授權(quán)碼驗(yàn)證服務(wù)端接收到該請(qǐng)求后先驗(yàn)證該授權(quán)碼是否合格,如果該授權(quán)碼不合格返回驗(yàn)證失敗,客戶端提示錯(cuò)誤信息,如果合格且使用次數(shù)未超過限定次數(shù),將該請(qǐng)求中的硬件信息等通過已經(jīng)約定好的非對(duì)稱加密算法中的私鑰加密,打成一個(gè)加密數(shù)據(jù)包返回,客戶端授權(quán)碼驗(yàn)證模塊接收到加密數(shù)據(jù)包后將數(shù)據(jù)包生成一個(gè)許可證文件,作為后續(xù)軟件運(yùn)行驗(yàn)證用的許可文件。
【文檔編號(hào)】G06F21/62GK104361267SQ201410659328
【公開日】2015年2月18日 申請(qǐng)日期:2014年11月19日 優(yōu)先權(quán)日:2014年11月19日
【發(fā)明者】李志龍 申請(qǐng)人:廈門海邁科技股份有限公司