亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種Web系統(tǒng)許可證驗證機制的制作方法

文檔序號:7804638閱讀:323來源:國知局
一種Web系統(tǒng)許可證驗證機制的制作方法
【專利摘要】本發(fā)明涉及軟件許可證【技術領域】,特別是指一種Web系統(tǒng)許可證驗證機制。本發(fā)明首先識別請求URL;然后以URL為標識,寫到許可證文件中;然后加密成密文并保存在Web系統(tǒng)中;Web系統(tǒng)初始化時把密文解密并輸出到內存,然后通過許可證中的功能的URL建立一個多叉樹;Web系統(tǒng)接收到對特定功能的請求,把請求的URL作為查找值在多叉樹中進行匹配查找,如果查找到對應的URL,說明功能已被授權,請求進行下一步的處理,一直到最后返回響應;否則,對請求進行攔截,立即返回功能請求未被授權的響應。本發(fā)明提供了一種基于多叉樹查找的Web系統(tǒng)許可證驗證機制,適用于功能多并且需要對功能進行細粒度的授權許可的Web系統(tǒng)。
【專利說明】—種Web系統(tǒng)許可證驗證機制
【技術領域】
[0001]本發(fā)明涉及軟件許可證【技術領域】,特別是指一種上eb系統(tǒng)許可證驗證機制。
【背景技術】
[0002]在用戶購買軟件以后,軟件系統(tǒng)一般通過許可證驗證的方式來限制用戶可以使用的功能,一般的軟件許可證的驗證機制是這樣的:
[0003]1、用戶提供給軟件廠商一些信息,如購買的版本信息,許可證有效期等;
[0004]2、廠商為用戶生成一個許可證,用戶把許可證打開,然后把信息輸入到軟件中進行驗證;
[0005]3、在軟件運行過程中,軟件獲取到許可證中的軟件版本的信息,如商業(yè)版,然后對該版本的一個功能組合進行授權,在使用功能組合以外的功能時進行攔截。
[0006]這種方法會有如下的問題:
[0007]1、廠商返回的許可證文件中包含明文的信息,這部分信息容易泄露;
[0008]2、具體版 本的功能組合信息包含在軟件當中,只要對這部分信息進行修改,用戶就可以使用版本授權功能以外的功能;
[0009]3、軟件授權的靈活性低,可以控制的粒度不夠小。

【發(fā)明內容】

[0010]本發(fā)明解決的技術問題在于提供一種上eb系統(tǒng)許可證驗證機制,解決傳統(tǒng)Web系統(tǒng)許可證驗證機制安全性低,授權粒度過大等問題。
[0011]本發(fā)明解決上述技術問題的技術方案是:
[0012]具體包括如下步驟:
[0013]步驟1:識別每一個功能對應的請求URL ;
[0014]步驟2:以功能的URL為標識,把這個標識寫到許可證文件中;
[0015]步驟3:通過非對稱加密算法將許可證文件加密成密文并保存在上eb系統(tǒng)中;
[0016]步驟4:上eb系統(tǒng)初始化時通過對應的非對稱解密算法將密文解密并輸出到內存;
[0017]步驟5:通過許可證中授權功能的URL建立一個多叉樹;
[0018]步驟6:上eb系統(tǒng)接收到對特定功能的請求,將請求的URL作為查找值在多叉樹中進行匹配查找;如果查找到對應的URL,說明功能已被授權,請求進行下一步的處理,一直到最后返回響應;否則,對請求進行攔截,立即返回功能請求未被授權的響應。
[0019]所述的請求URL是訪問上eb系統(tǒng)某個頁面或調用上eb系統(tǒng)某個接口對應的唯一標識符;請求URL是多級的結構,級之間以分號隔開,形如http: //XX.XX.xx/a/b/c,其中http://xx.xx.xx的部分不需要放入許可證文件中,/a/b/c部分是一個類似于文件路徑的結構,如a和b都是限定某個頁面或調用Web系統(tǒng)某個接口的類別。
[0020]所述的非對稱加密算法加密和解密是指使用公鑰文件對許可證文件進行加密,使用私鑰文件對許可證文件進行解密,能防止許可證文件被偽造,也能防止由于兩個密鑰中的任何一個的丟失導致的整個許可證驗證機制的失效。
[0021 ] 所述的把密文解密并輸出到內存是指密文的許可證文件解密成明文以后,并不保存到文件中,而是保存成內存中的一個對象,防止被竊取。
[0022]所述的通過許可證中的授權功能的URL建立一個多叉樹步驟如下:
[0023]步驟1:將許可證中各個功能的URL按照分號“/”分割成不同級的標識符;
[0024]步驟2:首先有一個多叉樹的根節(jié)點“/”,按級別把標識符作為樹節(jié)點插入到多叉樹中;
[0025]步驟3:插入時如果同一個根節(jié)點下已經(jīng)有相同的節(jié)點時,那么不重新插入,如此循環(huán),直到所有的URL處理完為止;處理完以后,建立多叉樹。
[0026]所述的將請求的URL作為查找值在多叉樹中進行匹配查找的步驟如下:
[0027]步驟1:將請求的URL按照分號“/”分割成不同級的標識符;
[0028]步驟2:在 多叉樹的二層節(jié)點中查找請求URL的一級標識符,如果找不到,那么說明請求的URL未被授權;如果能找到,繼續(xù)在多叉樹的三層節(jié)點中查找請求URL的二級標識符,如果找不到,那么說明請求的URL未被授權;如果能找到,繼續(xù)在多叉樹的四層節(jié)點中查找請求URL的三級標識符,如此一直往下,如果最后一級的標識符都能被找到,那么說明請求的URL已經(jīng)被授權,對應的功能也被授權。
[0029]本發(fā)明方案的有益效果如下:
[0030]1、本發(fā)明的方法的許可證以密文的形式保存,并且在解密以后不容易被竊取,具有較高的安全性。
[0031]2、本發(fā)明的方法能進行細粒度的授權,對功能比較多的大型Web系統(tǒng)的授權驗證比較適用。
[0032]3、本發(fā)明的方法根據(jù)Web系統(tǒng)的特點對比較功能集建立多叉樹模型,能顯著提高功能授權的驗證效率,優(yōu)于一般逐個比較機制算法復雜度的0(n),本發(fā)明采用的多叉樹查找的算法復雜度與二叉樹的查找算法復雜度O(log2n)相近。
【專利附圖】

