專利名稱:基于Jar文件的授權(quán)方法及應(yīng)用服務(wù)器的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計算機(jī)技術(shù)領(lǐng)域,具體是基于Jar (Java Archive,可以撰寫跨平臺應(yīng)用軟件的面向?qū)ο蟮某绦蛟O(shè)計語言的歸檔文件)文件的授權(quán)方法及應(yīng)用服務(wù)器。
背景技術(shù):
在軟件產(chǎn)品發(fā)布及應(yīng)用中,為保護(hù)公司合法利益,常需要對軟件產(chǎn)品進(jìn)行加密及授權(quán),然而,當(dāng)軟件企業(yè)不斷擴(kuò)大,分公司、事業(yè)部等形式的產(chǎn)生,導(dǎo)致了下屬公司需要獨立對自行開發(fā)的部分模塊獨立授權(quán)的情況出現(xiàn)。另外、隨著公司業(yè)務(wù)的擴(kuò)大,所涉及行業(yè)的增多,往往需要不同的權(quán)限管理人員來管理不同的模塊。以往的解決方案為向總公司申請統(tǒng)一的權(quán)限加密控制,并且加密方式相同在如上需求情況下是不合理的,主要不足如下(I)無法保證各公司授權(quán)的獨立性。向總公司申請權(quán)限授權(quán)控制,下屬公司失去了獨立授權(quán)的能力,授權(quán)能力依然掌握在總公司手中。(2)授權(quán)方式的安全性不足。由于加密方式與總公司加密方式相同,則導(dǎo)致總公司授權(quán)機(jī)制泄密的情況下,下屬公司授權(quán)機(jī)制同樣會泄露。(3)無法保證各業(yè)務(wù)模塊間授權(quán)的獨立性,授權(quán)權(quán)限管理難度大。由于總部授權(quán)方式的唯一性,授予某一模塊權(quán)限的方式與授予其他模塊授權(quán)的方式完全相同,導(dǎo)致管理某一模塊授權(quán)權(quán)利的管理人員有權(quán)利對不屬于其管理的模塊進(jìn)行授權(quán)。這在管理上存在著一定的缺失。
發(fā)明內(nèi)容
本發(fā)明的主要目的是提供一種通過對不同模塊進(jìn)行獨立授權(quán)的基于Jar文件的授權(quán)方法及應(yīng)用服務(wù)器,以保證授權(quán)的獨立性和安全性。本發(fā)明解決其技術(shù)問題所采用的技術(shù)方案是一種基于Jar文件的授權(quán)方法,其包括通過非對稱加密算法得到需要進(jìn)行授權(quán)權(quán)限控制的模塊所需要的加密密鑰和解密密鑰;在模塊所在Jar文件中添加模塊的信息標(biāo)識符;使用加密密鑰將需要加密的信息加密成密文發(fā)送給被授權(quán)方;當(dāng)授權(quán)方打開該模塊的某一功能時,使用該模塊對應(yīng)的解密密鑰驗證密文,并根據(jù)驗證結(jié)果確定某一功能是否被授權(quán)。優(yōu)選地,使用該模塊對應(yīng)的解密密鑰驗證密文,并根據(jù)驗證結(jié)果確定某一功能是否被授權(quán);具體包括從模塊所在的Jar文件中讀取出該模塊的信息標(biāo)識符;根據(jù)信息標(biāo)識符獲取該模塊對應(yīng)的解密密鑰;使用解密密鑰解析密文,并根據(jù)解析結(jié)果得到某一功能的驗證信息;根據(jù)驗證信息確定某一功能是否被授權(quán)。
優(yōu)選地,信息標(biāo)識符為是否加密的標(biāo)識符。優(yōu)選地,在模塊所在Jar文件中添加模塊的信息標(biāo)識符,之后,進(jìn)一步包括將模塊及對應(yīng)的解密密鑰存放在應(yīng)用服務(wù)器的固定存儲介質(zhì)上。優(yōu)選地,使用加密密鑰將需要加密的信息加密成密文發(fā)送給被授權(quán)方,之后,進(jìn)一步包括接受被授權(quán)方導(dǎo)入的密文,并將密文存放在應(yīng)用服務(wù)器的固定存儲介質(zhì)上。本發(fā)明還提供一種應(yīng)用服務(wù)器,其包括密鑰生成單元,用于通過非對稱加密算法得到需要進(jìn)行授權(quán)權(quán)限控制的模塊所需要的加密密鑰和解密密鑰; 模塊信息處理單元,用于在模塊所在Jar文件中添加模塊的信息標(biāo)識符;密文發(fā)送單元,用于使用加密密鑰將需要加密的信息加密成密文發(fā)送給被授權(quán)方;授權(quán)解密單元,用于當(dāng)授權(quán)方打開該模塊的某一功能時,使用該模塊對應(yīng)的解密密鑰驗證密文,并根據(jù)驗證結(jié)果確定某一功能是否被授權(quán)。優(yōu)選地,授權(quán)解密單元,還包括信息讀取子單元,用于從模塊所在的Jar文件中讀取出該模塊的信息標(biāo)識符;信息對應(yīng)子單元,用于根據(jù)信息標(biāo)識符獲取該模塊對應(yīng)的解密密鑰;驗證信息子單元,用于使用解密密鑰解析密文,并根據(jù)解析結(jié)果得到某一功能的驗證信息;授權(quán)確定子單元,用于根據(jù)驗證信息確定某一功能是否被授權(quán)。優(yōu)選地,信息標(biāo)識符為是否加密的標(biāo)識符。優(yōu)選地,的應(yīng)用服務(wù)器還包括存儲單元,用于將模塊及對應(yīng)的解密密鑰存放在應(yīng)用服務(wù)器的固定存儲介質(zhì)上。優(yōu)選地,存儲單元,還用于接受被授權(quán)方導(dǎo)入的密文,并將密文存放在應(yīng)用服務(wù)器的固定存儲介質(zhì)上。實施本發(fā)明的技術(shù)方案,具有以下有益效果;本發(fā)明提供的基于Jar文件的授權(quán)方法,因為每個模塊都可以制作成獨立的Jar文件,保證了各個模塊之間的獨立性,使各個模塊之間互不沖突。由于驗證信息(如須校驗的功能界面名、有效期限等信息)以密文形式保存用以防止使用方以非法途徑自行生成校驗信息內(nèi)容;采用非對稱密鑰加密信息方式處理每個模塊的授權(quán)方生成獨立的密鑰對,授權(quán)方保留加密密鑰,驗證端保留解密密鑰,保證了授權(quán)的獨立性和安全性。
圖I為本發(fā)明實施例提供的方法流程圖;圖2為圖I中的步驟S140的具體流程圖;圖3為本發(fā)明實施例提供的應(yīng)用服務(wù)器的結(jié)構(gòu)示意圖;圖4為圖3的授權(quán)解密單元的結(jié)構(gòu)示意圖;圖5為本發(fā)明實施例提供的另一應(yīng)用服務(wù)器的結(jié)構(gòu)示意圖。本發(fā)明目的的實現(xiàn)、功能特點及優(yōu)點將結(jié)合實施例,參照附圖做進(jìn)一步說明。
具體實施例方式為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點更加清楚明白,以下結(jié)合附圖及實施例,對本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。本發(fā)明實施例提供一種基于Jar文件的授權(quán)方法,如圖I所示,該方法包括步驟S110、應(yīng)用服務(wù)器通過非對稱加密算法得到需要進(jìn)行授權(quán)權(quán)限控制的模塊所需要的加密密鑰和解密密鑰;在本步驟中,應(yīng)用服務(wù)器生成該模塊的密鑰對,該密鑰對包括加密密鑰和相對應(yīng)的解密密鑰。該模塊是需要進(jìn)行授權(quán)以及進(jìn)行權(quán)限控制的模塊。通過生成該密鑰對后,該模塊具有了解密密鑰和加密密鑰,而該解密密鑰和加密密鑰則對應(yīng)該模塊的信息。該模塊的信息包括該模塊的名稱、屬性等基本信息。
S120、應(yīng)用服務(wù)器在模塊所在Jar文件中添加模塊的信息標(biāo)識符;在本實施例中,信息標(biāo)識符為是否加密的標(biāo)識符。以便于在后續(xù)過程中通過該模塊是否具有加密標(biāo)識符來進(jìn)行解密或者不用解密處理。在其他的實施例中,進(jìn)一步的,本步驟S120之后,還包括將模塊及對應(yīng)的解密密鑰存放在應(yīng)用服務(wù)器的固定存儲介質(zhì)上。該固定存儲介質(zhì)包括數(shù)據(jù)庫、服務(wù)器端磁盤等。S130、應(yīng)用服務(wù)器使用加密密鑰將需要加密的信息加密成密文發(fā)送給被授權(quán)方;使用上述加密密鑰和驗證信息,將需加密的信息(該信息包括某一功能的功能界面名、使用期限等)加密成密文,發(fā)送給被授權(quán)方。該密文帶有驗證信息。在進(jìn)一步的實施例中,在該步驟S130之后,還包括接受被授權(quán)方導(dǎo)入的密文,并將密文存放在應(yīng)用服務(wù)器的固定存儲介質(zhì)上。即被授權(quán)方將密文導(dǎo)入該應(yīng)用服務(wù)器的系統(tǒng)內(nèi),將該密文存儲于應(yīng)用服務(wù)器的固定存儲介質(zhì)上(如數(shù)據(jù)庫、服務(wù)器端磁盤等)。優(yōu)選地,通過數(shù)據(jù)庫進(jìn)行存儲,可以提高驗證信息讀取效率以及規(guī)避多服務(wù)器集群情況下驗證信息讀取困難現(xiàn)象。S140、應(yīng)用服務(wù)器當(dāng)授權(quán)方打開該模塊的某一功能時,使用該模塊對應(yīng)的解密密鑰驗證密文,并根據(jù)驗證結(jié)果確定某一功能是否被授權(quán)。在其他的實施例中,更為具體的,如圖2所示,該步驟S140具體包括S141、從模塊所在的Jar文件中讀取出該模塊的信息標(biāo)識符;S142、根據(jù)信息標(biāo)識符獲取該模塊對應(yīng)的解密密鑰;本步驟S142中,從應(yīng)用服務(wù)器的固定存儲介質(zhì)上讀取該解密密鑰。S143、使用解密密鑰解析密文,并根據(jù)解析結(jié)果得到某一功能的驗證信息;在本步驟S143中,如果通過該解密密鑰解析該密文,正確,則再解析出該密文的驗證信息。S144、根據(jù)驗證信息確定某一功能是否被授權(quán)。分析上述步驟S143得到的驗證信息便可得出該某一功能是否被授權(quán),如果授權(quán)則可以正常使用,如果沒有授權(quán)或者授權(quán)過期,則提示被授權(quán)方。通過本發(fā)明實施例提供的方法,因為每個模塊都可以制作成獨立的Jar文件,保證了各個模塊之間的獨立性,使各個模塊之間互不沖突。由于驗證信息(如須校驗的功能界面名、有效期限等信息)以密文形式保存用以防止使用方以非法途徑自行生成校驗信息內(nèi)容;采用非對稱密鑰加密信息方式處理每個模塊的授權(quán)方生成獨立的密鑰對,授權(quán)方保留加密密鑰,驗證端保留解密密鑰,保證了授權(quán)的獨立性和安全性。本發(fā)明實施例還提供一種應(yīng)用服務(wù)器,如圖3所示,該應(yīng)用服務(wù)器包括密鑰生成單元210,用于通過非對稱加密算法得到需要進(jìn)行授權(quán)權(quán)限控制的模塊所需要的加密密鑰和解密密鑰;模塊信息處理單元220,用于在模塊所在Jar文件中添加模塊的信息標(biāo)識符;其中,優(yōu)選地,信息標(biāo)識符為是否加密的標(biāo)識符。密文發(fā)送單元230,用于使用加密密鑰將需要加密的信息加密成密文發(fā)送給被授權(quán)方;授權(quán)解密單元240,用于當(dāng)授權(quán)方打開該模塊的某一功能時,使用該模塊對應(yīng)的解密密鑰驗證密文,并根據(jù)驗證結(jié)果確定某一功能是否被授權(quán)。在其他的實施例中,更為具體 的,授權(quán)解密單元240,如圖4所示,還包括信息讀取子單元241,用于從模塊所在的Jar文件中讀取出該模塊的信息標(biāo)識符;信息對應(yīng)子單元242,用于根據(jù)信息標(biāo)識符獲取該模塊對應(yīng)的解密密鑰;驗證信息子單元243,用于使用解密密鑰解析密文,并根據(jù)解析結(jié)果得到某一功能的驗證信息;授權(quán)確定子單元244,用于根據(jù)驗證信息確定某一功能是否被授權(quán)。在其他的實施例中,進(jìn)一步的,如圖5所示,的應(yīng)用服務(wù)器還包括存儲單元250,用于將模塊及對應(yīng)的解密密鑰存放在應(yīng)用服務(wù)器的固定存儲介質(zhì)上。以及,存儲單元250,還用于接受被授權(quán)方導(dǎo)入的密文,并將密文存放在應(yīng)用服務(wù)器的固定存儲介質(zhì)上。通過本發(fā)明實施例提供的應(yīng)用服務(wù)器,基于Jar文件,因為每個模塊都可以制作成獨立的Jar文件,保證了各個模塊之間的獨立性,使各個模塊之間互不沖突。由于驗證信息(如須校驗的功能界面名、有效期限等信息)以密文形式保存用以防止使用方以非法途徑自行生成校驗信息內(nèi)容;采用非對稱密鑰加密信息方式處理每個模塊的授權(quán)方生成獨立的密鑰對,授權(quán)方保留加密密鑰,驗證端保留解密密鑰,保證了授權(quán)的獨立性和安全性。以上僅為本發(fā)明的較佳實施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換和改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1.一種基于Jar文件的授權(quán)方法,其特征在于,包括 通過非對稱加密算法得到需要進(jìn)行授權(quán)權(quán)限控制的模塊所需要的加密密鑰和解密密鑰; 在所述模塊所在Jar文件中添加所述模塊的信息標(biāo)識符; 使用所述加密密鑰將需要加密的信息加密成密文發(fā)送給被授權(quán)方; 當(dāng)所述授權(quán)方打開該模塊的某一功能時,使用該模塊對應(yīng)的解密密鑰驗證所述密文,并根據(jù)所述驗證結(jié)果確定所述某一功能是否被授權(quán)。
2.如權(quán)利要求I所述的方法,其特征在于,所述使用該模塊對應(yīng)的解密密鑰驗證所述密文,并根據(jù)所述驗證結(jié)果確定所述某一功能是否被授權(quán);具體包括 從所述模塊所在的Jar文件中讀取出該模塊的信息標(biāo)識符; 根據(jù)所述信息標(biāo)識符獲取該模塊對應(yīng)的解密密鑰; 使用所述解密密鑰解析所述密文,并根據(jù)所述解析結(jié)果得到所述某一功能的驗證信息; 根據(jù)所述驗證信息確定所述某一功能是否被授權(quán)。
3.如權(quán)利要求I所述的方法,其特征在于,所述信息標(biāo)識符為是否加密的標(biāo)識符。
4.如權(quán)利要求I所述的方法,其特征在于,在所述模塊所在Jar文件中添加所述模塊的信息標(biāo)識符,之后,進(jìn)一步包括 將模塊及對應(yīng)的解密密鑰存放在應(yīng)用服務(wù)器的固定存儲介質(zhì)上。
5.如權(quán)利要求I或4所述的方法,其特征在于,使用所述加密密鑰將需要加密的信息加密成密文發(fā)送給被授權(quán)方,之后,進(jìn)一步包括 接受所述被授權(quán)方導(dǎo)入的所述密文,并將所述密文存放在應(yīng)用服務(wù)器的固定存儲介質(zhì)上。
6.一種應(yīng)用服務(wù)器,其特征在于,包括 密鑰生成單元,用于通過非對稱加密算法得到需要進(jìn)行授權(quán)權(quán)限控制的模塊所需要的加密密鑰和解密密鑰; 模塊信息處理單元,用于在所述模塊所在Jar文件中添加所述模塊的信息標(biāo)識符; 密文發(fā)送單元,用于使用所述加密密鑰將需要加密的信息加密成密文發(fā)送給被授權(quán)方; 授權(quán)解密單元,用于當(dāng)所述授權(quán)方打開該模塊的某一功能時,使用該模塊對應(yīng)的解密密鑰驗證所述密文,并根據(jù)所述驗證結(jié)果確定所述某一功能是否被授權(quán)。
7.如權(quán)利要求6所述的應(yīng)用服務(wù)器,其特征在于,所述授權(quán)解密單元,還包括 信息讀取子單元,用于從所述模塊所在的Jar文件中讀取出該模塊的信息標(biāo)識符; 信息對應(yīng)子單元,用于根據(jù)所述信息標(biāo)識符獲取該模塊對應(yīng)的解密密鑰; 驗證信息子單元,用于使用所述解密密鑰解析所述密文,并根據(jù)所述解析結(jié)果得到所述某一功能的驗證信息; 授權(quán)確定子單元,用于根據(jù)所述驗證信息確定所述某一功能是否被授權(quán)。
8.如權(quán)利要求6所述的應(yīng)用服務(wù)器,其特征在于,所述信息標(biāo)識符為是否加密的標(biāo)識符。
9.如權(quán)利要求6所述的應(yīng)用服務(wù)器,其特征在于,還包括存儲單元,用于將模塊及對應(yīng)的解密密鑰存放在應(yīng)用服務(wù)器的固定存儲介質(zhì)上。
10.如權(quán)利要求9所述的應(yīng)用服務(wù)器,其特征在于,所述存儲單元,還用于接受所述被授權(quán)方導(dǎo)入的所述密文,并將所述密文存放在應(yīng)用服務(wù)器的固定存儲介質(zhì)上。
全文摘要
本發(fā)明涉及一種基于Jar文件的授權(quán)方法及應(yīng)用服務(wù)器,該方法包括通過非對稱加密算法得到需要進(jìn)行授權(quán)權(quán)限控制的模塊所需要的加密密鑰和解密密鑰;在模塊所在Jar文件中添加模塊的信息標(biāo)識符;使用加密密鑰將需要加密的信息加密成密文發(fā)送給被授權(quán)方;當(dāng)授權(quán)方打開該模塊的某一功能時,使用該模塊對應(yīng)的解密密鑰驗證密文,并根據(jù)驗證結(jié)果確定某一功能是否被授權(quán)。本發(fā)明通過對不同模塊進(jìn)行獨立授權(quán),以保證授權(quán)的獨立性和安全性。
文檔編號G06F21/00GK102819695SQ20111027998
公開日2012年12月12日 申請日期2011年9月20日 優(yōu)先權(quán)日2011年9月20日
發(fā)明者申思, 王存平 申請人:金蝶軟件(中國)有限公司