專利名稱:軟件授權(quán)系統(tǒng)及方法
技術(shù)領(lǐng)域:
本發(fā)明有關(guān)一種軟件授權(quán)系統(tǒng)及方法,詳而言之,是涉及一種無(wú)需傳輸加密軟件的主金鑰的軟件授權(quán)系統(tǒng)及方法。
背景技術(shù):
內(nèi)容傳遞網(wǎng)絡(luò)(Content Delivery Network, CDN)技術(shù)的發(fā)展可提高網(wǎng)站響應(yīng)速度,然隨著云運(yùn)算的風(fēng)行,CDN這種可以提高網(wǎng)站傳送速率的技術(shù)對(duì)軟件授權(quán)的應(yīng)用而言卻是一種限制。⑶N基本上是將軟件(內(nèi)容)事先復(fù)制到全球多臺(tái)服務(wù)器,因而網(wǎng)站經(jīng)營(yíng)者無(wú)法針對(duì)每次下載的軟件作個(gè)別的保護(hù)處理,使得許多保護(hù)機(jī)制必須在客戶端進(jìn)行。例如, Microsoft下載網(wǎng)站的作法是將所有認(rèn)證檢查放在安裝時(shí)期,并在執(zhí)行時(shí)期需執(zhí)行啟動(dòng)動(dòng)作。而App Store則是讓使用者在下載軟件時(shí)產(chǎn)生一把使用者金鑰,再利用金鑰加密金鑰 (Key Encrypt Key, KEK)方式將所謂的主金鑰加密傳送給使用者,故當(dāng)使用者下載完軟件便可用主金鑰解密。然而,由于前述這些小程序很容易被逆向工程攻擊,尤其例如Javabyte code,因此Microsoft下載網(wǎng)站的作法不適用于軟件市集所賣的小程序,而App Store的作法則已被證實(shí)有心者可取得使用者金鑰進(jìn)而于下載程序后多次轉(zhuǎn)載。另一方面,現(xiàn)有技術(shù)亦提出一種軟件授權(quán)與保護(hù)裝置及方法,是于第一次使用時(shí)于客戶端產(chǎn)生注冊(cè)碼(random number-MACaddress、硬盤序列碼、軟件名稱)并加密,再向授權(quán)系統(tǒng)注冊(cè)及寫入數(shù)據(jù)庫(kù),但此方案每次執(zhí)行時(shí)需在線檢查許可狀態(tài),且取得MAC address或硬盤序號(hào)已為現(xiàn)有技術(shù),僅需簡(jiǎn)單協(xié)議分析即可復(fù)制相同的參數(shù)。其次,另有一種用于協(xié)助內(nèi)容金鑰改變的方法及裝置,能從主金鑰和內(nèi)容規(guī)則導(dǎo)出CEK,則利用同一把金鑰即可進(jìn)行加解密,使用者仍可多次復(fù)制檔案或內(nèi)容。此外,相關(guān)論文的基本假設(shè)為程序被分離成受保護(hù)程序及安全參數(shù),其安全參數(shù)可被多種裝置重復(fù)使用,因而使用者仍可破解程序后多次轉(zhuǎn)載,若考慮安全而作成有差異的安全參數(shù),則由于受保護(hù)程序和安全參數(shù)需成對(duì)使用而使得無(wú)法使用CDN技術(shù)。是以,如何提供一種軟件授權(quán)系統(tǒng)及方法,得以防止合法下載而非法散布軟件者, 在軟件市集中所販賣的軟件生命周期普遍皆不長(zhǎng)的情況下,為目前軟件開發(fā)業(yè)者亟待解決的議題之一。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明的主要目的是提供一種軟件授權(quán)系統(tǒng)及方法,得以增加下載及解密軟件的難度,抑止非法下載或合法下載而非法散布軟件。本發(fā)明提供一種軟件授權(quán)系統(tǒng),包括軟件供應(yīng)模塊,提供以主金鑰進(jìn)行加密的受保護(hù)軟件,且該受保護(hù)軟件具有軟件識(shí)別碼;處理模塊,用以自該軟件供應(yīng)模塊下載該受保護(hù)軟件,并輸出所下載的受保護(hù)軟件的軟件識(shí)別碼;中介模塊,具有用戶識(shí)別碼及與該用戶識(shí)別碼對(duì)應(yīng)的第一金鑰,且該中介模塊用以接收該處理模塊所輸出的軟件識(shí)別碼;以及授權(quán)模塊,具有主金鑰庫(kù)和第一金鑰庫(kù),該授權(quán)模塊接收該中介模塊所輸出的用戶識(shí)別碼及該軟件識(shí)別碼,并根據(jù)該用戶識(shí)別碼及該軟件識(shí)別碼分別至該主金鑰庫(kù)搜尋與該軟件識(shí)別碼相對(duì)應(yīng)的主金鑰及至該第一金鑰庫(kù)搜尋與該用戶識(shí)別碼對(duì)應(yīng)的第一金鑰,其中,該授權(quán)模塊以該主金鑰及該第一金鑰進(jìn)行運(yùn)算而產(chǎn)生第二金鑰并將該第二金鑰傳輸至該中介模塊,以由該中介模塊依據(jù)自身所具有的第一金鑰結(jié)合所接收的該第二金鑰回復(fù)出該主金鑰,使該處理模塊利用該主金鑰對(duì)所下載的受保護(hù)軟件進(jìn)行解密。于一實(shí)施形態(tài)中,本發(fā)明軟件授權(quán)系統(tǒng)還包括轉(zhuǎn)換模塊,用以將至少一軟件以該主金鑰加密的方式轉(zhuǎn)換為該受保護(hù)軟件并傳輸至該軟件供應(yīng)模塊,復(fù)用以將該軟件區(qū)分為多個(gè)區(qū)塊并利用該主金鑰分別對(duì)該些區(qū)塊進(jìn)行加密而轉(zhuǎn)換為該受保護(hù)軟件,以此混淆該軟件的數(shù)據(jù)結(jié)構(gòu)和控制程序,而該處理模塊是利用該中介模塊所回復(fù)出的主金鑰分別對(duì)該些區(qū)塊解密。本發(fā)明還提供一種軟件授權(quán)方法,用于包括服務(wù)器端和客戶端的軟件授權(quán)系統(tǒng)中,該客戶端具有用戶識(shí)別碼和對(duì)應(yīng)該用戶識(shí)別碼的第一金鑰,該服務(wù)器端具有提供以主金鑰進(jìn)行加密的受保護(hù)軟件的軟件供應(yīng)模塊及儲(chǔ)存有該主金鑰和該第一金鑰的授權(quán)模塊。 該軟件授權(quán)方法包括以下步驟步驟1、令客戶端自該軟件供應(yīng)模塊下載受保護(hù)軟件時(shí)取得該受保護(hù)軟件的軟件識(shí)別碼,并將自身所具有的用戶識(shí)別碼及該受保護(hù)軟件的軟件識(shí)別碼傳輸至該授權(quán)模塊;步驟2、令該授權(quán)模塊依據(jù)該用戶識(shí)別碼取得相對(duì)應(yīng)的第一金鑰,并根據(jù)該軟件識(shí)別碼取得相對(duì)應(yīng)的主金鑰,以對(duì)該主金鑰及該第一金鑰進(jìn)行運(yùn)算而產(chǎn)生第二金鑰,并將該第二金鑰傳輸至該中介模塊;步驟3、令該客戶端依據(jù)自身所具有的第一金鑰結(jié)合所接收的第二金鑰以回復(fù)出該主金鑰;以及步驟4、令該客戶端利用所回復(fù)出的主金鑰對(duì)下載的受保護(hù)軟件進(jìn)行解密。本發(fā)明改善原先軟件市集的弱點(diǎn),更增加攻擊者的破解難度,且由于每個(gè)中介模塊(或客戶端)具有不同的第一金鑰,因而自授權(quán)模塊取得的第二金鑰亦不同,進(jìn)而可抑止合法下載而非法散布軟件。
圖1是本發(fā)明的軟件授權(quán)系統(tǒng)的應(yīng)用架構(gòu)圖的示意圖;圖2是本發(fā)明的軟件授權(quán)方法的應(yīng)用流程圖的示意圖;圖3A是本發(fā)明的軟件授權(quán)方法的具體實(shí)施架構(gòu)圖的示意圖;以及圖;3B是本發(fā)明的軟件授權(quán)方法的轉(zhuǎn)換軟件成受保護(hù)軟件的說(shuō)明圖的示意圖。主要元件符號(hào)說(shuō)明10、30轉(zhuǎn)換模塊11、31軟件供應(yīng)模塊110、310受保護(hù)軟件310,軟件12處理模塊13中介模塊131第二溝通接口132第一溝通接口
133回復(fù)單元14、32授權(quán)模塊141、321 主金鑰庫(kù)142、322 第一金鑰庫(kù)143運(yùn)算單元15 內(nèi)存16、;34安全硬件33中介軟件Pl、P2...Pn、Cl、C2...Cn 區(qū)塊S201 S204 步驟
具體實(shí)施例方式以下通過(guò)特定的具體實(shí)施形態(tài)說(shuō)明本發(fā)明的實(shí)施方式,本領(lǐng)域技術(shù)人員可由本說(shuō)明書所揭示的內(nèi)容輕易地了解本發(fā)明的其它優(yōu)點(diǎn)與功效,亦可通過(guò)其它不同的具體實(shí)施形態(tài)加以施行或應(yīng)用。請(qǐng)參閱圖1,本發(fā)明的軟件授權(quán)系統(tǒng)包括軟件供應(yīng)模塊11、處理模塊12、中介模塊 13和授權(quán)模塊14。軟件供應(yīng)模塊11用以提供以主金鑰加密的方式而成為的受保護(hù)軟件110,受保護(hù)軟件110具有軟件識(shí)別碼。具體言之,軟件供應(yīng)模塊11可提供多種受保護(hù)軟件110(即各種應(yīng)用程序),該些受保護(hù)軟件110具有各自的軟件識(shí)別碼。于一實(shí)施形態(tài)中,本發(fā)明的軟件授權(quán)系統(tǒng)還包括轉(zhuǎn)換模塊10,轉(zhuǎn)換模塊10透過(guò)加密、混淆或區(qū)分等方式將軟件轉(zhuǎn)換為受保護(hù)軟件110并傳輸至軟件供應(yīng)模塊11。于進(jìn)行加密時(shí),轉(zhuǎn)換模塊10可將軟件區(qū)分為多個(gè)區(qū)塊,并利用與軟件識(shí)別碼相對(duì)應(yīng)的主金鑰分別加密該些區(qū)塊,以此混淆軟件的數(shù)據(jù)結(jié)構(gòu)和控制程序,使之成為受保護(hù)軟件110。處理模塊12用以自軟件供應(yīng)模塊11下載受保護(hù)軟件110,并將所下載的受保護(hù)軟件110的軟件識(shí)別碼傳輸至中介模塊13。中介模塊13具有用戶識(shí)別碼及與用戶識(shí)別碼相對(duì)應(yīng)的第一金鑰,且接收處理模塊12所傳輸?shù)能浖R(shí)別碼,并將用戶識(shí)別碼及所下載的受保護(hù)軟件110的軟件識(shí)別碼傳輸至授權(quán)模塊14。此外,該第一金鑰可利用混淆技術(shù)設(shè)置于中介模塊13中,讓使用者難以存取到該第一金鑰。再者,轉(zhuǎn)換模塊10亦可于軟件中加入完整性檢查參數(shù)以使其成為受保護(hù)軟件110再傳輸至軟件供應(yīng)模塊11,以供中介模塊13確定受保護(hù)軟件110是否被竄改。授權(quán)模塊14具有主金鑰庫(kù)141和第一金鑰庫(kù)142。主金鑰庫(kù)141儲(chǔ)存有與受保護(hù)軟件110的軟件識(shí)別碼相對(duì)應(yīng)的主金鑰,第一金鑰庫(kù)142儲(chǔ)存有與中介模塊13的用戶識(shí)別碼(可以是random number-MAC address、硬盤序列碼、軟件名稱等組合,不限于此,只要能代表客戶端即可)相對(duì)應(yīng)的第一金鑰。授權(quán)模塊14接收中介模塊13所傳輸?shù)挠脩糇R(shí)別碼及軟件識(shí)別碼,并根據(jù)該用戶識(shí)別碼至第一金鑰庫(kù)142中搜尋相對(duì)應(yīng)的第一金鑰,根據(jù)該軟件識(shí)別碼至主金鑰庫(kù)141搜尋相對(duì)應(yīng)的主金鑰。此外,授權(quán)模塊14以所搜尋出的主金鑰和第一金鑰透過(guò)運(yùn)算單元143進(jìn)行運(yùn)算而產(chǎn)生第二金鑰,并將該第二金鑰傳輸至中介模塊13,以由中介模塊13再依據(jù)自身所具有的第一金鑰結(jié)合所接收的第二金鑰回復(fù)出該主金鑰,即授權(quán)模塊14所搜尋出的主金鑰,亦即用以對(duì)軟件加密使之成為受保護(hù)軟件110的主金鑰,進(jìn)而使處理模塊12利用該主金鑰對(duì)所下載的受保護(hù)軟件110進(jìn)行解密。于軟件供應(yīng)模塊11所提供的受保護(hù)軟件110有被區(qū)分為多個(gè)區(qū)塊的實(shí)施形態(tài)中, 處理模塊12對(duì)受保護(hù)軟件110的多個(gè)區(qū)塊以中介模塊13所回復(fù)出的主金鑰分別解密。其次,中介模塊13和處理模塊12可皆設(shè)置于同一使用者裝置,如手機(jī)或筆記本電腦等,亦可分設(shè)于不同的電子裝置。于中介模塊13設(shè)置于使用者裝置的實(shí)施形態(tài)中,中介模塊13所具有的第一金鑰及自授權(quán)模塊14所接收的第二金鑰可儲(chǔ)存于該使用者裝置的安全硬件16,如IC卡、SIM卡或TPM卡等。于處理模塊12設(shè)置于使用者裝置的實(shí)施形態(tài)中, 處理模塊12可將解密完畢的軟件儲(chǔ)存至該使用者裝置的內(nèi)存15。詳言之,如圖1所示,中介模塊13具有第二溝通接口 131、第一溝通接口 132及回復(fù)單元133,第一溝通接口 132用以與授權(quán)模塊14溝通以傳輸該用戶識(shí)別碼和所下載的受保護(hù)軟件110的軟件識(shí)別碼并接收該第二金鑰,而第二溝通接口 131用以與處理模塊12溝通以將回復(fù)單元133所回復(fù)出的主金鑰提供給處理模塊12。再者,授權(quán)模塊14的運(yùn)算單元143可對(duì)主金鑰(KEY)和第一金鑰(Kl)執(zhí)行除斥運(yùn)算以產(chǎn)生第二金鑰(以),即火2 = KEY Θ火1,然,運(yùn)算單元143所進(jìn)行的運(yùn)算方式不受此限,如可使用秘密分享技術(shù)(secret sharing scheme)。由圖1所示的實(shí)施形態(tài)得以了解,本發(fā)明的中介模塊具有用戶識(shí)別碼及與該用戶識(shí)別碼相對(duì)應(yīng)的第一金鑰,并自授權(quán)模塊取得第二金鑰,當(dāng)受保護(hù)軟件需執(zhí)行解密及授權(quán)檢查時(shí),中介模塊利用第一金鑰和第二金鑰回復(fù)出主金鑰。由于不同中介模塊自授權(quán)模塊會(huì)取得不同的第二金鑰,若用戶欲將軟件安裝至具有另一中介模塊的使用者裝置時(shí)則須向授權(quán)模塊再次索取另一把第二金鑰。此外,軟件經(jīng)混淆(分成多個(gè)區(qū)塊)及加密而轉(zhuǎn)換成受保護(hù)軟件后,不容易一次解密完畢,若欲不透過(guò)第二金鑰而強(qiáng)行解密該受保護(hù)軟件,則需分析受保護(hù)軟件并將每一區(qū)塊重新組合。故,本發(fā)明的軟件授權(quán)系統(tǒng)可增加下載解密受保護(hù)軟件的難度,抑止非法下載或合法下載而非法散布軟件。接著請(qǐng)參閱圖2,其是本發(fā)明的軟件授權(quán)方法的流程圖。本發(fā)明的軟件授權(quán)方法被應(yīng)用于軟件授權(quán)系統(tǒng),該軟件授權(quán)系統(tǒng)主要包括服務(wù)器端和客戶端,該客戶端具有用戶識(shí)別碼和對(duì)應(yīng)該用戶識(shí)別碼的第一金鑰,該服務(wù)器端具有提供以主金鑰進(jìn)行加密的受保護(hù)軟件的軟件供應(yīng)模塊及儲(chǔ)存有該主金鑰和該第一金鑰的授權(quán)模塊。于步驟S201中,令客戶端自軟件供應(yīng)模塊下載受保護(hù)軟件時(shí)取得該受保護(hù)軟件的軟件授權(quán)碼,并將自身所具有的用戶識(shí)別碼及所取得的軟件識(shí)別碼傳輸至授權(quán)模塊。接著于步驟S202,令授權(quán)模塊分別依據(jù)該用戶識(shí)別碼及該軟件識(shí)別碼取得相對(duì)應(yīng)的第一金鑰及主金鑰,以對(duì)該主金鑰及該第一金鑰進(jìn)行運(yùn)算而產(chǎn)生第二金鑰,并將該第二金鑰傳輸至客戶端。進(jìn)至步驟S203。于步驟S203,客戶端接收該第二金鑰,令客戶端依據(jù)自身所具有的第一金鑰結(jié)合所接收的第二金鑰以回復(fù)出該主金鑰,再于步驟S204中,利用所回復(fù)出的主金鑰對(duì)所下載的受保護(hù)軟件進(jìn)行解密。具體實(shí)施時(shí),請(qǐng)參閱圖3A及圖;3B,服務(wù)器端具有轉(zhuǎn)換模塊30、軟件供應(yīng)模塊31和授權(quán)模塊32,客戶端具有中介軟件33及安全硬件34。需說(shuō)明的是,本發(fā)明于實(shí)際應(yīng)用上, 客戶端可例如為智能型手機(jī),服務(wù)器端可提供該智能型手機(jī)下載各種應(yīng)用程序。
7
服務(wù)器端透過(guò)轉(zhuǎn)換模塊30將軟件310’轉(zhuǎn)換為受保護(hù)軟件310,如圖;3B所示,是先將軟件310’區(qū)分為多個(gè)區(qū)塊P1、P2. . . Pn,再利用主金鑰分別對(duì)該些區(qū)塊P1、P2. . . Pn加密而使之成為區(qū)塊Cl、C2. . . Cn,則軟件230’便轉(zhuǎn)換為受保護(hù)軟件310。接著,服務(wù)器端將受保護(hù)軟件310發(fā)布至離使用者最近的網(wǎng)絡(luò)節(jié)點(diǎn),即圖3A所示的軟件供應(yīng)模塊31,以供客戶端可就近取得所需的內(nèi)容,解決網(wǎng)絡(luò)擁擠的狀況并提高使用者訪問(wèn)軟件供應(yīng)網(wǎng)站的響應(yīng)速度。另一方面,當(dāng)轉(zhuǎn)換模塊30利用不同的主金鑰加密軟件310’時(shí),會(huì)將該些主金鑰儲(chǔ)存于授權(quán)模塊32的主金鑰庫(kù)321中,且第一金鑰庫(kù)322儲(chǔ)存有多把與用戶識(shí)別碼相對(duì)應(yīng)的第一金鑰,換言之,服務(wù)器端已預(yù)先將用戶識(shí)別碼與第一金鑰的對(duì)應(yīng)關(guān)系儲(chǔ)存于授權(quán)模塊32 中。客戶端自服務(wù)器端下載受保護(hù)軟件310時(shí)可取得受保護(hù)軟件310的軟件識(shí)別碼, 并將該軟件識(shí)別碼及所具有的用戶識(shí)別碼上傳至服務(wù)器端,且服務(wù)器端的授權(quán)模塊32分別根據(jù)該軟件識(shí)別碼及該用戶識(shí)別碼取得主金鑰和第一金鑰,進(jìn)而以該第一金鑰和該主金鑰運(yùn)算出第二金鑰并將該第二金鑰傳輸至客戶端。換言之,當(dāng)客戶端連結(jié)服務(wù)器端以下載受保護(hù)軟件時(shí),客戶端可通過(guò)軟件供應(yīng)模塊31連結(jié)至授權(quán)模塊32以取得該第二金鑰。于服務(wù)器端內(nèi),安全硬件34系儲(chǔ)存有第一金鑰,安全硬件34將該第一金鑰傳予中介軟件33,以供中介軟件33依據(jù)該第一金鑰及該二金鑰回復(fù)出該主金鑰,且中介軟件33與受保護(hù)軟件310建立聯(lián)機(jī),進(jìn)而利用該主金鑰解密受保護(hù)軟件310的多個(gè)區(qū)塊C1、C2. . . Cn 進(jìn)而完成對(duì)受保護(hù)軟件310的解密。綜上所述,本發(fā)明的軟件授權(quán)系統(tǒng)可分為服務(wù)器端和客戶端,服務(wù)器端可包括軟件供應(yīng)模塊和授權(quán)模塊,客戶端主要包括中介模塊(或中介軟件)并可包括處理模塊。服務(wù)器端可事先將受保護(hù)軟件放到CDN的服務(wù)器上以減少下載反應(yīng)時(shí)間,且每個(gè)客戶端有不同的第一金鑰。服務(wù)器端可利用處理模塊下載受保護(hù)軟件,中介模塊輸出軟件識(shí)別碼及對(duì)應(yīng)該第一金鑰的用戶識(shí)別碼至授權(quán)模塊,供授權(quán)模塊搜尋出相對(duì)應(yīng)的主金鑰和第一金鑰以算出第二金鑰,則客戶端依據(jù)自身所具有的第一金鑰結(jié)合所接收的第二金鑰回復(fù)出該主金鑰,以與所下載的受保護(hù)軟件建立聯(lián)機(jī)而共同對(duì)受保護(hù)軟件中的區(qū)塊解密。因此,通過(guò)本發(fā)明的軟件授權(quán)系統(tǒng)及其方法的應(yīng)用,攻擊者需多次分散下載受保護(hù)軟件,還須先分析中介模塊與授權(quán)模塊的通訊協(xié)議取得第二金鑰,更要分析中介模塊以取得其中的第一金鑰,最后還要分析下載受保護(hù)軟件的解密流程才可能完全解密受保護(hù)軟件。因此,攻擊者不容易發(fā)展出全自動(dòng)工具給一般使用者使用,如此可以阻止非法下載或合法下載而非法散布軟件者,以增加軟件存活時(shí)間,而這也剛好符合軟件市集所販賣軟件的生命周期不長(zhǎng)的特性。上述實(shí)施形態(tài)僅例示性說(shuō)明本發(fā)明的原理、特點(diǎn)及其功效,并非用以限制本發(fā)明的可實(shí)施范疇,任何本領(lǐng)域技術(shù)人員均可在不違背本發(fā)明的精神及范疇下,對(duì)上述實(shí)施形態(tài)進(jìn)行修飾與改變。任何運(yùn)用本發(fā)明所揭示內(nèi)容而完成的等效改變及修飾,均仍應(yīng)為隨附權(quán)利要求范圍所涵蓋。因此,本發(fā)明的權(quán)利保護(hù)范圍,應(yīng)如隨附權(quán)利要求范圍所列。
權(quán)利要求
1.一種軟件授權(quán)系統(tǒng),其特征在于,包括軟件供應(yīng)模塊,提供以主金鑰進(jìn)行加密的受保護(hù)軟件,且該受保護(hù)軟件具有軟件識(shí)別碼;處理模塊,用以自該軟件供應(yīng)模塊下載該受保護(hù)軟件,并輸出所下載的該受保護(hù)軟件的軟件識(shí)別碼;中介模塊,具有用戶識(shí)別碼及對(duì)應(yīng)該用戶識(shí)別碼的第一金鑰,且該中介模塊用以接收該處理模塊所輸出的軟件識(shí)別碼;以及授權(quán)模塊,具有主金鑰庫(kù)和第一金鑰庫(kù),該授權(quán)模塊接收該中介模塊所輸出的該用戶識(shí)別碼及該軟件識(shí)別碼,并根據(jù)該用戶識(shí)別碼及該軟件識(shí)別碼分別至該主金鑰庫(kù)搜尋與該軟件識(shí)別碼相對(duì)應(yīng)的主金鑰及至該第一金鑰庫(kù)搜尋與該用戶識(shí)別碼對(duì)應(yīng)的第一金鑰,其中,該授權(quán)模塊以該主金鑰及該第一金鑰進(jìn)行運(yùn)算而產(chǎn)生第二金鑰并將該第二金鑰傳輸至該中介模塊,以由該中介模塊依據(jù)自身所具有的第一金鑰結(jié)合所接收的該第二金鑰回復(fù)出該主金鑰,使該處理模塊利用該主金鑰對(duì)所下載的受保護(hù)軟件進(jìn)行解密。
2.根據(jù)權(quán)利要求1所述的軟件授權(quán)系統(tǒng),其特征在于,還包括轉(zhuǎn)換模塊,用以將至少一軟件以該主金鑰加密的方式轉(zhuǎn)換為該受保護(hù)軟件并傳輸至該軟件供應(yīng)模塊。
3.根據(jù)權(quán)利要求2所述的軟件授權(quán)系統(tǒng),其特征在于,該轉(zhuǎn)換模塊用以將該軟件區(qū)分為多個(gè)區(qū)塊并利用該主金鑰分別對(duì)該些區(qū)塊進(jìn)行加密而轉(zhuǎn)換為該受保護(hù)軟件,以混淆該軟件的數(shù)據(jù)結(jié)構(gòu)和控制程序。
4.根據(jù)權(quán)利要求3所述的軟件授權(quán)系統(tǒng),其特征在于,該處理模塊是利用該中介模塊所回復(fù)出的主金鑰分別對(duì)該些區(qū)塊進(jìn)行解密。
5.根據(jù)權(quán)利要求1所述的軟件授權(quán)系統(tǒng),其特征在于,該中介模塊包括第一溝通接口,用以將該用戶識(shí)別碼及該軟件識(shí)別碼傳輸至該授權(quán)模塊,并自該授權(quán)模塊接收該第二金鑰;回復(fù)單元,用以結(jié)合該第一金鑰及所接收的該第二金鑰以回復(fù)出該主金鑰;以及第二溝通接口,用以接收該處理模塊所下載的受保護(hù)軟件的軟件識(shí)別碼并將該主金鑰傳輸至該處理模塊。
6.根據(jù)權(quán)利要求1所述的軟件授權(quán)系統(tǒng),其特征在于,該授權(quán)模塊包含運(yùn)算單元,是以該主金鑰及該第一金鑰進(jìn)行互斥運(yùn)算而產(chǎn)生該第二金鑰。
7.根據(jù)權(quán)利要求1所述的軟件授權(quán)系統(tǒng),其特征在于,該第一金鑰是以混淆技術(shù)設(shè)置于該中介模塊。
8.根據(jù)權(quán)利要求1所述的軟件授權(quán)系統(tǒng),其特征在于,該中介模塊被設(shè)置于使用者裝置,且該中介模塊所具有的第一金鑰及所接收的該第二金鑰被儲(chǔ)存于該使用者裝置的安全硬件。
9.根據(jù)權(quán)利要求1所述的軟件授權(quán)系統(tǒng),其特征在于,該處理模塊被設(shè)置于使用者裝置中,且該處理模塊將已解密的受保護(hù)軟件儲(chǔ)存至該使用者裝置的內(nèi)存。
10.一種軟件授權(quán)方法,是應(yīng)用于軟件授權(quán)系統(tǒng),其特征在于,該軟件授權(quán)系統(tǒng)包括服務(wù)器端和客戶端,該客戶端具有用戶識(shí)別碼和對(duì)應(yīng)該用戶識(shí)別碼的第一金鑰,該服務(wù)器端具有提供以主金鑰進(jìn)行加密的受保護(hù)軟件的軟件供應(yīng)模塊及儲(chǔ)存有該主金鑰和該第一金鑰的授權(quán)模塊,該軟件授權(quán)方法包括以下步驟步驟1、令該客戶端自該軟件供應(yīng)模塊下載該受保護(hù)軟件時(shí)取得該受保護(hù)軟件的軟件識(shí)別碼,并將自身所具有的用戶識(shí)別碼及該受保護(hù)軟件的軟件識(shí)別碼傳輸至該授權(quán)模塊;步驟2、令該授權(quán)模塊依據(jù)該用戶識(shí)別碼取得相對(duì)應(yīng)的第一金鑰,且根據(jù)該軟件識(shí)別碼取得相對(duì)應(yīng)的主金鑰,以對(duì)該主金鑰及該第一金鑰進(jìn)行運(yùn)算而產(chǎn)生第二金鑰,并將該第二金鑰傳輸至該客戶端;步驟3、令該客戶端依據(jù)自身所具有的第一金鑰結(jié)合所接收的第二金鑰以回復(fù)出該主金鑰;以及步驟4、令該客戶端利用所回復(fù)出的該主金鑰對(duì)所下載的受保護(hù)軟件進(jìn)行解密。
11.根據(jù)權(quán)利要求10所述的軟件授權(quán)方法,其特征在于,步驟1還包括該服務(wù)器端將至少一軟件以主金鑰加密的方式轉(zhuǎn)換成該受保護(hù)軟件,以供該客戶端下載。
12.根據(jù)權(quán)利要求11所述的軟件授權(quán)方法,其特征在于,于步驟1還包括該服務(wù)器端將該軟件區(qū)分為多個(gè)區(qū)塊并以該主金鑰分別加密而轉(zhuǎn)換為該受保護(hù)軟件,且步驟4還包括令該客戶端以所回復(fù)的主金鑰對(duì)該多個(gè)區(qū)塊分別進(jìn)行解密。
13.根據(jù)權(quán)利要求10所述的軟件授權(quán)方法,其特征在于,步驟2的運(yùn)算方法為互斥運(yùn)算或利用秘密分享技術(shù)。
14.根據(jù)權(quán)利要求10所述的軟件授權(quán)方法,其特征在于,該客戶端還包括用以與所下載的受保護(hù)軟件建立聯(lián)機(jī)的中介軟件,于步驟4中解密的方式為令該中介軟件利用IPC技術(shù)與所下載的受保護(hù)軟件建立聯(lián)機(jī),以利用該主金鑰解密該受保護(hù)軟件。
15.根據(jù)權(quán)利要求10所述的軟件授權(quán)方法,其特征在于,該客戶端還包括中介軟件而該第一金鑰是以混淆技術(shù)設(shè)置于該中介軟件。
16.根據(jù)權(quán)利要求10所述的軟件授權(quán)方法,其特征在于,該客戶端還包括安全硬件而該第一金鑰及/或所接收的第二金鑰被儲(chǔ)存于該安全硬件。
全文摘要
本發(fā)明公開了一種軟件授權(quán)系統(tǒng)及方法,該系統(tǒng)包括服務(wù)器端和客戶端。首先,于客戶端自服務(wù)器端下載受保護(hù)軟件時(shí)取得該受保護(hù)軟件的軟件識(shí)別碼,并將該軟件識(shí)別碼及自身所具有的用戶識(shí)別碼傳輸至服務(wù)器端,接著,服務(wù)器端依據(jù)該用戶識(shí)別碼及該軟件識(shí)別碼分別取得相對(duì)應(yīng)的第一金鑰及主金鑰,以對(duì)該主金鑰及該第一金鑰進(jìn)行運(yùn)算而產(chǎn)生第二金鑰并傳輸至客戶端,最后,由客戶端結(jié)合自身所具有的第一金鑰回復(fù)出該主金鑰,再利用該主金鑰對(duì)該受保護(hù)軟件進(jìn)行解密。據(jù)此,得以增加下載解密受保護(hù)軟件的難度,抑止非法下載或合法下載而非法散布軟件。
文檔編號(hào)G06F21/00GK102467634SQ201110021229
公開日2012年5月23日 申請(qǐng)日期2011年1月14日 優(yōu)先權(quán)日2010年11月10日
發(fā)明者高銘智 申請(qǐng)人:財(cái)團(tuán)法人工業(yè)技術(shù)研究院