新四季網

基於非對稱加密算法的軟體授權與保護裝置及方法

2023-10-17 01:19:14 1

基於非對稱加密算法的軟體授權與保護裝置及方法
【專利摘要】本發明涉及一種基於非對稱加密算法的軟體授權與保護裝置及方法。該裝置包括一軟體商客戶端計算機、多個客戶端計算機、一軟體商伺服器、一資料庫和一用戶伺服器,軟體商客戶端計算機通過無線和/或有線網絡與軟體商伺服器連接,軟體商伺服器通過第一VPN網絡連接資料庫,用戶伺服器通過第二VPN網絡連接資料庫,多個客戶端計算機通過網際網路與用戶伺服器連接,發明的裝置在應用伺服器和資料庫之間採雙備份連接,提高資料庫安全性能。本發明的另一個目的在於提供一種基於非對稱加密算法的軟體授權與保護方法,本發明的方法採用非對稱加密技術,安全性高,技術實現不複雜,用戶獲得授權的方式更加簡單。
【專利說明】基於非對稱加密算法的軟體授權與保護裝置及方法

【技術領域】
[0001]本發明涉及一種基於非對稱加密算法的軟體授權與保護裝置及方法。

【背景技術】
[0002]由於軟體的可複製性與可重複執行性,業界軟體開發商及其開發團隊一向深受軟體非法複製使用及盜版軟體產品之害。雖有多種軟體授權與保護方法,如註冊碼方式,加密狗方式,插入功能限制程序,Key File保護等,但這些方法缺點亦很明顯,或算法複雜,製作成本高,或容易破解,保護力弱。
[0003]隨著網際網路普及,結合網際網路技術,有人提出了一種通過聯網註冊獲得授權的軟體授權和保護方法,該方法和現有技術的其他方法相比,安全性高且技術實現不複雜,但這種方法僅採用應用伺服器和資料庫採用唯一連接,資料庫安全性較低。


【發明內容】

