專利名稱:一種軟件許可控制裝置及其方法
技術(shù)領(lǐng)域:
本發(fā)明涉及軟件版權(quán)保護(hù)技術(shù)領(lǐng)域,尤其是一種軟件許可控制裝置及其方法。
背景技術(shù):
軟件許可控制,指的是對軟件的版權(quán)保護(hù);使用軟件必須取得授權(quán),且使用軟件過程中受到許可證的控制,有效防止非法盜用軟件和越權(quán)使用軟件。傳統(tǒng)的軟件保護(hù)一般使用序列號(hào)、網(wǎng)絡(luò)驗(yàn)證、硬件加密等方法。軟件序列號(hào)這也是使用最為普遍的軟件保護(hù)方式,通過取得機(jī)器特征碼后通過一個(gè)單向函數(shù)變換后生成序列號(hào),與用戶輸入的序列號(hào)進(jìn)行比對;如果相同則允許用戶使用軟件。使用序列號(hào)軟件保護(hù)方法,實(shí)現(xiàn)簡單,能夠控制用戶是否能夠使用軟件,但是不能基于復(fù)雜規(guī)則的軟件許可控制。網(wǎng)絡(luò)驗(yàn)證法軟件啟動(dòng)時(shí)把使用者信息發(fā)送到遠(yuǎn)程服務(wù)器檢測,針對返回的結(jié)果來控制用戶的軟件使用行為。此方法要求聯(lián)網(wǎng)操作,且必須配置專門的認(rèn)證服務(wù)器,適合網(wǎng)絡(luò)軟件的保護(hù)或者會(huì)員制軟件的保護(hù)。硬件加密法軟件服務(wù)提供商在提供軟件時(shí)同時(shí)提供一個(gè)加密硬件(加密芯片), 俗稱加密狗,加密狗中存有用戶許可信息,或者使用智能芯片,加密芯片參與到軟件運(yùn)行過程中的計(jì)算環(huán)節(jié)。這方法可以很好的解決軟件許可問題,但是無疑間增加了軟件的成本。本專利對云計(jì)算操作系統(tǒng)提出了一種高安全性的軟件許可控制裝置。為保證本裝置的高安全性,引入了多種加密算法RSA非對稱加密算法和AES對稱加密算法。下文對這些概念進(jìn)行簡要概述。云計(jì)算(Cloud Computing)是2007年誕生的新名詞,目前仍沒有公認(rèn)的定義。云計(jì)算是一種商業(yè)計(jì)算模型,它將計(jì)算任務(wù)分部在大量計(jì)算機(jī)構(gòu)成的資源池上,使用戶能夠按需獲取計(jì)算力、存儲(chǔ)空間和信息服務(wù)。而云計(jì)算操作系統(tǒng)是云計(jì)算后臺(tái)的整體管理運(yùn)營系統(tǒng),它是指構(gòu)架于服務(wù)器、存儲(chǔ)、網(wǎng)絡(luò)等基礎(chǔ)硬件資源和單機(jī)操作系統(tǒng)、中間件、數(shù)據(jù)庫等基礎(chǔ)軟件管理海量的基礎(chǔ)硬件、軟資源之上的云平臺(tái)綜合管理系統(tǒng)。
發(fā)明內(nèi)容
本發(fā)明解決的技術(shù)問題之一在于提供一種軟件許可控制裝置,可更詳細(xì)的控制軟件的許可行為。本發(fā)明解決的技術(shù)問題之二在于提供一種軟件許可控制方法,可更詳細(xì)的控制軟件的許可行為。本發(fā)明解決上述技術(shù)問題之一的技術(shù)方案是控制裝置包括有軟件許可生成器、軟件許可文件和云計(jì)算操作系統(tǒng);軟件許可生成器,用來對許可證輸入文件進(jìn)行處理,生成軟件許可文件,同時(shí)會(huì)產(chǎn)生隨機(jī)的密鑰信息,用于許可證輸入文件的處理,以及加入到受保護(hù)的軟件中,用來進(jìn)行許可證的驗(yàn)證操作;
3
許可證文件,許可證文件保存有相應(yīng)的許可信息,如機(jī)器許可信息、時(shí)限許可信息、配置許可信息等;受保護(hù)軟件運(yùn)行時(shí),必須加載許可證文件,并按許可證配置的許可下運(yùn)行;云計(jì)算操作系統(tǒng),受保護(hù)的目標(biāo)軟件,包括物理機(jī)器安裝運(yùn)行許可、軟件運(yùn)行期限許可、軟件運(yùn)行資源配置許可等。本發(fā)明解決上述技術(shù)問題之二的技術(shù)方案是包括步驟如下第1步,按照云計(jì)算操作系統(tǒng)配置許可證輸入文件;第2步,生成RSA密鑰,并保存;第3步,使用RSA私鑰對許可證輸入文件追加簽名,即對許可證文件簽名后,把簽名值追加到原許可文件最后面;第4步,生成AES密鑰,并保存;第5步,使用AES密鑰對簽名后的許可文件進(jìn)行加密;第6步,把上述步驟產(chǎn)生的RSA公鑰、AES密鑰加入到云計(jì)算操作系統(tǒng)軟件中;第7步,在云計(jì)算操作系統(tǒng)軟件中驗(yàn)證許可文件,取得AES密鑰解密許可證文件后使用RSA公鑰進(jìn)行簽名驗(yàn)證;如果驗(yàn)證通過則可以按許可文件控制云計(jì)算操作系統(tǒng)軟件控制其許可,驗(yàn)證失敗則拒絕用戶使用此軟件。所述的配置許可證輸入文件有機(jī)器運(yùn)行許可、運(yùn)行時(shí)限許可、可管理資源許可等。使用IOM位RSA算法。使用256位AES密鑰。使用本發(fā)明裝置和方法實(shí)現(xiàn)軟件的保護(hù)與許可控制,基于屬性文件制作許可證文件;相對于軟件序列號(hào),能夠更詳細(xì)的控制軟件的許可行為。例如不僅能夠控制用戶是否可以使用軟件,而且能夠通過許可證文件控制用戶可以怎么樣使用軟件,在實(shí)例中,對云計(jì)算操作系統(tǒng)軟件的保護(hù),能控制到用戶能使用多少計(jì)算資源等。和網(wǎng)絡(luò)驗(yàn)證相比,本實(shí)現(xiàn)方案不依賴于網(wǎng)絡(luò),在沒有網(wǎng)絡(luò)的情況下同樣能使用。與硬件加密法相比,則最大的特點(diǎn)在于不需要額外的硬件投入,節(jié)省成本。本發(fā)明很好的實(shí)現(xiàn)了軟件的保護(hù),防止軟件非法使用與逾期逾權(quán)限使用等問題。本發(fā)明綜合使用了非對稱加密算法和對稱加密算法,其中非對稱算法用于簽名驗(yàn)證,在保證許可不可篡改的前提下兼顧算法時(shí)間復(fù)雜度;使用對稱加密算法對簽名后的許可文件進(jìn)行加密操作,保證了許可證不容易被用戶猜測,同時(shí)對稱算法的效率相對非對稱加密算法大大提高,保證了系統(tǒng)的運(yùn)行效率。本發(fā)明使用一種簡單有效且可以擴(kuò)展的方式實(shí)現(xiàn)軟件保護(hù),維護(hù)軟件版權(quán),增加盜版難度或者延長軟件破解時(shí)間,盡可能的防止軟件被非法使用。完善的許可證文件配置,比單一的軟件序列號(hào)方式能更好的實(shí)現(xiàn)許可控制,不但可以控制軟件是否可以使用,而且能控制到可以使用哪些模塊,以及各個(gè)模塊中更詳細(xì)許可控制。
下面結(jié)合附圖對本發(fā)明進(jìn)一步說明圖1是本發(fā)明的整體架構(gòu)事宜圖;圖2是本發(fā)明的軟件許可證生成器示意圖3是本發(fā)明的軟件許可證驗(yàn)證示意圖。
具體實(shí)施例方式見附圖1所示,控制裝置包括有軟件許可生成器、軟件許可文件和云計(jì)算操作系統(tǒng);軟件許可生成器,用來對許可證輸入文件進(jìn)行處理,生成軟件許可文件,同時(shí)會(huì)產(chǎn)生隨機(jī)的密鑰信息,用于許可證輸入文件的處理,以及加入到受保護(hù)的軟件中,用來進(jìn)行許可證的驗(yàn)證操作。許可證文件,許可證文件保存有相應(yīng)的許可信息,如機(jī)器許可信息、時(shí)限許可信息、配置許可信息等;受保護(hù)軟件運(yùn)行時(shí),必須加載許可證文件,并按許可證配置的許可下運(yùn)行。云計(jì)算操作系統(tǒng),受保護(hù)的目標(biāo)軟件,包括物理機(jī)器安裝運(yùn)行許可、軟件運(yùn)行期限許可、軟件運(yùn)行資源配置許可等。見附圖2、3所示,是本發(fā)明的軟件許可控制方法軟件許可證生成器和軟件許可證驗(yàn)證示意圖。使用本方法對云計(jì)算操作系統(tǒng)進(jìn)行軟件保護(hù),具體步驟如下第1步,生成許可文件;首先根據(jù)受保護(hù)軟件許可控制需要?jiǎng)?chuàng)建一個(gè)許可文件,如客戶機(jī)器特征碼、軟件使用期限、軟件可以管理資源個(gè)數(shù)等。再使用許可證生成器生成一對IOM位RSA密鑰對, 一個(gè)256位的AES密鑰。使用RSA私鑰對許可證追加簽名后使用AES加密保存即為我們需要的許可證文件。RSA簽名保證了許可證文件的不可篡改性,AES加密保證了許可證文件的不可猜測性。第2步,在云計(jì)算操作系統(tǒng)軟件中載入許可文件,并驗(yàn)證許可證文件;把生成的許可證文件放到受保護(hù)的云計(jì)算操作系統(tǒng)軟件中,在系統(tǒng)啟動(dòng)時(shí)先檢測是否存在許可文件,如果許可文件不存在則表示軟件未被許可,軟件會(huì)自動(dòng)退出。檢測到許可文件后,首先用第一步中保存的AES密鑰解密許可證文件,解密成功后檢查是否存在許可特征碼,如果不存在或解密出錯(cuò),則表示許可證文件錯(cuò)誤或者被篡改,為非法使用軟件, 系統(tǒng)退出。解密成功后,使用第一步保存的RSA公鑰驗(yàn)證許可證簽名,如果簽名驗(yàn)證不通過則表示許可文件被篡改,系統(tǒng)將拒絕用戶繼續(xù)使用軟件,達(dá)到保護(hù)的目的。第3步,通過許可文件控制系統(tǒng);許可證文件檢測通過后,系統(tǒng)根據(jù)設(shè)定的許可控制系統(tǒng)的運(yùn)行,例如可以使用的期限,可以控制的資源節(jié)點(diǎn)個(gè)數(shù),具體控制情況會(huì)根據(jù)受保護(hù)軟件有相應(yīng)的調(diào)整。本發(fā)明所述的RSA非對稱加密算法是1977年由Ron Rivest、Adi Shamirh和 LenAdleman在(美國麻省理工學(xué)院)開發(fā)的。RSA取名來自開發(fā)他們?nèi)叩拿帧SA是目前最有影響力的公鑰加密算法,它能夠抵抗到目前為止已知的所有密碼攻擊,已被ISO推薦為公鑰數(shù)據(jù)加密標(biāo)準(zhǔn)。RSA算法基于一個(gè)十分簡單的數(shù)論事實(shí)將兩個(gè)大素?cái)?shù)相乘十分容易,但那時(shí)想要對其乘積進(jìn)行因式分解卻極其困難,因此可以將乘積公開作為加密密鑰。本發(fā)明所述的AES對稱密鑰加密算法為密碼學(xué)中的高級加密標(biāo)準(zhǔn)(Advanced Encryption Standard, AEQ,又稱Ri jndael加密法,是美國聯(lián)邦政府采用的一種區(qū)塊加密標(biāo)準(zhǔn)。這個(gè)標(biāo)準(zhǔn)用來替代原先的DES,已經(jīng)被多方分析且廣為全世界所使用。經(jīng)過五年的甄選流程,高級加密標(biāo)準(zhǔn)由美國國家標(biāo)準(zhǔn)與技術(shù)研究院(NIST)于2001年11月沈日發(fā)布于FIPS PUB 197,并在2002年5月沈日成為有效的標(biāo)準(zhǔn)。2006年,高級加密標(biāo)準(zhǔn)已然成為對稱密鑰加密中最流行的算法之一。
權(quán)利要求
1.一種軟件許可控制裝置,其特征在于包括有軟件許可生成器、軟件許可文件和云計(jì)算操作系統(tǒng);軟件許可生成器,用來對許可證輸入文件進(jìn)行處理,生成軟件許可文件,同時(shí)會(huì)產(chǎn)生隨機(jī)的密鑰信息,用于許可證輸入文件的處理,以及加入到受保護(hù)的軟件中,用來進(jìn)行許可證的驗(yàn)證操作;許可證文件,許可證文件保存有相應(yīng)的許可信息,如機(jī)器許可信息、時(shí)限許可信息、配置許可信息等;受保護(hù)軟件運(yùn)行時(shí),必須加載許可證文件,并按許可證配置的許可下運(yùn)行;云計(jì)算操作系統(tǒng),受保護(hù)的目標(biāo)軟件,包括物理機(jī)器安裝運(yùn)行許可、軟件運(yùn)行期限許可、軟件運(yùn)行資源配置許可等。
2.—種權(quán)利要求1所述的軟件許可控制裝置的軟件許可控制方法,其特征在于包括步驟如下第1步,按照云計(jì)算操作系統(tǒng)配置許可證輸入文件;第2步,生成RSA密鑰,并保存;第3步,使用RSA私鑰對許可證輸入文件追加簽名,即對許可證文件簽名后,把簽名值追加到原許可文件最后面;第4步,生成AES密鑰,并保存;第5步,使用AES密鑰對簽名后的許可文件進(jìn)行加密;第6步,把上述步驟產(chǎn)生的RSA公鑰、AES密鑰加入到云計(jì)算操作系統(tǒng)軟件中;第7步,在云計(jì)算操作系統(tǒng)軟件中驗(yàn)證許可文件,取得AES密鑰解密許可證文件后使用 RSA公鑰進(jìn)行簽名驗(yàn)證;如果驗(yàn)證通過則可以按許可文件控制云計(jì)算操作系統(tǒng)軟件控制其許可,驗(yàn)證失敗則拒絕用戶使用此軟件。
3.根據(jù)權(quán)利要求2所述的軟件許可控制方法,其特征在于所述的配置許可證輸入文件有機(jī)器運(yùn)行許可、運(yùn)行時(shí)限許可、可管理資源許可等。
4.根據(jù)權(quán)利要求2或3所述的軟件許可控制方法,其特征在于使用IOM位RSA算法。
5.根據(jù)權(quán)利要求2或3所述的軟件許可控制方法,其特征在于使用256位AES密鑰。
6.根據(jù)權(quán)利要求4所述的軟件許可控制方法,其特征在于使用256位AES密鑰。
全文摘要
本發(fā)明涉及軟件版權(quán)保護(hù)技術(shù)領(lǐng)域,尤其是一種軟件許可控制裝置及其方法。所述裝置包括軟件許可生成器、軟件許可文件和云計(jì)算操作系統(tǒng)。本發(fā)明提供了一種克服序列號(hào)、網(wǎng)絡(luò)驗(yàn)證、硬件加密等方法缺陷的方便管理與易于控制的軟件保護(hù)方法,可廣泛應(yīng)用于云計(jì)算操作系統(tǒng)等軟件產(chǎn)品的保護(hù)中。
文檔編號(hào)G06F21/00GK102509034SQ20111029143
公開日2012年6月20日 申請日期2011年9月30日 優(yōu)先權(quán)日2011年9月30日
發(fā)明者向紹緒, 季統(tǒng)凱, 岳強(qiáng), 楊松, 肖翱 申請人:廣東電子工業(yè)研究院有限公司