【附圖說明】
[0033]下面結合附圖對本發(fā)明進一步說明:
[0034]附圖1是本發(fā)明的流程圖;
[0035]附圖2是本發(fā)明采用的多叉樹的示例圖。
【具體實施方式】
[0036]如圖所示,非對稱加密算法有多種,這里采用RSA算法。
[0037]首先把id/path的鍵值對寫入到License, properties文件中,比如:
[0038]Product, name = Gcloud
[0039]Product, version = 6.2
[0040]License, type = Commercial
[0041]License, expiry = 2014-06-06
[0042]Server, macaddress = 00-1B-77-2C-9D-8F[0043]License.vmMaxNum = 200
[0044]#功能請求URL
[0045]111 = /vm/renamelnstance
[0046]112 = / vm/ delete Instance
[0047]KeyRSA keyRsa = new KeyRSA ();
[0048]String password = keyRsa.Decoder (new String (fileUtil.readFile (keyPath+VAES.dat〃)));
[0049]// 加密
[0050]System, out.println("加密前:"+content);
[0051]byte [] encryptResult = key.encrypt (content, password);
[0052]String enStr = new String (encryptResult);
[0053]System, out.println("加密后:"+enStr);
[0054]這里用Java實現(xiàn)多叉樹
[0055]//樹節(jié)點
[0056]
【權利要求】
1.一種Web系統(tǒng)許可證驗證機制,其特征在于:具體包括如下步驟: 步驟1:識別每一個功能對應的請求URL ; 步驟2:以功能的URL為標識,把這個標識寫到許可證文件中; 步驟3:通過非對稱加密算法將許可證文件加密成密文并保存在Web系統(tǒng)中; 步驟4 =Web系統(tǒng)初始化時通過對應的非對稱解密算法將密文解密并輸出到內存; 步驟5:通過許可證中授權功能的URL建立一個多叉樹; 步驟6 =Web系統(tǒng)接收到對特定功能的請求,將請求的URL作為查找值在多叉樹中進行匹配查找;如果查找到對應的URL,說明功能已被授權,請求進行下一步的處理,一直到最后返回響應;否則,對請求進行攔截,立即返回功能請求未被授權的響應。
2.根據(jù)權利要求1所述的Web系統(tǒng)許可證驗證機制,其特征在于:所述的請求URL是訪問Web系統(tǒng)某個頁面或調用Web系統(tǒng)某個接口對應的唯一標識符;請求URL采用多級的結構,級之間以分號隔開。
3.根據(jù)權利要求1所述的Web系統(tǒng)許可證驗證機制,其特征在于:所述的非對稱加密算法加密和解密是指使用公鑰文件對許可證文件進行加密,使用私鑰文件對許可證文件進行解密。
4.根據(jù)權利要求2所述的Web系統(tǒng)許可證驗證機制,其特征在于:所述的非對稱加密算法加密和解密是指使用公鑰文件對許可證文件進行加密,使用私鑰文件對許可證文件進行解密。
5.根據(jù)權利要求1至4任一項所述的Web系統(tǒng)許可證驗證機制,其特征在于:所述的把密文解密并輸出到內存是指密文的許可證文件解密成明文以后,保存成內存中的一個對象。
6.根據(jù)權利要求1至4任一項所述的Web系統(tǒng)許可證驗證機制,其特征在于:所述的通過許可證中的授權功能的URL建立一個多叉樹步驟如下: 步驟1:將許可證中各個功能的URL按照分號“/”分割成不同級的標識符; 步驟2:首先有一個多叉樹的根節(jié)點“/”,按級別把標識符作為樹節(jié)點插入到多叉樹中; 步驟3:插入時如果同一個根節(jié)點下已經(jīng)有相同的節(jié)點時,那么不重新插入,如此循環(huán),直到所有的URL處理完為止;處理完以后,建立多叉樹。
7.根據(jù)權利要求5所述的Web系統(tǒng)許可證驗證機制,其特征在于:所述的通過許可證中的授權功能的URL建立一個多叉樹步驟如下: 步驟1:將許可證中各個功能的URL按照分號“/”分割成不同級的標識符; 步驟2:首先有一個多叉樹的根節(jié)點“/”,按級別把標識符作為樹節(jié)點插入到多叉樹中; 步驟3:插入時如果同一個根節(jié)點下已經(jīng)有相同的節(jié)點時,那么不重新插入,如此循環(huán),直到所有的URL處理完為止;處理完以后,建立多叉樹。
8.根據(jù)權利要求1至4任一項所述的Web系統(tǒng)許可證驗證機制,其特征在于:所述的將請求的URL作為查找值在多叉樹中進行匹配查找的步驟如下: 步驟1:將請求的URL按照分號“/”分割成不同級的標識符; 步驟2:在多叉樹的二層節(jié)點中查找請求URL的一級標識符,如果找不到,那么說明請求的URL未被授權;如果能找到,繼續(xù)在多叉樹的三層節(jié)點中查找請求URL的二級標識符,如果找不到,那么說明請求的URL未被授權;如果能找到,繼續(xù)在多叉樹的四層節(jié)點中查找請求URL的三級標識符,如此一直往下,如果最后一級的標識符都能被找到,那么說明請求的URL已經(jīng)被授權,對應的功能也被授權。
9.根據(jù)權利要求5所述的Web系統(tǒng)許可證驗證機制,其特征在于:所述的將請求的URL作為查找值在多叉樹中進行匹配查找的步驟如下: 步驟1:將請求的URL按照分號“/”分割成不同級的標識符; 步驟2:在多叉樹的二層節(jié)點中查找請求URL的一級標識符,如果找不到,那么說明請求的URL未被授權;如果能找到,繼續(xù)在多叉樹的三層節(jié)點中查找請求URL的二級標識符,如果找不到,那么說明請求的URL未被授權;如果能找到,繼續(xù)在多叉樹的四層節(jié)點中查找請求URL的三級標識符,如此一直往下,如果最后一級的標識符都能被找到,那么說明請求的URL已經(jīng)被授權,對應的功能也被授權。
10.根據(jù)權利要求6所述的Web系統(tǒng)許可證驗證機制,其特征在于:所述的將請求的URL作為查找值在多叉樹中進行匹配查找的步驟如下: 步驟1:將請求的URL按照分號“/”分割成不同級的標識符; 步驟2:在多叉樹的二層節(jié)點中查找請求URL的一級標識符,如果找不到,那么說明請求的URL未被授權;如果能找到,繼續(xù)在多叉樹的三層節(jié)點中查找請求URL的二級標識符,如果找不到,那么說明請求的URL未被授權;如果能找到,繼續(xù)在多叉樹的四層節(jié)點中查找請求URL的三級標識符,如此一直往下,如果最后一級的標識符都能被找到,那么說明請求的URL已經(jīng)被授權,對 應的功能也被授權。
【文檔編號】H04L29/06GK104023009SQ201410226500
【公開日】2014年9月3日 申請日期:2014年5月26日 優(yōu)先權日:2014年5月26日
【發(fā)明者】莫展鵬, 楊松, 季統(tǒng)凱 申請人:國云科技股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1