[0004]解決上述技術問題,本發明的主要目的在於提供一種基於非對稱加密算法的軟體授權與保護裝置,本發明的裝置在應用伺服器和資料庫之間採雙備份連接,提高資料庫安全性能;
本發明的另一個目的在於提供一種基於非對稱加密算法的軟體授權與保護方法,本發明的方法採用非對稱加密技術,安全性高,技術實現不複雜,用戶獲得授權的方式更加簡單。
[0005]為了達到上述目的,本發明所採用的技術方案之一是,一種基於非對稱加密算法的軟體授權與保護裝置,該裝置包括一軟體商客戶端、多個用戶客戶端、一軟體商伺服器、一資料庫和一用戶伺服器,所述軟體商客戶端通過無線和/或有線網絡與軟體商伺服器連接,所述軟體商伺服器通過第一區域網內部安全網絡連接資料庫,所述用戶伺服器通過第二區域網內部安全網絡連接資料庫,所述多個用戶客戶端通過網際網路與用戶伺服器連接,
軟體商客戶端包括授權碼申請模塊,所述授權碼申請模塊用於獲取需授權的軟體名稱、需要開通的權限及用戶信息,生成授權碼申請信息並發送給軟體商伺服器,接收軟體商伺服器發送過來的授權碼並進行顯示;
軟體商伺服器包括授權碼產生模塊和授權碼信息登記模塊,所述授權碼產生模塊用於根據軟體商客戶端提供的授權碼申請信息產生對應的唯一授權碼,所述授權碼信息登記模塊用於記錄每一授權碼對應的用戶信息並對該用戶信息進行維護操作,並將該用戶信息存儲於資料庫中;
用戶客戶端包括授權碼激活模塊和許可證驗證模塊,所述授權碼激活模塊獲取需授權的軟體名稱、一隨機值R、已安裝的網卡的媒體接入控制地址、硬碟序列號、用戶輸入的授權碼,生成授權碼激活信息包,並對該信息包加密,並將加密後的信息包發送到用戶伺服器申請激活;如果激活成功,則在用戶客戶端本地生成一個許可證文件,該文件用於啟動需授權的軟體,否則提示錯誤,所述許可證驗證模塊用於驗證許可證裡面的內容是否有效,若有效,則需授權的軟體正常啟動,若無效,則需授權的軟體無法啟動,需要針對該需授權的軟體申請授權碼並激活;
用戶伺服器包括授權碼驗證模塊和授權碼激活信息登記模塊,所述授權碼驗證模塊用於驗證用戶輸入的授權碼是否合法有效,若是則生成許可證數據,並用非對稱加密算法對其加密,將加密後的許可證數據返回給用戶客戶端並提示激活成功,否則提示錯誤,所述授權碼激活信息登記模塊用於記錄授權碼成功激活相關信息。
[0006]進一步的,所述授權碼格式為XXXX-XXXX-XXXX,其中X為數字((T9)或大寫字母(A?Z,不含I和O),產生方式為隨機,且和之前產生過的授權碼不重複。
[0007]進一步的,所述用戶信息包括授權的軟體名稱、開通的權限、用戶編號、公司名稱、聯繫人、聯繫電話、備註欄等,所述的維護操作有新增、刪除、修改、複製、取消等動作。
[0008]進一步的,所述授權碼激活信息包的組成為:隨機值R-網卡的媒體接入控制地址-硬碟序列號-需授權的軟體名稱-授權碼。
[0009]進一步的,所述的激活相關信息包括激活次數、用戶客戶端本地硬體信息、激活時間和用戶客戶端IP位址。
[0010]本發明還提供一個軟體授權與保護方法,該軟體授權與保護方法包括如下步驟: S1:軟體商客戶端的授權碼申請模塊獲取需授權的軟體名稱、需要開通的權限及用戶信息,生成授權碼申請信息並發送給軟體商伺服器;
52:軟體商伺服器的授權碼產生模塊用於根據軟體商客戶端提供的授權碼申請信息產生對應的唯一授權碼,所述授權碼信息登記模塊用於記錄每一授權碼對應的用戶信息並對該用戶信息進行維護操作,並將該用戶信息存儲於資料庫中;
53:用戶客戶端的授權碼激活模塊獲取需授權的軟體名稱、一隨機值R、已安裝的網卡的媒體接入控制地址、硬碟序列號、用戶輸入的授權碼,生成授權碼激活信息包,並對該信息包加密,並將加密後的信息包發送到用戶伺服器申請激活;如果激活成功,則在用戶客戶端本地生成一個許可證文件,該文件用於啟動需授權的軟體,否則提示錯誤,所述許可證驗證模塊用於驗證許可證裡面的內容是否有效,若有效,則需授權的軟體正常啟動,若無效,則需授權的軟體無法啟動,需要針對該需授權的軟體申請授權碼並激活;
54:用戶伺服器的授權碼驗證模塊驗證用戶輸入的授權碼是否合法有效,若是則生成許可證數據,並用非對稱加密算法對其加密,將加密後的許可證數據返回給用戶客戶端並提示激活成功,否則提示錯誤,所述授權碼激活信息登記模塊用於記錄授權碼成功激活相關信息。
[0011]進一步的,所述S2具體包括以下步驟:
在用戶客戶端啟動授權碼激活程序;獲取需授權軟體的名稱、獲取用戶輸入的授權碼及隨機值R ;根據硬體信息及上述獲取的信息產生授權碼激活信息包並加密;將授權碼傳送至用戶伺服器,用戶伺服器驗證授權碼是否合法有效;授權碼合法有效則根據授權碼激活信息包內容生成許可證數據並加密,並將授權碼激活信息進行登記並存儲於一資料庫中;用戶伺服器將加密後的許可證數據發送到用戶客戶端,用戶客戶端生成許可證文件;用戶客戶端對許可證文件進行驗證以決定是否對用戶授權。
[0012]進一步的,所述步驟S3具體包括以下步驟:
用戶客戶端授權碼驗證模塊獲取硬碟序列號等本地硬體信息,連同用戶輸入的授權碼一併發送到服務端驗證,授權碼驗證服務端接收到該請求後先驗證該授權碼是否合格,如果該授權碼不合格返回驗證失敗,客戶端提示錯誤信息,如果合格且使用次數未超過限定次數,將該請求中的硬體信息等通過已經約定好的非對稱加密算法中的私鑰加密,打成一個加密數據包返回,客戶端授權碼驗證模塊接收到加密數據包後將數據包生成一個許可證文件,作為後續軟體運行驗證用的許可文件。
[0013]本發明通過採用上述技術方案,與現有技術相比,具有如下優點:
本方案可以比目前常用的軟體授權流程更簡單易用,更安全。目前常用的授權流程用戶需要操作三步:一是用戶打開軟體獲得申請碼,二是提交申請碼獲得授權碼,三是輸入授權碼後獲得軟體授權。本方案不需要用戶打開軟體獲得申請碼和提交申請碼獲得授權碼前面這兩步操作,只要直接給用戶一個合法的授權碼,由用戶使用該授權碼上網激活軟體即可,減少了前面兩步來回溝通的成本和產生的問題。
[0014]本方案採用兩連接安全性更高,授權碼申請和生成的連接僅在軟體商內部網絡,授權碼激活和驗證的連接可以在網際網路,這樣可以設置對外的連接僅有讀取權限,提高資料庫安全性。而且方案中的授權碼產生是當客戶需要時再申請生成,產生方式是隨機生成後存入資料庫,不是事先約定的生成算法,也不是事先就生成在資料庫中,不會被破解及浪費資料庫存儲空間。
[0015]授權碼激活和驗證過程是基於非對稱加密算法,授權碼激活過程採用不公開的私鑰加密許可證文件,授權碼驗證過程則採用對應的公鑰解密許可證文件,若且唯若使用此對應公鑰時才能正確解密,因此無法複製、篡改或構造許可證文件,安全性更高。

【專利附圖】

【附圖說明】
[0016]圖1是本發明軟體授權與保護裝置的硬體架構圖。
[0017]圖2是本發明軟體授權與保護裝置的軟體商客戶端主要軟體功能模塊圖。
[0018]圖3是本發明軟體授權與保護裝置的軟體商伺服器主要軟體功能模塊圖。
[0019]圖4是本發明軟體授權與保護裝置的用戶客戶端主要軟體功能模塊圖。
[0020]圖5是本發明軟體授權與保護裝置的用戶伺服器主要軟體功能模塊圖。
[0021]圖6是本發明軟體授權和保護方法的主作業流程。
[0022]圖7是本發明軟體授權與保護方法的軟體商主作業流程。
[0023]圖8是本發明軟體授權與保護方法的授權碼生成作業流程。
[0024]圖9是本發明軟體授權與保護方法的用戶主作業流程。
[0025]圖10是本發明軟體授權與保護方法的授權碼激活包生成作業流程。
[0026]圖11是本發明軟體授權與保護方法的許可證數據生成作業流程。
[0027]圖12是本發明軟體授權與保護方法的許可證驗證作業流程。

【具體實施方式】
[0028]現結合附圖和【具體實施方式】對本發明進一步說明。
[0029]作為一個具體的實施例,如圖1所示,本發明的一種基於非對稱加密算法的軟體授權與保護裝置,該裝置包括一軟體商客戶端、多個用戶客戶端、一軟體商伺服器、一資料庫和一用戶伺服器,所述軟體商客戶端通過無線和/或有線網絡與軟體商伺服器連接,所述軟體商伺服器通過第一區域網內部安全網絡連接資料庫,所述用戶伺服器通過第二區域網內部安全網絡連接資料庫,所述多個用戶客戶端通過網際網路與用戶伺服器連接,
軟體商客戶端包括授權碼申請模塊,所述授權碼申請模塊於軟體商申請授權碼,以及接收和顯示新生成的授權碼。軟體商客戶端獲取需授權的軟體名稱、要開通的權限、用戶編號、公司名稱、聯繫人、聯繫電話、備註欄等信息,將這些授權碼申請信息發送給軟體商伺服器;
軟體商伺服器包括授權碼產生模塊、授權碼信息登記模塊,所述授權碼產生模塊用於產生新授權碼。軟體商伺服器根據軟體商客戶端所提供的授權碼申請信息產生對應的新授權碼,新生成授權碼格式為XXXX-XXXX-XXXX,其中X為數字((T9)或大寫字母(A?Z,不含I和O),產生方式為隨機,且和之前產生過的授權碼不重複,所述授權碼信息登記模塊用於記錄每一授權碼對應的用戶信息並對該用戶信息進行維護操作,所述的用戶信息包括授權的軟體名稱、開通的權限、用戶編號、公司名稱、聯繫人、聯繫電話、備註欄等,所述的維護操作有新增、刪除、修改、複製、取消等動作。所有數據存儲於資料庫中,後期可用於用戶信息跟蹤維護、軟體使用狀況統計、後繼服務等;
用戶客戶端包括授權碼激活模塊和許可證驗證模塊,所述授權碼激活模塊用於生成激活信息包及其加密傳輸。用戶客戶端獲取需授權的軟體名稱、一隨機值R、已安裝的網卡的媒體接入控制地址、硬碟序列號、用戶輸入的授權碼,生成授權碼激活信息包。授權碼激活信息包的組成為:隨機值R-網卡的媒體接入控制地址-硬碟序列號-需授權的軟體名稱-授權碼。其後採用對稱加密算法對該信息包加密,並將加密後的信息包發送到用戶伺服器申請激活,所述許可證驗證模塊用於驗證許可證裡面的內容是否有效,以便確定相關軟體是否正常啟動。所述許可證驗證模塊分別讀取許可證文件和用戶客戶端本地硬體信息等內容進行比較,如果許可證文件不存在或者比較內容不一致,則提示該軟體無授權許可,該軟體無法正常啟動,需要針對該軟體申請授權碼並激活;
用戶伺服器包括授權碼驗證模塊和授權碼激活信息登記模塊,授權碼驗證模塊用於驗證用戶輸入的授權碼是否合法有效,合法將返回加密後的許可證數據。該模塊將用戶輸入的授權碼和資料庫裡面的合法授權碼進行比較,如果不存在或超過激活限定次數則提示錯誤;如何合法有效則生成許可證數據,並用非對稱加密算法對其加密,將加密後的數據返回給客戶端並提示激活成功,所述授權碼激活信息登記模塊用於記錄授權碼成功激活的相關信息,所述的激活相關信息包括激活次數、用戶客戶端本地硬體信息、激活時間、用戶客戶端IP位址等;
所有數據存儲於資料庫中,後期可用於激活信息跟蹤維護、軟體使用狀況統計、後繼服務等。
[0030]如圖1所示,是本發明軟體授權與保護裝置的硬體架構圖。一種基於非對稱加密算法的軟體授權與保護裝置,該裝置包括一軟體商客戶端10、多個用戶客戶端15、一軟體商伺服器12、一資料庫14和一用戶伺服器17,所述軟體商客戶端通過無線和/或有線網絡11與軟體商伺服器連接,所述軟體商伺服器通過第一區域網內部安全網絡13連接資料庫,所述用戶伺服器通過第二區域網內部安全網絡14連接資料庫,所述多個用戶客戶端通過網際網路16與用戶伺服器連接,軟體商客戶端10為軟體商提供一操作接口,用於動態顯示操作狀態,其可以為臺式機、膝上型電腦或筆記本電腦等,且安裝有網格及硬碟。軟體商客戶端10通過網絡11與軟體商伺服器12相連,網絡11是個軟體商企業內部的安全網絡,軟體商客戶端10用於授權碼申請,以及獲得新生成的授權碼。應用伺服器12用於生成授權碼、授權碼信息登記、返回新生成的授權碼等操作。其中新生成的授權碼,以及授權碼登記信息,包括需授權的軟體名稱、要開通的權限、用戶編號、公司名稱、聯繫人、聯繫電話、備註欄等信息,存儲於資料庫14中。資料庫14可對登記的授權碼信息進行維護,維護數據的操作有新增、刪除、修改、複製、取消。資料庫14通過連接13與軟體商伺服器相連。連接13為一資料庫連接,如開放式資料庫連接(Open Database Connectivity, ODBC),或Java資料庫連接(Java Database Connectivity, JDBC)等,連接13具有對授權碼及授權碼登記信息增刪改查的權限。用戶客戶端15為用戶提供一操作接口,用於動態顯示操作狀態,其可以為臺式機、膝上型電腦或筆記本電腦等,且安裝有網格及硬碟。用戶客戶端15通過網絡16與用戶伺服器17相連,網絡16是網際網路。用戶客戶端15用於激活合法授權碼,生成許可證文件,使授權軟體在用戶客戶端15本地可用,發送授權碼請求激活的同時會發送本地硬體信息,授權軟體通過驗證本地許可證是否有效確定軟體是否正常啟動。用戶伺服器17用於驗證用戶客戶端15發送過來的授權碼是否合法,如果合法則發送經過加密的許可證數據到用戶客戶端15,並記錄授權碼激活信息,內容包括該授權碼激活次數,用戶客戶端15本地硬體信息,激活時間,用戶客戶端15IP位址等,其存儲於資料庫14中。資料庫14通過連接18與用戶伺服器17相連。連接18為一資料庫連接,如開放式資料庫連接(Open DatabaseConnectivity, ODBC),或 Java 資料庫連接(Java Database Connectivity, JDBC)等,和連接13不同的是,連接18對授權碼及授權碼登記信息僅有讀取權限,無法修改和刪除。
[0031]如圖2所示,是本發明軟體授權與保護裝置的軟體商客戶端10主要軟體功能模塊圖。本發明的軟體商客戶端10主要包括授權碼申請模塊101。
[0032]授權碼申請模塊101用於申請授權碼,以及接收和顯示新生成的授權碼。軟體商客戶端10獲取需授權的軟體名稱、要開通的權限、用戶編號、公司名稱、聯繫人、聯繫電話、備註欄等信息,將這些授權碼申請信息發送給軟體商伺服器20。
[0033]如圖3所示,是本發明軟體授權與保護裝置的軟體商伺服器12主要軟體功能模塊圖。本發明的軟體商伺服器12主要包括授權碼產生模塊121、授權碼信息登記模塊122。
[0034]授權碼產生模塊121用於產生新授權碼。軟體商伺服器12根據軟體商客戶端10所提供的授權碼申請信息產生對應的新授權碼,新生成授權碼格式為xxxx-xxxx-xxxx,其中X為數字((T9)或大寫字母(A?Z,不含I和0),產生方式為隨機,且和之前產生過的授權碼不重複。
[0035]授權碼信息登記模塊122用於記錄每一授權碼對應的用戶信息並對該用戶信息進行維護操作,所述的用戶信息包括授權的軟體名稱、開通的權限、用戶編號、公司名稱、聯繫人、聯繫電話、備註欄等,所述的維護操作有新增、刪除、修改、複製、取消等動作。
[0036]如圖4所示,是本發明軟體授權與保護裝置的用戶客戶端15主要軟體功能模塊圖。本發明的用戶客戶端15主要包括授權碼激活模塊151、許可證驗證模塊152。
[0037]授權碼激活模塊151用於生成激活信息包及其加密傳輸。用戶客戶端15獲取需授權的軟體名稱、一隨機值R、已安裝的網卡的媒體接入控制地址、硬碟序列號、用戶輸入的授權碼,生成授權碼激活信息包。授權碼激活信息包的組成為:隨機值R-網卡的媒體接入控制地址-硬碟序列號-需授權的軟體名稱-授權碼。其後採用對稱加密算法對該信息包加密,並將加密後的信息包發送到用戶伺服器17申請激活。
[0038]許可證驗證模塊152用於驗證許可證裡面的內容是否有效,以便確定相關軟體是否正常啟動。該模塊分別讀取許可證文件和本地硬體信息等內容進行比較,如果許可證文件不存在或者比較內容不一致,則提示軟體無授權許可,無法正常啟動,需要申請授權碼並激活。
[0039]如圖5所示,是本發明軟體授權與保護裝置的用戶伺服器17主要軟體功能模塊圖。本發明的用戶伺服器17主要包括授權碼驗證模塊171,授權碼激活信息登記模塊172。
[0040]授權碼驗證模塊171用於驗證用戶輸入的授權碼是否合法有效,合法將返回加密後的許可證數據。該模塊將用戶輸入的授權碼和資料庫裡面的合法授權碼進行比較,如果沒有匹配的授權碼將提示該授權碼不存在;如果匹配但是激活次數超過限定次數將提示該授權碼激活次數過多;如果匹配且激活次數未超過限定次數將獲取一隨機值R,以及提取授權碼激活信息包的部分內容生成許可證數據,組成為:數據頭-隨機值R-網卡的媒體接入控制地址-硬碟序列號-授權軟體名稱-授權碼,並通過非對稱加密算法對其加密,然後返回給客戶端並提示激活成功。
[0041]授權碼激活信息登記模塊172用於記錄授權碼成功激活的相關信息,所述的激活相關信息包括激活次數、用戶客戶端本地硬體信息、激活時間、用戶客戶端IP位址等。
[0042]如圖6所示,是本發明軟體授權與保護方法的主作業流程。S1:軟體商客戶端的授權碼申請模塊獲取需授權的軟體名稱、需要開通的權限及用戶信息,生成授權碼申請信息並發送給軟體商伺服器;
S2:軟體商伺服器的授權碼產生模塊用於根據軟體商客戶端提供的授權碼申請信息產生對應的唯一授權碼,所述授權碼信息登記模塊用於記錄每一授權碼對應的用戶信息並對該用戶信息進行維護操作,並將該用戶信息存儲於資料庫中;
S3:用戶客戶端的授權碼激活模塊獲取需授權的軟體名稱、一隨機值R、已安裝的網卡的媒體接入控制地址、硬碟序列號、用戶輸入的授權碼,生成授權碼激活信息包,並對該信息包加密,並將加密後的信息包發送到用戶伺服器申請激活;如果激活成功,則在用戶客戶端本地生成一個許可證文件,該文件用於啟動需授權的軟體,否則提示錯誤,所述許可證驗證模塊用於驗證許可證裡面的內容是否有效,若有效,則需授權的軟體正常啟動,若無效,則需授權的軟體無法啟動,需要針對該需授權的軟體申請授權碼並激活;
S4:用戶伺服器的授權碼驗證模塊驗證用戶輸入的授權碼是否合法有效,若是則生成許可證數據,並用非對稱加密算法對其加密,將加密後的許可證數據返回給用戶客戶端並提示激活成功,否則提示錯誤,所述授權碼激活信息登記模塊用於記錄授權碼成功激活相關信息。
[0043]如圖7所示,是本發明軟體授權與保護方法的軟體商主作業流程。首先軟體商客戶端10啟動本程序(步驟S200),本程序是在安全可靠的軟體商內部網絡環境下運行且不可對外發布。軟體商客戶端10獲取需授權的軟體名稱、要開通的權限、用戶編號、公司名稱、聯繫人、聯繫電話、備註欄等信息,並加密(步驟S201);軟體商客戶端10將上述所獲取的信息發送到軟體商伺服器12(步驟S202);軟體商伺服器12對發送過來的授權碼申請信息進行解密,並根據申請信息生成新授權碼(步驟S203);軟體商伺服器12將授權碼信息進行登記並存儲於資料庫14中(步驟S204);軟體商客戶端10獲得返回的新生成授權碼(步驟 S205)。
[0044]如圖8所示,是本發明軟體授權與保護方法的授權碼生成作業流程。本流程於軟體商伺服器12執行。首先獲取約定好的對稱加密算法密鑰(步驟S300);用該密鑰對授權碼申請信息解密(步驟S301);判斷解密後的文件頭是否合法(步驟S302),若不合法則提示錯誤(步驟S307);若合法則根據授權碼申請信息裡面的需授權軟體信息,找到對應的資料庫表格,獲取已存在的授權碼列表(步驟S303);根據規則隨機生成一個授權碼,格式為XXXX-XXXX-XXXX,其中X為數字((T9)或大寫字母(£1,不含I和O)(步驟S304);判斷生成的授權碼是否與已存在的授權碼重複(步驟S305),若重複則回到上一步(步驟S304),再根據規則隨機生成一個授權碼;若與已存在的授權碼不重複,該授權碼作為新生成的授權碼輸出(步驟S306)。
[0045]如圖9所示,是本發明軟體授權與保護方法的用戶主作業流程。首先用戶客戶端15啟動本程序(步驟S400)。用戶客戶端15獲取用戶輸入的授權碼、一隨機值R和本地的硬體信息,生成授權碼激活信息包並加密(步驟S401);用戶客戶端15將授權碼激活信息包發送到用戶伺服器17 (步驟S402);用戶伺服器17對發送過來的授權碼激活信息包進行解密,並驗證激活信息中的授權碼是否合法有效(步驟S403);用戶伺服器17將授權碼激活信息進行登記並存儲於資料庫14中(步驟S404);用戶伺服器17獲取一隨機值R,以及提取授權碼激活信息包的部分內容生成許可證數據,並通過非對稱加密算法加密(步驟S405);用戶伺服器17將加密後的許可證數據發送到用戶客戶端15(步驟S406);用戶客戶端15根據發送過來的加密後的許可證數據生成許可證文件,保存在本地(步驟S407);用戶客戶端15對許可證文件進行驗證以決定用戶是否有權限正常啟動要授權軟體(步驟S408)。
[0046]如圖10所示,是本發明軟體授權與保護方法的授權碼激活包生成作業流程。本流程於用戶客戶端15執行。首先用戶客戶端15獲取一隨機值R(步驟S500);用戶客戶端15讀取網卡的媒體接入控制地址(步驟S501),並判斷該網卡的媒體接入控制地址是否為空(步驟S502),若網卡的媒體接入控制地址為空則提示錯誤,無法激活(步驟S509);若網卡的媒體接入控制地址不為空則讀取硬碟序列號(步驟S503)。判斷硬碟的序列號是否為空(步驟S504),若此硬碟的序列號為空則提示錯誤,無法激活(步驟S509);若此硬碟的序列號不為空則讀取需授權的軟體名稱(步驟S505),讀取用戶輸入的授權碼(步驟S506)。生成激活信息包,其組成為:隨機值R-網卡的媒體接入控制地址-硬碟序列號-需授權的軟體名稱-授權碼(步驟S507)。用戶客戶端15獲取約定好的對稱加密算法密鑰,並用該密鑰對授權碼激活信息包加密(步驟S508)。
[0047]如圖11所示,是本發明軟體授權與保護方法的許可證數據生成作業流程。本流程於用戶伺服器17執行。首先用戶伺服器17獲取一隨機值R(步驟S600);用戶伺服器17讀取授權碼激活信息包的網卡媒體接入控制地址(步驟S601),並判斷網卡媒體接入控制地址是否為空(步驟S602),若網卡媒體接入控制地址為空則提示錯誤,無法激活(步驟S610);若網卡媒體接入控制地址不為空則讀取授權碼激活信息包裡面的硬碟序列號(步驟S603)。判斷硬碟序列號是否為空(步驟S604),若硬碟序列號為空則提示錯誤,無法激活(步驟S610);若硬碟序列號不為空則讀取授權碼激活信息包裡面的需授權軟體名稱(步驟S605),讀取用戶輸入的授權碼(步驟S606)。加上數據頭生成許可證數據,其組成為:數據頭-隨機值R-網卡的媒體接入控制地址-硬碟序列號-授權軟體名稱-授權碼(步驟S607)。用戶伺服器17獲取約定好的非對稱加密算法私鑰(步驟S608),並用該私鑰對許可證數據加密(步驟S609),若且唯若該私鑰對應的公鑰才能將此許可證數據密文解密。
[0048]如圖12所示,是本發明軟體授權與保護方法的許可證驗證作業流程。本流程於用戶客戶端15執行。首先用戶客戶端15判斷許可證文件是否存在(步驟S700),若不存在則提示錯誤,軟體未授權(步驟S711);若存在則獲取約定好的非對稱加密算法公鑰(步驟S701),用公鑰對許可證內容解密(步驟S702)。判斷解密後的數據頭是否合法(步驟S703),若不合法則提示錯誤,軟體未授權(步驟S711);若數據頭合法則說明獲得了解密後的許可證數據,讀取用戶客戶端15的網卡媒體接入控制地址(步驟S704),並判斷該網卡的媒體接入控制地址是否許可證內容一致(步驟S705),若不一致則提示錯誤,軟體未授權(步驟S711);若網卡媒體接入控制地址一致則讀取用戶客戶端15的硬碟序列號(步驟S706)。判斷硬碟序列號是否與許可證內容一致(步驟S707),若不一致則提示錯誤,軟體未授權(步驟S711);若硬碟序列號一致則讀取本軟體名稱(步驟S708)。判斷軟體名稱是否與許可證裡面授權軟體名稱一致(步驟S709),若不一致則提示錯誤,軟體未授權(步驟S711);若軟體名稱一致則表示該軟體已授權,正常啟動軟體(步驟S710)。
[0049]儘管結合優選實施方案具體展示和介紹了本發明,但所屬領域的技術人員應該明白,在不脫離所附權利要求書所限定的本發明的精神和範圍內,在形式上和細節上可以對本發明做出各種變化,均為本發明的保護範圍。
【權利要求】
1.一種基於非對稱加密算法的軟體授權與保護裝置,其特徵在於:一種基於非對稱加密算法的軟體授權與保護裝置,該裝置包括一軟體商客戶端、多個用戶客戶端、一軟體商伺服器、一資料庫和一用戶伺服器,所述軟體商客戶端通過無線和/或有線網絡與軟體商伺服器連接,所述軟體商伺服器通過第一區域網內部安全網絡連接資料庫,所述用戶伺服器通過第二區域網內部安全網絡連接資料庫,所述多個用戶客戶端通過網際網路與用戶伺服器連接; 軟體商客戶端包括授權碼申請模塊,所述授權碼申請模塊用於獲取需授權的軟體名稱、需要開通的權限及用戶信息,生成授權碼申請信息並發送給軟體商伺服器,接收軟體商伺服器發送過來的授權碼並進行顯示; 軟體商伺服器包括授權碼產生模塊和授權碼信息登記模塊,所述授權碼產生模塊用於根據軟體商客戶端提供的授權碼申請信息產生對應的唯一授權碼,所述授權碼信息登記模塊用於記錄每一授權碼對應的用戶信息並對該用戶信息進行維護操作,並將該用戶信息存儲於資料庫中; 用戶客戶端包括授權碼激活模塊和許可證驗證模塊,所述授權碼激活模塊獲取需授權的軟體名稱、一隨機值R、已安裝的網卡的媒體接入控制地址、硬碟序列號、用戶輸入的授權碼,生成授權碼激活信息包,並對該信息包加密,並將加密後的信息包發送到用戶伺服器申請激活;如果激活成功,則在用戶客戶端本地生成一個許可證文件,該文件用於啟動需授權的軟體,否則提示錯誤,所述許可證驗證模塊用於驗證許可證裡面的內容是否有效,若有效,則需授權的軟體正常啟動,若無效,則需授權的軟體無法啟動,需要針對該需授權的軟體申請授權碼並激活; 用戶伺服器包括授權碼驗證模塊和授權碼激活信息登記模塊,所述授權碼驗證模塊用於驗證用戶輸入的授權碼是否合法有效,若是則生成許可證數據,並用非對稱加密算法對其加密,將加密後的許可證數據返回給用戶客戶端並提示激活成功,否則提示錯誤,所述授權碼激活信息登記模塊用於記錄授權碼成功激活相關信息。
2.根據權利要求1所述的一種基於非對稱加密算法的軟體授權與保護裝置,其特徵在於:所述授權碼格式為XXXX-XXXX-XXXX,其中X為數字((T9)或大寫字母,產生方式為隨機,且和之前產生過的授權碼不重複。
3.根據權利要求1所述的一種基於非對稱加密算法的軟體授權與保護裝置,其特徵在於:所述用戶信息包括授權的軟體名稱、開通的權限、用戶編號、公司名稱、聯繫人、聯繫電話、備註欄等,所述的維護操作有新增、刪除、修改、複製、取消動作。
4.根據權利要求1所述的一種基於非對稱加密算法的軟體授權與保護裝置,其特徵在於:所述授權碼激活信息包的組成為:隨機值R-網卡的媒體接入控制地址-硬碟序列號-需授權的軟體名稱-授權碼。
5.根據權利要求1所述的一種基於非對稱加密算法的軟體授權與保護裝置,其特徵在於:所述的激活相關信息包括激活次數、用戶客戶端計算機本地硬體信息、激活時間和用戶客戶端計算機IP位址。
6.本發明還提供一個軟體授權與保護方法,該軟體授權與保護方法包括如下步驟: S1:軟體商客戶端的授權碼申請模塊獲取需授權的軟體名稱、需要開通的權限及用戶信息,生成授權碼申請信息並發送給軟體商伺服器; 52:軟體商伺服器的授權碼產生模塊用於根據軟體商客戶端提供的授權碼申請信息產生對應的唯一授權碼,所述授權碼信息登記模塊用於記錄每一授權碼對應的用戶信息並對該用戶信息進行維護操作,並將該用戶信息存儲於資料庫中; 53:用戶客戶端的授權碼激活模塊獲取需授權的軟體名稱、一隨機值R、已安裝的網卡的媒體接入控制地址、硬碟序列號、用戶輸入的授權碼,生成授權碼激活信息包,並對該信息包加密,並將加密後的信息包發送到用戶伺服器申請激活;如果激活成功,則在用戶客戶端本地生成一個許可證文件,該文件用於啟動需授權的軟體,否則提示錯誤,所述許可證驗證模塊用於驗證許可證裡面的內容是否有效,若有效,則需授權的軟體正常啟動,若無效,則需授權的軟體無法啟動,需要針對該需授權的軟體申請授權碼並激活,S4:用戶伺服器的授權碼驗證模塊驗證用戶輸入的授權碼是否合法有效,若是則生成許可證數據,並用非對稱加密算法對其加密,將加密後的許可證數據返回給用戶客戶端並提示激活成功,否則提示錯誤,所述授權碼激活信息登記模塊用於記錄授權碼成功激活相關信息。
7.根據權利要求6所述的軟體授權與保護方法,其特徵在於:所述S2具體包括以下步驟: 在用戶客戶端啟動授權碼激活程序;獲取需授權軟體的名稱、獲取用戶輸入的授權碼及隨機值R ;根據硬體信息及上述獲取的信息產生授權碼激活信息包並加密;將授權碼傳送至用戶伺服器,用戶伺服器驗證授權碼是否合法有效;授權碼合法有效則根據授權碼激活信息包內容生成許可證數據並加密,並將授權碼激活信息進行登記並存儲於一資料庫中;用戶伺服器將加密後的許可證數據發送到用戶客戶端,用戶客戶端生成許可證文件;用戶客戶端對許可證文件進行驗證以決定是否對用戶授權。
8.根據權利要求6所述的軟體授權與保護方法,其特徵在於:所述S2具體包括以下步驟: 用戶客戶端授權碼驗證模塊獲取硬碟序列號等本地硬體信息,連同用戶輸入的授權碼一併發送到服務端驗證,授權碼驗證服務端接收到該請求後先驗證該授權碼是否合格,如果該授權碼不合格返回驗證失敗,客戶端提示錯誤信息,如果合格且使用次數未超過限定次數,將該請求中的硬體信息等通過已經約定好的非對稱加密算法中的私鑰加密,打成一個加密數據包返回,客戶端授權碼驗證模塊接收到加密數據包後將數據包生成一個許可證文件,作為後續軟體運行驗證用的許可文件。
【文檔編號】G06F21/62GK104361267SQ201410659328
【公開日】2015年2月18日 申請日期:2014年11月19日 優先權日:2014年11月19日
【發明者】李志龍 申請人:廈門海邁科技股份有限公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