云計算系統(tǒng)中l(wèi)icense的控制方法和裝置制造方法
【專利摘要】一種云計算系統(tǒng)中l(wèi)icense的控制方法和裝置。該方法包括,利用非對稱加密算法生成密鑰對,包括公鑰和私鑰;以公鑰作為參數(shù)對license加密并生成加密license;將私鑰編譯后植入到云計算系統(tǒng)的代碼中;利用私鑰進(jìn)行l(wèi)icense驗證。本發(fā)明在不增加軟硬件設(shè)施的前提下,實現(xiàn)license生成與驗證的唯一性和安全性保護(hù)企業(yè)及用戶的安全。
【專利說明】云計算系統(tǒng)中l(wèi)icense的控制方法和裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及網(wǎng)絡(luò)安全領(lǐng)域,特別涉及在云計算系統(tǒng)中生成和管理license的方法和裝置。
【背景技術(shù)】
[0002]在云計算系統(tǒng)中,需要license (許可證)來控制虛擬機(jī)的數(shù)量以及對服務(wù)器的集中管理。所以生成license的安全性就變得至關(guān)重要,license的生成是通過對一些必要的信息進(jìn)行加密生成,如果對license管理不當(dāng),就會使云計算系統(tǒng)的服務(wù)器、虛擬機(jī)管理失去控制,甚至落入不法分子手中,對企業(yè)、用戶的利益產(chǎn)生嚴(yán)重威脅。
[0003]現(xiàn)有的解決方案中,包括序列號、網(wǎng)絡(luò)驗證以及硬件加密方法。最為普遍的一種許可方式是序列號,在取得機(jī)器特征碼后通過一個單向函數(shù)變換后生成序列號,與用戶輸入的序列號進(jìn)行比對;如果相同則允許用戶使用軟件。使用序列號軟件保護(hù)方法,實現(xiàn)簡單,能夠控制用戶是否能夠使用軟件,但是不能基于復(fù)雜規(guī)則的軟件許可控制。對于網(wǎng)絡(luò)驗證,軟件啟動時把使用者信息發(fā)送到遠(yuǎn)程服務(wù)器檢測,針對返回的結(jié)果來控制用戶的軟件使用行為。此方法要求聯(lián)網(wǎng)操作,且必須配置專門的認(rèn)證服務(wù)器。對于硬件加密,軟件服務(wù)提供商在提供軟件時同時提供一個加密芯片,俗稱加密狗,加密狗中存有用戶許可信息,或者使用智能芯片,加密芯片參與到軟件運(yùn)行過程中的計算環(huán)節(jié)。網(wǎng)絡(luò)驗證和硬件加密方法可以很好的解決軟件許可問題,但是無疑間增加了軟硬件的成本。
[0004]針對相關(guān)技術(shù)中所存在的上述問題,目前尚未提出有效的解決方案。
【發(fā)明內(nèi)容】
[0005]本發(fā)明的目的在于提供一種云計算系統(tǒng)中l(wèi)icense的控制方法,包括以下步驟:
[0006]步驟S101,利用非對稱加密算法生成密鑰對,包括公鑰和私鑰;
[0007]步驟S102,以公鑰作為參數(shù)對license加密并生成加密license ;
[0008]步驟S103,將私鑰編譯后植入到云計算系統(tǒng)的代碼中;
[0009]步驟S104,利用私鑰進(jìn)行l(wèi)icense驗證;
[0010]其中,當(dāng)license信息輸入云計算系統(tǒng)時,系統(tǒng)利用云計算系統(tǒng)中已嵌入的私鑰,對license中的公鑰信息進(jìn)行匹配驗證,如果驗證通過,則該license生效,否則該license無效。
[0011]優(yōu)選地,所述步驟SlOl中,該密鑰對是通過RSA算法產(chǎn)生的1024位密鑰,生成之后以安全方式分別存儲為公鑰文件和私鑰文件。
[0012]優(yōu)選地,所述license信息包括虛擬機(jī)數(shù)量上限。
[0013]優(yōu)選地,所述步驟S104中,云計算系統(tǒng)利用權(quán)限驗證服務(wù)模塊來執(zhí)行匹配驗證操作,所述匹配驗證進(jìn)一步包括以下步驟:
[0014]步驟S1041,利用所述私鑰對加密的license信息進(jìn)行解密;
[0015]步驟S1042,對于解密后的license信息,利用該私鑰進(jìn)行RSA數(shù)字簽名,形成簽名信息;
[0016]步驟S1043,使用所述公鑰對該簽名信息進(jìn)行解析,形成解析后的license信息;
[0017]步驟S1044,將解析后的license信息與步驟S1042中解密后的license信息進(jìn)行對比;
[0018]步驟S1045,如果對比結(jié)果為一致,則驗證通過,并確定該license生效,否則驗證不通過且該license無效。
[0019]優(yōu)選地,如果在步驟S104中驗證通過,則該方法進(jìn)一步包括:
[0020]當(dāng)license信息包含虛擬機(jī)數(shù)量上限時,若當(dāng)前虛擬機(jī)數(shù)量超過所述license定義的虛擬機(jī)數(shù)量上限,則禁止建立虛擬機(jī)。
[0021]根據(jù)本發(fā)明的另一個方面,提供了一種云計算系統(tǒng)中l(wèi)icense的控制裝置,其特征在于,包括以下模塊:
[0022]密鑰生成模塊202,用于利用非對稱加密算法生成密鑰對,包括公鑰和私鑰;
[0023]公鑰加密模塊204,用于以密鑰生成模塊202生成的公鑰作為參數(shù),對license加密并生成加密license ;
[0024]私鑰控制模塊206,用于將密鑰生成模塊202生成的私鑰編譯后植入到云計算系統(tǒng)的代碼中;
[0025]權(quán)限驗證服務(wù)模塊208,用于利用上述私鑰控制模塊206所植入的私鑰進(jìn)行l(wèi)icense 驗證。
[0026]優(yōu)選地,所述密鑰生成模塊,用于通過RSA算法產(chǎn)生1024位密鑰對,并將該密鑰對以安全方式分別存儲為公鑰文件和私鑰文件。
[0027]優(yōu)選地,所述license信息包括虛擬機(jī)數(shù)量上限。
[0028]優(yōu)選地,所述權(quán)限驗證服務(wù)模塊208被配置為執(zhí)行以下過程進(jìn)行匹配驗證:
[0029]利用所述私鑰對加密的license信息進(jìn)行解密;
[0030]對于解密后的license信息,利用該私鑰進(jìn)行RSA數(shù)字簽名,形成簽名信息;
[0031]使用所述公鑰對該簽名信息進(jìn)行解析,形成解析后的license信息;
[0032]將解析后的license信息與解密后的license信息進(jìn)行對比;
[0033]如果對比結(jié)果為一致,則驗證通過,并確定該license生效,否則驗證不通過且該license 無效。
[0034]優(yōu)選地,進(jìn)一步包括使用限制模塊210,用于在驗證通過之后:
[0035]當(dāng)license信息包含虛擬機(jī)數(shù)量上限時,若當(dāng)前虛擬機(jī)數(shù)量超過所述license定義的虛擬機(jī)數(shù)量上限,則禁止建立虛擬機(jī)。
[0036]通過采用本發(fā)明的技術(shù)方案,只有同時獲得已生成的密鑰對,才能生成有效的license,相比于現(xiàn)有技術(shù)具有以下優(yōu)點,保證了 license生成與驗證的唯一'丨生和安全性,有效地保護(hù)了企業(yè)及用戶的合法權(quán)益。
【專利附圖】
【附圖說明】
[0037]此處所說明的附圖用來提供對本發(fā)明的進(jìn)一步理解,構(gòu)成本申請的一部分,本發(fā)明的示意性實施例及其說明用于解釋本發(fā)明,并不構(gòu)成對本發(fā)明的過分限定。其中:
[0038]圖1顯示了根據(jù)本發(fā)明實施例的云計算系統(tǒng)中l(wèi)icense的控制方法的流程圖;[0039]圖2顯示了根據(jù)本發(fā)明另一實施例的云計算系統(tǒng)中l(wèi)icense的控制方法中利用私鑰對license進(jìn)行驗證的方法流程圖;
[0040]圖3顯示了根據(jù)本發(fā)明實施例的用于在云計算系統(tǒng)中l(wèi)icense控制裝置的結(jié)構(gòu)示意圖。
【具體實施方式】
[0041]為使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚明了,下面結(jié)合【具體實施方式】并參照附圖,對本發(fā)明進(jìn)一步詳細(xì)說明。應(yīng)該理解,這些描述只是示例性的,而并非要限制本發(fā)明的范圍。此外,在以下說明中,省略了對公知結(jié)構(gòu)和技術(shù)的描述,以避免不必要地混淆本發(fā)明的概念。
[0042]圖1顯示了根據(jù)本發(fā)明實施例的云計算系統(tǒng)中l(wèi)icense控制方法的流程圖。
[0043]如圖1所示,本發(fā)明的實施例的方法包括以下步驟:
[0044]步驟S101,利用非對稱加密算法生成密鑰對,包括公鑰和私鑰。
[0045]在生成license前,首先利用非對稱加密算法生成一對密鑰對,包括公鑰和私鑰。其中公鑰用來對license加密,私鑰作為解密license的唯一密鑰。
[0046]非對稱加密算法屬于常見加密技術(shù),本文不再贅述。本發(fā)明優(yōu)選地采用RSA算法,該算法基于如下理論:將兩個大素數(shù)相乘很容易,但對其乘積進(jìn)行因式分解很困難,因此可以將乘積公開作為加密密鑰。
[0047]在步驟SlOl中,優(yōu)選的,該密鑰對為1024位數(shù)字,并且生成后不作更改,以安全方式存儲該密鑰對,例如保存為公鑰文件KEY.PUB和私鑰文件KEY.PRI。
[0048]步驟S102,以公鑰作為參數(shù)對license加密并生成加密license。
[0049]本步驟中,將公鑰作為生成license的參數(shù),利用公鑰對license信息進(jìn)行加密,生成加密的license。
[0050]根據(jù)本發(fā)明進(jìn)一步的實施例,license信息包括指紋數(shù)據(jù),另外,生成的license還可以根據(jù)用戶預(yù)定義選項,虛擬機(jī)使用時長、服務(wù)器數(shù)量上限和虛擬機(jī)數(shù)量上限等參數(shù)進(jìn)行設(shè)置。
[0051]本步驟中,利用公鑰對license信息進(jìn)行加密可通過下述步驟實現(xiàn):
[0052]首先,獲取云計算系統(tǒng)配置的license輸入文件。
[0053]云計算系統(tǒng)配置的license輸入文件可包括機(jī)器運(yùn)行許可、運(yùn)行時限許可、可管理資源許可等信息。
[0054]然后,利用生成的公鑰,通過RSA算法對該license輸入文件進(jìn)行加密運(yùn)算。
[0055]該license文件可為XML格式的權(quán)限描述文件。
[0056]步驟S103,將私鑰編譯后植入到云計算系統(tǒng)的代碼中。
[0057]對于使用公鑰加密的數(shù)據(jù),只能使用與該公鑰匹配的私鑰進(jìn)行解密。將私鑰植入到云計算系統(tǒng)的代碼中后,云計算系統(tǒng)可以安全的方式獲取用于解密和驗證的私鑰。當(dāng)云計算系統(tǒng)中輸入license驗證信息時,權(quán)限驗證服務(wù)會檢測license中的公鑰信息,與云計算系統(tǒng)中植入的私鑰進(jìn)行匹配驗證,驗證通過后,此license生效,否則視為無效。
[0058]本發(fā)明中,私鑰生成后植入代碼中,是經(jīng)過加密和反編譯的,很難非法獲取,私鑰是經(jīng)過加密后保管,這樣license是很難破譯的。即使非法用戶獲取了用戶端的公鑰,由于沒有獲取私鑰,也就無法對許可證進(jìn)行解密。有效地防止了非法用戶對license的破解或復(fù)制。
[0059]步驟S104,利用私鑰進(jìn)行l(wèi)icense驗證。
[0060]當(dāng)license信息輸入云計算系統(tǒng)時,系統(tǒng)中的權(quán)限驗證服務(wù)模塊利用云計算系統(tǒng)的代碼中已嵌入的私鑰,對license中的公鑰信息進(jìn)行匹配驗證,如果驗證通過,則該license生效,否則該license無效。
[0061]圖2顯示了根據(jù)本發(fā)明另一實施例的云計算系統(tǒng)中l(wèi)icense的控制方法中利用私鑰對license進(jìn)行驗證的方法流程圖。
[0062]如圖2所示,進(jìn)一步地,所述利用私鑰進(jìn)行l(wèi)icense驗證的步驟中,所述權(quán)限驗證服務(wù)模塊通過以下過程對所輸入的license進(jìn)行驗證:
[0063]步驟S1041,利用所述私鑰對加密的license信息進(jìn)行解密。
[0064]步驟S1042,對于解密后的license信息,利用該私鑰進(jìn)行RSA數(shù)字簽名,形成簽名信息。
[0065]步驟S1043,使用所述公鑰對該簽名信息進(jìn)行解析,形成解析后的license信息。
[0066]步驟S1044,將步驟S1043中解析后的license信息與步驟S1042中解密后的license信息進(jìn)行對比。
[0067]步驟S1045,如果對比結(jié)果為一致,則驗證通過,確定該license生效,否則該license 無效。
[0068]由上可見,一旦管理員丟失了最開始生成的密鑰對或公鑰,需要執(zhí)行該方法重新生成一對密鑰對,公鑰用來生成加密license,私鑰同樣植入代碼用來解密驗證license的合法性。這樣做保證了 license生成與驗證的唯一'丨生和安全性。由此,本發(fā)明的license生成方法的優(yōu)勢在于,如果沒有獲得最初生成的密鑰對,就無法生成有效的license,有效地保護(hù)了企業(yè)及用戶的合法權(quán)益。
[0069]在本發(fā)明優(yōu)選的實施例中,在驗證該license合法之后,進(jìn)一步包括根據(jù)license信息判斷軟件是否能夠繼續(xù)使用的步驟。根據(jù)license內(nèi)包含的對應(yīng)信息,若監(jiān)測到當(dāng)前建立的虛擬機(jī)的數(shù)量超過所述license限制的服務(wù)器核數(shù)上限值所能建立的虛擬機(jī)的數(shù)量,則禁止建立虛擬機(jī)。
[0070]圖3顯示了根據(jù)本發(fā)明實施例的用于在云計算系統(tǒng)中l(wèi)icense控制裝置的結(jié)構(gòu)示意圖。
[0071]如圖3所示,根據(jù)本發(fā)明的另一方面,提供了一種云計算系統(tǒng)中l(wèi)icense的控制裝置200,包括以下模塊:
[0072]密鑰生成模塊202,用于利用非對稱加密算法生成密鑰對,包括公鑰和私鑰;
[0073]公鑰加密模塊204,用于以密鑰生成模塊202生成的公鑰作為參數(shù),對license加密并生成加密license ;
[0074]私鑰控制模塊206,用于將密鑰生成模塊202生成的私鑰編譯后植入到云計算系統(tǒng)的代碼中;
[0075]權(quán)限驗證服務(wù)模塊208,用于利用上述私鑰控制模塊206所植入的私鑰進(jìn)行l(wèi)icense 驗證。
[0076]具體地,當(dāng)license信息輸入云計算系統(tǒng)時,系統(tǒng)中的權(quán)限驗證服務(wù)模塊208利用云計算系統(tǒng)中已嵌入的私鑰,對license中的公鑰信息進(jìn)行匹配驗證,如果驗證通過,則該license生效,否則該license無效。
[0077]優(yōu)選地,所述密鑰生成模塊202,用于通過RSA算法產(chǎn)生1024位密鑰對,生成之后以安全方式分別存儲為公鑰文件和私鑰文件。
[0078]優(yōu)選地,所述license信息包括虛擬機(jī)數(shù)量上限。
[0079]優(yōu)選地,所述權(quán)限驗證服務(wù)模塊208被配置為執(zhí)行以下過程進(jìn)行匹配驗證:
[0080]利用所述私鑰對加密的license信息進(jìn)行解密;
[0081]對于解密后的license信息,利用該私鑰進(jìn)行RSA數(shù)字簽名,形成簽名信息;
[0082]使用所述公鑰對該簽名信息進(jìn)行解析,形成解析后的license信息;
[0083]將解析后的license信息與解密后的license信息進(jìn)行對比;
[0084]如果對比結(jié)果為一致,則驗證通過,并確定該license生效,否則驗證不通過且該license 無效。
[0085]優(yōu)選地,該裝置進(jìn)一步包括使用限制模塊210,用于在驗證通過之后:
[0086]當(dāng)license信息包含虛擬機(jī)數(shù)量上限時,若當(dāng)前虛擬機(jī)數(shù)量超過所述license定義的虛擬機(jī)數(shù)量上限,則禁止建立虛擬機(jī)。
[0087]綜上所述,本發(fā)明的云計算系統(tǒng)中l(wèi)icense的控制方法和裝置,實現(xiàn)license生成與驗證的唯一性和安全性保護(hù)企業(yè)及用戶的安全。
[0088]顯然,本領(lǐng)域的技術(shù)人員應(yīng)該理解,上述的本發(fā)明的各模塊或各步驟可以用通用的計算系統(tǒng)來實現(xiàn),它們可以集中在單個的計算系統(tǒng)上,或者分布在多個計算系統(tǒng)所組成的網(wǎng)絡(luò)上,可選地,它們可以用計算系統(tǒng)可執(zhí)行的程序代碼來實現(xiàn),從而,可以將它們存儲在存儲系統(tǒng)中由計算系統(tǒng)來執(zhí)行。這樣,本發(fā)明不限制于任何特定的硬件和軟件結(jié)合。
[0089]應(yīng)當(dāng)理解的是,本發(fā)明的上述【具體實施方式】僅僅用于示例性說明或解釋本發(fā)明的原理,而不構(gòu)成對本發(fā)明的限制。因此,在不偏離本發(fā)明的精神和范圍的情況下所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。此外,本發(fā)明所附權(quán)利要求旨在涵蓋落入所附權(quán)利要求范圍和邊界、或者這種范圍和邊界的等同形式內(nèi)的全部變化和修改例。
【權(quán)利要求】
1.一種云計算系統(tǒng)中l(wèi)icense的控制方法,其特征在于,包括以下步驟: 步驟S101,利用非對稱加密算法生成密鑰對,包括公鑰和私鑰; 步驟S102,以公鑰作為參數(shù)對license加密并生成加密license ; 步驟S103,將私鑰編譯后植入到云計算系統(tǒng)的代碼中; 步驟S104,利用私鑰進(jìn)行l(wèi)icense驗證; 其中,當(dāng)license信息輸入云計算系統(tǒng)時,系統(tǒng)利用云計算系統(tǒng)中已嵌入的私鑰,對license中的公鑰信息進(jìn)行匹配驗證,如果驗證通過,則該license生效,否則該license無效。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于, 所述步驟SlOl中,該密鑰對是通過RSA算法產(chǎn)生的1024位密鑰,生成之后以安全方式分別存儲為公鑰文件和私鑰文件。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述license信息包括虛擬機(jī)數(shù)量上限。
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述步驟S104中,云計算系統(tǒng)利用權(quán)限驗證服務(wù)模塊來執(zhí)行匹配驗證操作,所述匹配驗證進(jìn)一步包括以下步驟: 步驟S1041,利用所述私鑰對加密的license信息進(jìn)行解密; 步驟S1042,對于解密后的license信息,利用該私鑰進(jìn)行RSA數(shù)字簽名,形成簽名信息; 步驟S1043,使用所述公鑰對該簽名信息進(jìn)行解析,形成解析后的license信息; 步驟S1044,將解析后的license信息與步驟S1042中解密后的license信息進(jìn)行對比; 步驟S1045,如果對比結(jié)果為一致,則驗證通過,并確定該license生效,否則驗證不通過且該license無效。
5.根據(jù)權(quán)利要求3所述的方法,其特征在于,如果在步驟S104中驗證通過,則該方法進(jìn)一步包括: 當(dāng)license信息包含虛擬機(jī)數(shù)量上限時,若當(dāng)前虛擬機(jī)數(shù)量超過所述license定義的虛擬機(jī)數(shù)量上限,則禁止建立虛擬機(jī)。
6.一種云計算系統(tǒng)中l(wèi)icense的控制裝置,其特征在于,包括以下模塊: 密鑰生成模塊(202),用于利用非對稱加密算法生成密鑰對,包括公鑰和私鑰; 公鑰加密模塊(204),用于以密鑰生成模塊202生成的公鑰作為參數(shù),對license加密并生成加密license ; 私鑰控制模塊(206),用于將密鑰生成模塊202生成的私鑰編譯后植入到云計算系統(tǒng)的代碼中; 權(quán)限驗證服務(wù)模塊(208),用于利用上述私鑰控制模塊206所植入的私鑰進(jìn)行l(wèi)icense驗證。
7.根據(jù)權(quán)利要求6所述的裝置,其特征在于, 所述密鑰生成模塊,用于通過RSA算法產(chǎn)生1024位密鑰對,并將該密鑰對以安全方式分別存儲為公鑰文件和私鑰文件。
8.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述license信息包括虛擬機(jī)數(shù)量上限。
9.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述權(quán)限驗證服務(wù)模塊(208)被配置為執(zhí)行以下過程進(jìn)行匹配驗證: 利用所述私鑰對加密的license信息進(jìn)行解密; 對于解密后的license信息,利用該私鑰進(jìn)行RSA數(shù)字簽名,形成簽名信息; 使用所述公鑰對該簽名信息進(jìn)行解析,形成解析后的license信息; 將解析后的license信息與解密后的license信息進(jìn)行對比; 如果對比結(jié)果為一致,則驗證通過,并確定該license生效,否則驗證不通過且該license 無效。
10.根據(jù)權(quán)利要求8所述的裝置,進(jìn)一步包括使用限制模塊210,用于在驗證通過之后: 當(dāng)license信息包含虛擬機(jī)數(shù)量上限時,若當(dāng)前虛擬機(jī)數(shù)量超過所述license定義的虛擬機(jī)數(shù)量上限,則禁止建立虛擬機(jī)。
【文檔編號】H04L9/32GK103916390SQ201410105144
【公開日】2014年7月9日 申請日期:2014年3月20日 優(yōu)先權(quán)日:2014年3月20日
【發(fā)明者】崔隆 申請人:漢柏科技有限公司