一種軟件版權(quán)保護(hù)中綁定硬件信息與密鑰的方法
【專(zhuān)利摘要】本發(fā)明涉及的一種軟件版權(quán)保護(hù)中綁定硬件信息與密鑰的方法,其特征在于:由服務(wù)器根據(jù)用戶(hù)請(qǐng)求生成用戶(hù)密鑰對(duì);由服務(wù)器對(duì)用戶(hù)信息進(jìn)行驗(yàn)證并實(shí)現(xiàn)用戶(hù)硬件信息與密鑰的綁定與管理;若是用戶(hù)信息合法,則將其硬件信息與密鑰進(jìn)行綁定。
【專(zhuān)利說(shuō)明】一種軟件版權(quán)保護(hù)中綁定硬件信息與密鑰的方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及基于網(wǎng)絡(luò)的軟件版權(quán)保護(hù)技術(shù),具體地說(shuō)是一種軟件版權(quán)保護(hù)中綁定硬件信息與密鑰的方法。
【背景技術(shù)】
[0002]隨著社會(huì)的進(jìn)步,對(duì)于知識(shí)產(chǎn)權(quán)的保護(hù)也變得日益重要。而網(wǎng)絡(luò)和信息技術(shù)的高速發(fā)展,極大地降低了數(shù)字化產(chǎn)品(如軟件)等盜版的難度,人們可以隨意拷貝使用數(shù)字化產(chǎn)品,給知識(shí)產(chǎn)權(quán)的保護(hù)帶來(lái)了極大的威脅。
[0003]在數(shù)字化產(chǎn)品的使用過(guò)程中,保障版權(quán)所有者的權(quán)益成為國(guó)內(nèi)外面臨的巨大問(wèn)題和挑戰(zhàn),如何保障版權(quán)所有者的權(quán)益顯得尤為重要。
[0004]目前的軟件版權(quán)保護(hù)中綁定硬件信息與密鑰方法主要有兩種:一是硬加密,二是軟加密。
[0005]硬加密將要保護(hù)的軟件與硬件加密鎖綁定,一些重要信息,如加密密鑰、敏感數(shù)據(jù)、授權(quán)文件、自定義算法等都存儲(chǔ)在加密鎖中。軟加密指不需要額外硬件的軟件保護(hù)方式,一般采取序列號(hào)或許可證文件的授權(quán)方式。很多軟加密方案采用與機(jī)器硬件綁定的方式,但它綁定是機(jī)器本身的硬件信息,如CPU、BIOS、硬盤(pán)、MAC等,沒(méi)有增加額外的硬件設(shè)備。
[0006]以上兩種軟件保護(hù)方法,在進(jìn)行用戶(hù)驗(yàn)證的過(guò)程中,都用到了綁定硬件信息與密鑰的技術(shù)。綁定硬件信息與密鑰技術(shù)主要用在一些軟件的安裝與使用上,將用戶(hù)硬件信息如CPU,硬盤(pán),網(wǎng)卡,主板等與密鑰綁定,用以限制使用同一密鑰的用戶(hù)數(shù)或設(shè)備數(shù),從而達(dá)到對(duì)軟件進(jìn)行保護(hù)的目的。其主要應(yīng)用于收費(fèi)軟件,比如操作系統(tǒng)、殺毒軟件、數(shù)字版權(quán)管理系統(tǒng)等。
[0007]目前使用綁定硬件信息與密鑰的方法主要有以下三種:
[0008]一、在軟件分發(fā)時(shí)內(nèi)置密鑰,這種方法實(shí)質(zhì)上是對(duì)每一個(gè)發(fā)行的軟件內(nèi)置密鑰,在用戶(hù)安裝后,通過(guò)網(wǎng)絡(luò)將用戶(hù)硬件信息與密鑰信息發(fā)送至服務(wù)器進(jìn)行注冊(cè)驗(yàn)證。
[0009]上述這種方法的缺點(diǎn)是:
[0010]1.對(duì)不同用戶(hù)需要分別進(jìn)行軟件打包,軟件升級(jí)困難;
[0011]2.用戶(hù)更換軟件,需要重新驗(yàn)證硬件信息及密鑰;
[0012]3.密鑰管理復(fù)雜混亂,易出現(xiàn)錯(cuò)誤。
[0013]二、根據(jù)硬件信息生成密鑰,這種方法是根據(jù)用戶(hù)的硬件信息,直接生成密鑰。
[0014]這種方法的缺點(diǎn)是:
[0015]1.硬件信息生成固定密鑰算法存在一定安全隱患,容易給攻擊者采用分析程序進(jìn)行跟蹤、反編譯等手段進(jìn)行攻擊;
[0016]2.用戶(hù)更換損壞硬件會(huì)造成密鑰不一致。
[0017]三、將密鑰內(nèi)置于硬件,這種方法是在硬件中內(nèi)置密鑰。
[0018]這種方法的缺點(diǎn)是:[0019]1.硬件損壞,會(huì)造成密鑰滅失;
[0020]2.軟件需要在指定硬件上運(yùn)行,相當(dāng)于軟硬件捆綁銷(xiāo)售。
[0021]由于現(xiàn)有技術(shù)綁定硬件信息與密鑰方法的上述缺點(diǎn),造成用戶(hù)綁定硬件信息與密鑰過(guò)程繁瑣,不僅使軟件的使用變得困難而導(dǎo)致軟件推廣受阻,同時(shí)也使得合法用戶(hù)的權(quán)益得不到保障。所以發(fā)明一種快速高效靈活的綁定硬件信息與密鑰的方法是十分有意義的。
【發(fā)明內(nèi)容】
[0022]本發(fā)明的目的旨在:提供一種基于網(wǎng)絡(luò)的綁定硬件與密鑰的方法,快速高效靈活地綁定硬件信息與密鑰,提高軟件保護(hù)的用戶(hù)體驗(yàn)及效率。
[0023]本發(fā)明的目的是這樣實(shí)現(xiàn)的:
[0024]這種軟件版權(quán)保護(hù)中綁定硬件信息與密鑰的方法,其特征在于:由服務(wù)器根據(jù)用戶(hù)請(qǐng)求生成用戶(hù)密鑰對(duì);由服務(wù)器對(duì)用戶(hù)信息進(jìn)行驗(yàn)證并實(shí)現(xiàn)用戶(hù)硬件信息與密鑰的綁定與管理;若是用戶(hù)信息合法,則將其硬件信息與密鑰進(jìn)行綁定。
[0025]綁定用戶(hù)硬件信息與密鑰步驟如下:
[0026](a)用戶(hù)在軟件提供者處下載軟件,并安裝;
[0027](b)用戶(hù)在軟件提供者處服務(wù)器進(jìn)行注冊(cè);
[0028](c)用戶(hù)登錄,客戶(hù)端為用戶(hù)生成一對(duì)非對(duì)稱(chēng)密鑰對(duì)私鑰A、公鑰A ;
[0029](d)用戶(hù)將用戶(hù)信息、硬件信息、公鑰A發(fā)送至服務(wù)器;
[0030](e)服務(wù)器驗(yàn)證用戶(hù)信息,如果用戶(hù)信息不合法,服務(wù)器則向客戶(hù)端發(fā)送錯(cuò)誤信息,提示用戶(hù);如果用戶(hù)信息合法,服務(wù)器在數(shù)據(jù)庫(kù)中對(duì)用戶(hù)的硬件信息進(jìn)行查找;若不存在,則表明用戶(hù)的硬件信息不存在,即用戶(hù)的硬件未注冊(cè),服務(wù)器便對(duì)用戶(hù)硬件信息進(jìn)行注冊(cè),生成一對(duì)非對(duì)稱(chēng)密鑰對(duì)私鑰B、公鑰B,并與此硬件信息綁定,存入數(shù)據(jù)庫(kù);若用戶(hù)的硬件信息存在,即用戶(hù)的硬件信息已注冊(cè),服務(wù)器從數(shù)據(jù)庫(kù)中讀取此硬件信息綁定的私鑰B ;
[0031](f)服務(wù)器使用接收的客戶(hù)端公鑰A,對(duì)私鑰B進(jìn)行加密,并發(fā)送給用戶(hù);
[0032](g)用戶(hù)接收數(shù)據(jù)后,使用私鑰A進(jìn)行解密,得到私鑰B,存儲(chǔ)于本地。
[0033]密鑰用于軟件的版權(quán)保護(hù)的步驟如下:
[0034](a)用戶(hù)啟動(dòng)客戶(hù)端軟件,并登錄連接服務(wù)器;
[0035](b)客戶(hù)端用戶(hù)向服務(wù)器請(qǐng)求授權(quán)文件;
[0036](c)服務(wù)器接收用戶(hù)請(qǐng)求,生成用戶(hù)授權(quán)文件,使用公鑰B進(jìn)行加密;
[0037](d)服務(wù)器將加密后的授權(quán)文件發(fā)送給客戶(hù)端用戶(hù);
[0038](e)客戶(hù)端用戶(hù)接收服務(wù)器發(fā)送的加密的授權(quán)文件;
[0039](f)客戶(hù)端用戶(hù)使用私鑰B解密得到授權(quán)文件;
[0040](g)客戶(hù)端用戶(hù)讀取并驗(yàn)證授權(quán)文件,啟動(dòng)客戶(hù)端軟件。
[0041]本發(fā)明方法詳細(xì)過(guò)程如下:
[0042]一.用戶(hù)下載、安裝軟件,注冊(cè)并登錄:
[0043](I)用戶(hù)從服務(wù)器下載軟件,并安裝在本地電腦上;
[0044](2)登錄過(guò)程如下:
[0045]第一步,用戶(hù)注冊(cè),用戶(hù)可通過(guò)服務(wù)器網(wǎng)站或客戶(hù)端軟件進(jìn)行注冊(cè)。[0046]第二步,發(fā)送用戶(hù)名密碼到服務(wù)器。
[0047]服務(wù)器驗(yàn)證用戶(hù)名密碼,若合法,將登錄成功信息發(fā)送至客戶(hù)端并提示用戶(hù);若不合法,將登錄失敗信息發(fā)送客戶(hù)端并提示用戶(hù)。
[0048]二.發(fā)送用于通信的非對(duì)稱(chēng)密鑰:
[0049](I)客戶(hù)端生成非對(duì)稱(chēng)密鑰對(duì),并發(fā)送公鑰至服務(wù)器;
[0050](2)服務(wù)器收到用戶(hù)公鑰,用其加密與硬件綁定的私鑰,并發(fā)送至客戶(hù)端。
[0051]上述公鑰發(fā)送可采用PKI等安全的密鑰傳遞方案。
[0052]三.綁定硬件信息與密鑰:
[0053](I)用戶(hù)發(fā)送硬件信息至服務(wù)器;
[0054](2)服務(wù)器收到后,和數(shù)據(jù)庫(kù)比對(duì),若存在,進(jìn)行(4);
[0055](3)服務(wù)器生成一對(duì)非對(duì)稱(chēng)密鑰對(duì),與硬件信息綁定,存入服務(wù)器;
[0056](4)服務(wù)器讀取與硬件信息綁定的密鑰對(duì)中私鑰,將其加密后發(fā)送至客戶(hù)端;
[0057](5)客戶(hù)端解密得到私鑰;
[0058]四.合法用戶(hù)啟動(dòng)客戶(hù)端軟件:
[0059](I)用戶(hù)啟動(dòng)軟件,登錄客戶(hù)端軟件,連接服務(wù)器;
[0060](2)客戶(hù)端軟件將用戶(hù)信息,用戶(hù)硬件信息發(fā)送至服務(wù)器;
[0061](3)客戶(hù)端用戶(hù)向服務(wù)器請(qǐng)求授權(quán)文件,服務(wù)器驗(yàn)證用戶(hù)信息和用戶(hù)硬件信息;
[0062](4)用戶(hù)信息和用戶(hù)硬件信息合法,服務(wù)器生成授權(quán)文件,并使用綁定硬件信息的密鑰對(duì)的公鑰對(duì)授權(quán)文件進(jìn)行加密,得到加密后的授權(quán)文件;
[0063](5)服務(wù)器將加密后的授權(quán)文件發(fā)送至客戶(hù)端用戶(hù);
[0064](6)客戶(hù)端用戶(hù)接收服務(wù)器發(fā)送的加密后的授權(quán)文件,使用客戶(hù)端用戶(hù)存儲(chǔ)的與硬件信息綁定的密鑰對(duì)的私鑰進(jìn)行解密,得到解密后的授權(quán)文件;
[0065](7)客戶(hù)端用戶(hù)驗(yàn)證授權(quán)文件的合法性,合法即成功啟動(dòng)客戶(hù)端軟件。
[0066]五.實(shí)時(shí)監(jiān)測(cè):
[0067]用戶(hù)在客戶(hù)端登錄后,可以通過(guò)網(wǎng)絡(luò)與服務(wù)器進(jìn)行周期性通信,保持登錄狀態(tài),同時(shí)服務(wù)器可以監(jiān)測(cè)用戶(hù)是否存在硬件更改行為,如手動(dòng)更改操作系統(tǒng)的MAC地址、熱插拔邏輯硬盤(pán)等。
[0068]六.硬件更改:
[0069]如果用戶(hù)更改了硬件,服務(wù)器收到更改后的硬件信息,與數(shù)據(jù)庫(kù)進(jìn)行比對(duì),設(shè)置一定硬件修改閾值,如沒(méi)超過(guò)硬件信息修改閾值,則提示用戶(hù)硬件信息修改,需覆蓋掉原有硬件信息。若超過(guò)硬件信息修改閾值,則提示用戶(hù)次硬件信息未注冊(cè),需要注冊(cè)次新硬件系統(tǒng)信息。
[0070]若覆蓋原硬件信息,則服務(wù)器驗(yàn)證后,在數(shù)據(jù)庫(kù)中更新硬件信息;若注冊(cè)新硬件系統(tǒng),則進(jìn)行步驟三。注冊(cè)硬件信息,并綁定硬件信息與密鑰。
[0071]七.限制同一用戶(hù)綁定的硬件設(shè)備數(shù)
[0072]服務(wù)器設(shè)定同一用戶(hù)所綁定的硬件設(shè)備數(shù),用戶(hù)可以注冊(cè)多臺(tái)硬件信息,并分別綁定密鑰。當(dāng)用戶(hù)在一臺(tái)新的硬件設(shè)備上登錄使用客戶(hù)端軟件時(shí),服務(wù)器首先檢查用戶(hù)所綁定的硬件設(shè)備數(shù)是否超出,若超出,則提示用戶(hù)所綁定硬件設(shè)備數(shù)超出,無(wú)法綁定;若沒(méi)超出,則服務(wù)器生成一對(duì)非對(duì)稱(chēng)密鑰對(duì),并與此硬件綁定。[0073]本發(fā)明與國(guó)內(nèi)外現(xiàn)有同類(lèi)產(chǎn)品的相比,其創(chuàng)造性在于以下幾點(diǎn):
[0074]1.提出了一種基于網(wǎng)絡(luò)的綁定硬件信息與密鑰的方法;
[0075]2.利用服務(wù)器根據(jù)用戶(hù)請(qǐng)求實(shí)時(shí)生成用戶(hù)密鑰;
[0076]3.通過(guò)網(wǎng)絡(luò)實(shí)時(shí)監(jiān)測(cè)用戶(hù)硬件信息的改變。
[0077]本發(fā)明與國(guó)內(nèi)外現(xiàn)有技術(shù)的不同點(diǎn)在于:
[0078]1.綁定硬件的密鑰對(duì)由服務(wù)器生成管理;
[0079]2.用戶(hù)可實(shí)時(shí)更新密鑰對(duì),提高密鑰安全性;
[0080]3.用戶(hù)端硬件更新后容易重新綁定密鑰,硬件綁定密鑰靈活高效。
[0081]本發(fā)明的優(yōu)點(diǎn)是:
[0082]1.密鑰由服務(wù)器生成,防止客戶(hù)端反編譯破解;
[0083]2.軟件與密鑰分離,不用對(duì)不同用戶(hù)進(jìn)行分別打包;
[0084]3.綁定硬件信息與密鑰操作容易;
[0085]4.硬件更新后的重綁定更容易。
【專(zhuān)利附圖】
【附圖說(shuō)明】
[0086]圖1為本發(fā)明綁定硬件信息與密鑰的方法流程圖;
[0087]圖2為本發(fā)明合法用戶(hù)啟動(dòng)客戶(hù)端軟件流程圖;
[0088]圖3為硬件更改覆蓋原有硬件信息或注冊(cè)新硬件信息圖。
【具體實(shí)施方式】
[0089]下面通過(guò)【具體實(shí)施方式】對(duì)本發(fā)明做進(jìn)一步說(shuō)明。
[0090]這種軟件版權(quán)保護(hù)中綁定硬件信息與密鑰的方法,其主要的創(chuàng)意在于:由服務(wù)器根據(jù)用戶(hù)請(qǐng)求生成用戶(hù)密鑰對(duì);由服務(wù)器對(duì)用戶(hù)信息進(jìn)行驗(yàn)證并實(shí)現(xiàn)用戶(hù)硬件信息與密鑰的綁定與管理;若是用戶(hù)信息合法,則將其硬件信息與密鑰進(jìn)行綁定。
[0091]所述的綁定用戶(hù)硬件信息與密鑰步驟如下:
[0092](a)用戶(hù)在軟件提供者處下載軟件,并安裝;
[0093](b)用戶(hù)在軟件提供者處服務(wù)器進(jìn)行注冊(cè);
[0094](c)用戶(hù)登錄,客戶(hù)端為用戶(hù)生成一對(duì)非對(duì)稱(chēng)密鑰對(duì)私鑰A、公鑰A ;
[0095](d)用戶(hù)將用戶(hù)信息、硬件信息、公鑰A發(fā)送至服務(wù)器;
[0096](e)服務(wù)器驗(yàn)證用戶(hù)信息,如果用戶(hù)信息不合法,服務(wù)器則向客戶(hù)端發(fā)送錯(cuò)誤信息,提示用戶(hù);如果用戶(hù)信息合法,服務(wù)器在數(shù)據(jù)庫(kù)中對(duì)用戶(hù)的硬件信息進(jìn)行查找;若不存在,則表明用戶(hù)的硬件信息不存在,即用戶(hù)的硬件未注冊(cè),服務(wù)器便對(duì)用戶(hù)硬件信息進(jìn)行注冊(cè),生成一對(duì)非對(duì)稱(chēng)密鑰對(duì)私鑰B、公鑰B,并與此硬件信息綁定,存入數(shù)據(jù)庫(kù);若用戶(hù)的硬件信息存在,即用戶(hù)的硬件信息已注冊(cè),服務(wù)器從數(shù)據(jù)庫(kù)中讀取此硬件信息綁定的私鑰B ;
[0097](f)服務(wù)器使用接收的客戶(hù)端公鑰A,對(duì)私鑰B進(jìn)行加密,并發(fā)送給用戶(hù);
[0098](g)用戶(hù)接收數(shù)據(jù)后,使用私鑰A進(jìn)行解密,得到私鑰B,存儲(chǔ)于本地。
[0099]所述的密鑰用于軟件的版權(quán)保護(hù)的步驟如下:
[0100](a)用戶(hù)啟動(dòng)客戶(hù)端軟件,并登錄連接服務(wù)器;
[0101](b)客戶(hù)端用戶(hù)向服務(wù)器請(qǐng)求授權(quán)文件;[0102](c)服務(wù)器接收用戶(hù)請(qǐng)求,生成用戶(hù)授權(quán)文件,使用公鑰B進(jìn)行加密;
[0103](d)服務(wù)器將加密后的授權(quán)文件發(fā)送給客戶(hù)端用戶(hù);
[0104](e)客戶(hù)端用戶(hù)接收服務(wù)器發(fā)送的加密的授權(quán)文件;
[0105](f)客戶(hù)端用戶(hù)使用私鑰B解密得到授權(quán)文件;
[0106](g)客戶(hù)端用戶(hù)讀取并驗(yàn)證授權(quán)文件,啟動(dòng)客戶(hù)端軟件。
[0107]這種軟件版權(quán)保護(hù)中綁定硬件信息與密鑰的方法,其具體操作過(guò)程如下:
[0108]一.用戶(hù)下載、安裝軟件,注冊(cè)并登錄:
[0109](I)用戶(hù)從服務(wù)器下載軟件,并安裝在本地電腦上;
[0110](2)登錄過(guò)程如下:
[0111]第一步,用戶(hù)注冊(cè),用戶(hù)可通過(guò)服務(wù)器網(wǎng)站或客戶(hù)端軟件進(jìn)行注冊(cè);
[0112]第二步,發(fā)送用戶(hù)名密碼到服務(wù)器,由服務(wù)器驗(yàn)證用戶(hù)名密碼,若合法將登錄成功信息發(fā)送至客戶(hù)端并提示用戶(hù);若不合法,將登錄失敗信息發(fā)送客戶(hù)端并提示用戶(hù)。
[0113]二.發(fā)送用于通信的非對(duì)稱(chēng)密鑰:
[0114](I)客戶(hù)端生成非對(duì)稱(chēng)密鑰對(duì),并發(fā)送公鑰至服務(wù)器;
[0115](2)服務(wù)器收到用戶(hù)公鑰,用其加密與硬件綁定的私鑰,并發(fā)送至客戶(hù)端,所述公鑰發(fā)送采用PKI安全的密鑰傳遞方案實(shí)現(xiàn);
[0116]三.綁定硬件信息與密鑰:
[0117](I)用戶(hù)發(fā)送硬件信息至服務(wù)器;
[0118](2)服務(wù)器收到后和數(shù)據(jù)庫(kù)比對(duì),若存在,進(jìn)行服務(wù)器讀取與硬件信息綁定的密鑰對(duì)中私鑰,將其加密后發(fā)送至客戶(hù)端;
[0119](3)服務(wù)器生成一對(duì)非對(duì)稱(chēng)密鑰對(duì),與硬件信息綁定,存入服務(wù)器;
[0120](4)客戶(hù)端解密得到私鑰;
[0121]四.合法用戶(hù)啟動(dòng)客戶(hù)端軟件:
[0122](I)用戶(hù)啟動(dòng)軟件,登錄客戶(hù)端軟件,連接服務(wù)器;
[0123](2)客戶(hù)端軟件將用戶(hù)信息,用戶(hù)硬件信息發(fā)送至服務(wù)器;
[0124](3)客戶(hù)端用戶(hù)向服務(wù)器請(qǐng)求授權(quán)文件,服務(wù)器驗(yàn)證用戶(hù)信息和用戶(hù)硬件信息;
[0125](4)用戶(hù)信息和用戶(hù)硬件信息合法,服務(wù)器生成授權(quán)文件,并使用綁定硬件信息的密鑰對(duì)的公鑰對(duì)授權(quán)文件進(jìn)行加密,得到加密后的授權(quán)文件;
[0126](5)服務(wù)器將加密后的授權(quán)文件發(fā)送至客戶(hù)端用戶(hù);
[0127](6)客戶(hù)端用戶(hù)接收服務(wù)器發(fā)送的加密后的授權(quán)文件,使用客戶(hù)端用戶(hù)存儲(chǔ)的與硬件信息綁定的密鑰對(duì)的私鑰進(jìn)行解密,得到解密后的授權(quán)文件;
[0128](7)客戶(hù)端用戶(hù)驗(yàn)證授權(quán)文件的合法性,合法即成功啟動(dòng)客戶(hù)端軟件;
[0129]五.實(shí)時(shí)監(jiān)測(cè):
[0130]用戶(hù)在客戶(hù)端登錄后,可以通過(guò)網(wǎng)絡(luò)與服務(wù)器進(jìn)行周期性通信,保持登錄狀態(tài),同時(shí)服務(wù)器可以監(jiān)測(cè)用戶(hù)是否存在硬件更改行為,如手動(dòng)更改操作系統(tǒng)的MAC地址、熱插拔邏輯硬盤(pán);
[0131]六.硬件更改:
[0132]如果用戶(hù)更改了硬件,服務(wù)器收到更改后的硬件信息,與數(shù)據(jù)庫(kù)進(jìn)行比對(duì),設(shè)置一定硬件修改閾值,如沒(méi)超過(guò)硬件信息修改閾值,則提示用戶(hù)硬件信息修改,需覆蓋掉原有硬件信息。若超過(guò)硬件信息修改閾值,則提示用戶(hù)次硬件信息未注冊(cè),需要注冊(cè)次新硬件系統(tǒng)信息。
[0133]若覆蓋原硬件信息,則服務(wù)器驗(yàn)證后,在數(shù)據(jù)庫(kù)中更新硬件信息;若注冊(cè)新硬件系統(tǒng),則進(jìn)行步驟三。注冊(cè)硬件信息,并綁定硬件信息與密鑰;
[0134]七.限制同一用戶(hù)綁定的硬件設(shè)備數(shù):
[0135]服務(wù)器設(shè)定同一用戶(hù)所綁定的硬件設(shè)備數(shù),用戶(hù)可以注冊(cè)多臺(tái)硬件信息,并分別綁定密鑰。當(dāng)用戶(hù)在一臺(tái)新的硬件設(shè)備上登錄使用客戶(hù)端軟件時(shí),服務(wù)器首先檢查用戶(hù)所綁定的硬件設(shè)備數(shù)是否超出,若超出,則提示用戶(hù)所綁定硬件設(shè)備數(shù)超出,無(wú)法綁定;若沒(méi)超出,則服務(wù)器生成一對(duì)非對(duì)稱(chēng)密鑰對(duì),并與此硬件綁定。
[0136]實(shí)例1:
[0137]以軟件的版權(quán)保護(hù)為例。用戶(hù)在軟件提供者處注冊(cè),購(gòu)買(mǎi)軟件。購(gòu)買(mǎi)成功后,下載軟件,并安裝。用戶(hù)首次啟動(dòng)客戶(hù)端軟件時(shí),用戶(hù)登錄連接服務(wù)器。客戶(hù)端軟件為用戶(hù)生成一對(duì)RSA非對(duì)稱(chēng)密鑰對(duì)私鑰A、公鑰A ;客戶(hù)端提取用戶(hù)信息,用戶(hù)硬件信息,公鑰A等數(shù)據(jù)信息,發(fā)送至服務(wù)器;服務(wù)器在數(shù)據(jù)庫(kù)中對(duì)合法用戶(hù)的硬件信息進(jìn)行查找,若用戶(hù)硬件信息已注冊(cè),則讀取出與此用戶(hù)硬件信息綁定的密鑰對(duì)的私鑰B ;若用戶(hù)硬件信息未注冊(cè),則需注冊(cè)此用戶(hù)硬件信息,首先檢查用戶(hù)所注冊(cè)綁定的硬件設(shè)備數(shù),若用戶(hù)所注冊(cè)綁定的硬件設(shè)備數(shù)超過(guò)服務(wù)器所設(shè)定的數(shù)目,則服務(wù)器提示用戶(hù)所綁定的硬件數(shù)目超出限制,若用戶(hù)所注冊(cè)綁定的硬件設(shè)備沒(méi)有超出服務(wù)器所設(shè)定的數(shù)目,則服務(wù)器生成一對(duì)RSA非對(duì)稱(chēng)密鑰對(duì)私鑰B、公鑰B,并與此硬件信息綁定,存入數(shù)據(jù)庫(kù);服務(wù)器使用客戶(hù)端用戶(hù)公鑰A對(duì)私鑰B進(jìn)行RSA非對(duì)稱(chēng)加密,將加密后的私鑰B發(fā)送給客戶(hù)端用戶(hù);客戶(hù)端用戶(hù)得到加密后的私鑰B,使用客戶(hù)端用戶(hù)私鑰A進(jìn)行RSA解密,得到與硬件信息綁定的私鑰B。
[0138]使用客戶(hù)端軟件時(shí),用戶(hù)登錄,客戶(hù)端軟件將用戶(hù)信息,用戶(hù)硬件信息發(fā)送至服務(wù)器;客戶(hù)端用戶(hù)向服務(wù)器請(qǐng)求授權(quán)文件;服務(wù)器生成授權(quán)文件;服務(wù)器根據(jù)用戶(hù)信息在數(shù)據(jù)庫(kù)中讀取出與用戶(hù)硬件信息綁定的密鑰對(duì)的公鑰B ;服務(wù)器使用公鑰B對(duì)授權(quán)文件進(jìn)行RSA非對(duì)稱(chēng)加密,并將加密后的授權(quán)文件發(fā)送至客戶(hù)端用戶(hù);客戶(hù)端用戶(hù)接收加密后的授權(quán)文件,讀取存儲(chǔ)與本地的私鑰B進(jìn)行RSA解密,得到解密后的授權(quán)文件;客戶(hù)端用戶(hù)讀取驗(yàn)證解密后的授權(quán)文件,成功啟動(dòng)客戶(hù)端。
[0139]實(shí)現(xiàn)步驟:
[0140]本客戶(hù)端軟件總體上由兩個(gè)模塊組成,用戶(hù)登錄模塊和客戶(hù)端啟動(dòng)模塊;用戶(hù)登錄模塊用于客戶(hù)端和服務(wù)器之間的連接和通信,客戶(hù)端啟動(dòng)模塊用于啟動(dòng)客戶(hù)端。用戶(hù)首次打開(kāi)客戶(hù)端,用戶(hù)登錄,服務(wù)器生成一對(duì)非對(duì)稱(chēng)密鑰對(duì)與用戶(hù)硬件信息綁定;用戶(hù)使用客戶(hù)端軟件時(shí),向服務(wù)器申請(qǐng)授權(quán)文件,服務(wù)器加密授權(quán)文件發(fā)給客戶(hù)端,客戶(hù)端解密授權(quán)文件并驗(yàn)證授權(quán)文件合法性。
[0141]服務(wù)器端包括驗(yàn)證用戶(hù)登錄信息模塊,生成非對(duì)稱(chēng)密鑰對(duì)綁定硬件模塊,生成授權(quán)文件模塊和加密授權(quán)文件模塊。
[0142]一.綁定用戶(hù)硬件信息與密鑰
[0143]1.用戶(hù)注冊(cè)
[0144]用戶(hù)在軟件提供者處服務(wù)器端網(wǎng)頁(yè)或客戶(hù)端進(jìn)行注冊(cè)。
[0145]2.用戶(hù)登錄[0146]注冊(cè)成功后,用戶(hù)使用注冊(cè)信息在客戶(hù)端進(jìn)行登錄。
[0147]3.客戶(hù)端發(fā)送信息到服務(wù)器
[0148]客戶(hù)端登錄連接服務(wù)器后,客戶(hù)端生成一對(duì)RSA非對(duì)稱(chēng)密鑰對(duì)公鑰A、私鑰A,并將用戶(hù)信息,用戶(hù)硬件信息,公鑰A發(fā)送至服務(wù)器。
[0149]4.服務(wù)器生成密鑰綁定用戶(hù)硬件信息
[0150]服務(wù)器接收到客戶(hù)端發(fā)送的信息,在數(shù)據(jù)庫(kù)中查找用戶(hù)硬件信息,若已注冊(cè),則讀取出與硬件信息綁定的密鑰對(duì)的私鑰B ;若未注冊(cè),則服務(wù)器生成一對(duì)RSA非對(duì)稱(chēng)密鑰對(duì)公鑰B、私鑰B,并與硬件信息綁定,存入數(shù)據(jù)庫(kù)。
[0151]5.服務(wù)器加密私鑰B發(fā)送到客戶(hù)端
[0152]服務(wù)器使用接收到的公鑰A,用其對(duì)與硬件信息綁定的密鑰對(duì)的私鑰B進(jìn)行RSA非對(duì)稱(chēng)加密,得到加密后的私鑰B,發(fā)送至客戶(hù)端。
[0153]6.客戶(hù)端解密,得到私鑰B
[0154]客戶(hù)端接收到用加密后的私鑰B,使用客戶(hù)端私鑰A進(jìn)行RSA解密,得到解密后的私鑰B,存儲(chǔ)與本地。
[0155]二.合法用戶(hù)啟動(dòng)客戶(hù)端軟件
[0156]1.用戶(hù)登錄
[0157]用戶(hù)注冊(cè)硬件信息并與密鑰綁定后,用戶(hù)便可使用客戶(hù)端軟件,用戶(hù)打開(kāi)客戶(hù)端,使用注冊(cè)的用戶(hù)信息登錄,連接服務(wù)器。
[0158]2.客戶(hù)端軟件申請(qǐng)授權(quán)文件;
[0159]用戶(hù)登錄,客戶(hù)端連接上服務(wù)器,向服務(wù)器發(fā)送用戶(hù)硬件信息,并申請(qǐng)客戶(hù)端軟件的授權(quán)文件。
[0160]3.服務(wù)器生成授權(quán)文件;
[0161]服務(wù)器根據(jù)用戶(hù)的請(qǐng)求,生成客戶(hù)端軟件所需的授權(quán)文件。
[0162]4.服務(wù)器加密授權(quán)文件;
[0163]服務(wù)器提取與用戶(hù)硬件信息綁定的密鑰對(duì)的公鑰B,使用其對(duì)授權(quán)文件進(jìn)行RSA非對(duì)稱(chēng)加密;
[0164]5.服務(wù)器發(fā)送授權(quán)文件到客戶(hù)端;
[0165]服務(wù)器將進(jìn)行RSA非對(duì)稱(chēng)加密后的授權(quán)文件發(fā)送至客戶(hù)端;
[0166]6.客戶(hù)端解密授權(quán)文件,啟動(dòng)客戶(hù)端。
[0167]客戶(hù)端接收到服務(wù)器發(fā)送的加密后的授權(quán)文件,使用存儲(chǔ)與本地的與硬件信息綁定的私鑰B進(jìn)行RSA解密,得到解密后的授權(quán)文件,并驗(yàn)證授權(quán)文件,成功啟動(dòng)客戶(hù)端。
[0168]三.用戶(hù)硬件信息更改
[0169]A)用戶(hù)部分硬件信息更改
[0170]用戶(hù)部分硬件信息更改,如更換硬盤(pán)、網(wǎng)卡等,設(shè)定一個(gè)閾值,將用戶(hù)的更改信息與所設(shè)定的閾值進(jìn)行比較,若未超過(guò)閾值,服務(wù)器則覆蓋掉原有的硬件信息,將新的硬件信息與密鑰綁定,若超過(guò)閾值,則注冊(cè)新的硬件信息并綁定密鑰。
[0171]B)用戶(hù)全部硬件信息更改
[0172]用戶(hù)全部硬件信息更改,如更換電腦,用戶(hù)登錄時(shí)提示用戶(hù)此硬件信息未進(jìn)行注冊(cè),需要注冊(cè)此硬件,并在服務(wù)器段生成密鑰綁定此硬件。[0173]四.設(shè)定同一用戶(hù)綁定的硬件設(shè)備數(shù)
[0174]服務(wù)器可以限定同一用戶(hù)所注冊(cè)的硬件設(shè)備數(shù),以防止用戶(hù)登錄信息惡意擴(kuò)散。
[0175]本實(shí)例中密鑰對(duì)的生成,加密均可由openssl完成。
[0176]上述僅為本發(fā)明的部分優(yōu)選實(shí)施例,本發(fā)明并不僅限于實(shí)施例的內(nèi)容。對(duì)于本領(lǐng)域中的技術(shù)人員來(lái)說(shuō),在本發(fā)明方法范圍內(nèi)可以有各種變化和更改,所作的任何變化和更改,均在本發(fā)明保護(hù)范圍之內(nèi)。
【權(quán)利要求】
1.一種軟件版權(quán)保護(hù)中綁定硬件信息與密鑰的方法,其特征在于:由服務(wù)器根據(jù)用戶(hù)請(qǐng)求生成用戶(hù)密鑰對(duì);由服務(wù)器對(duì)用戶(hù)信息進(jìn)行驗(yàn)證并實(shí)現(xiàn)用戶(hù)硬件信息與密鑰的綁定與管理;若是用戶(hù)信息合法,則將其硬件信息與密鑰進(jìn)行綁定。
2.如權(quán)利要求1所述的一種軟件版權(quán)保護(hù)中綁定硬件信息與密鑰的方法,其特征在于:所述的綁定用戶(hù)硬件信息與密鑰步驟如下: (a)用戶(hù)在軟件提供者處下載軟件,并安裝; (b)用戶(hù)在軟件提供者處服務(wù)器進(jìn)行注冊(cè); (c)用戶(hù)登錄,客戶(hù)端為用戶(hù)生成一對(duì)非對(duì)稱(chēng)密鑰對(duì)私鑰A、公鑰A; (d)用戶(hù)將用戶(hù)信息、硬件信息、公鑰A發(fā)送至服務(wù)器; (e)服務(wù)器驗(yàn)證用戶(hù)信息,如果用戶(hù)信息不合法,服務(wù)器則向客戶(hù)端發(fā)送錯(cuò)誤信息,提示用戶(hù);如果用戶(hù)信息合法,服務(wù)器在數(shù)據(jù)庫(kù)中對(duì)用戶(hù)的硬件信息進(jìn)行查找;若不存在,則表明用戶(hù)的硬件信息不存在,即用戶(hù)的硬件未注冊(cè),服務(wù)器便對(duì)用戶(hù)硬件信息進(jìn)行注冊(cè),生成一對(duì)非對(duì)稱(chēng)密鑰對(duì)私鑰B、公鑰B,并與此硬件信息綁定,存入數(shù)據(jù)庫(kù);若用戶(hù)的硬件信息存在,即用戶(hù)的硬件信息已注冊(cè),服務(wù)器從數(shù)據(jù)庫(kù)中讀取此硬件信息綁定的私鑰B ; (f)服務(wù)器使用接收的客戶(hù)端公鑰A,對(duì)私鑰B進(jìn)行加密,并發(fā)送給用戶(hù); (g)用戶(hù)接收數(shù)據(jù)后,使用私鑰A進(jìn)行解密,得到私鑰B,存儲(chǔ)與于本地。
3.如權(quán)利要求1所述的一種軟件版權(quán)保護(hù)中綁定硬件信息與密鑰的方法,其特征在于:所述的密鑰用于軟件的版權(quán)保護(hù)的步驟如下: (a)用戶(hù)啟動(dòng)客戶(hù)端軟件,并登錄連接服務(wù)器; (b)客戶(hù)端用戶(hù)向服務(wù)器請(qǐng)求授權(quán)文件; (C)服務(wù)器接收用戶(hù)請(qǐng)求,生成用戶(hù)授權(quán)文件,使用公鑰B進(jìn)行加密; (d)服務(wù)器將加密后的授權(quán)文件發(fā)送給客戶(hù)端用戶(hù); (e)客戶(hù)端用戶(hù)接收服務(wù)器發(fā)送的加密的授權(quán)文件; (f)客戶(hù)端用戶(hù)使用私鑰B解密得到授權(quán)文件; (g)客戶(hù)端用戶(hù)讀取并驗(yàn)證授權(quán)文件,啟動(dòng)客戶(hù)端軟件。
4.如權(quán)利要求1所述的一種軟件版權(quán)保護(hù)中綁定硬件信息與密鑰的方法,其具體操作過(guò)程如下: 一.用戶(hù)下載、安裝軟件,注冊(cè)并登錄: (1)用戶(hù)從服務(wù)器下載軟件,并安裝在本地電腦上; (2)登錄過(guò)程如下: 第一步,用戶(hù)注冊(cè),用戶(hù)可通過(guò)服務(wù)器網(wǎng)站或客戶(hù)端軟件進(jìn)行注冊(cè); 第二步,發(fā)送用戶(hù)名密碼到服務(wù)器,由服務(wù)器驗(yàn)證用戶(hù)名密碼,若合法將登錄成功信息發(fā)送至客戶(hù)端并提示用戶(hù);若不合法,將登錄失敗信息發(fā)送客戶(hù)端并提示用戶(hù)。 二.發(fā)送用于通信的非對(duì)稱(chēng)密鑰: (1)客戶(hù)端生成非對(duì)稱(chēng)密鑰對(duì),并發(fā)送公鑰至服務(wù)器; (2)服務(wù)器收到用戶(hù)公鑰,用其加密與硬件綁定的私鑰,并發(fā)送至客戶(hù)端,所述公鑰發(fā)送采用PKI安全的密鑰傳遞方案實(shí)現(xiàn); 三.綁定硬件信息與密鑰: (I)用戶(hù)發(fā)送硬件信息至服務(wù)器;(2)服務(wù)器收到后和數(shù)據(jù)庫(kù)比對(duì),若存在,進(jìn)行服務(wù)器讀取與硬件信息綁定的密鑰對(duì)中私鑰,將其加密后發(fā)送至客戶(hù)端; (3)服務(wù)器生成一對(duì)非對(duì)稱(chēng)密鑰對(duì),與硬件信息綁定,存入服務(wù)器; (4)客戶(hù)端解密得到私鑰; 四.合法用戶(hù)啟動(dòng)客戶(hù)端軟件: (1)用戶(hù)啟動(dòng)軟件,登錄客戶(hù)端軟件,連接服務(wù)器; (2)客戶(hù)端軟件將用戶(hù)信息,用戶(hù)硬件信息發(fā)送至服務(wù)器; (3)客戶(hù)端用戶(hù)向服務(wù)器請(qǐng)求授權(quán)文件,服務(wù)器驗(yàn)證用戶(hù)信息和用戶(hù)硬件信息; (4)用戶(hù)信息和用戶(hù)硬件信息合法,服務(wù)器生成授權(quán)文件,并使用綁定硬件信息的密鑰對(duì)的公鑰對(duì)授權(quán)文件進(jìn)行加密,得到加密后的授權(quán)文件; (5)服務(wù)器將加密后的授權(quán)文件發(fā)送至客戶(hù)端用戶(hù); (6)客戶(hù)端用戶(hù)接收服務(wù)器發(fā)送的加密后的授權(quán)文件,使用客戶(hù)端用戶(hù)存儲(chǔ)的與硬件信息綁定的密鑰對(duì)的私鑰進(jìn)行解密,得到解密后的授權(quán)文件; (7)客戶(hù)端用戶(hù)驗(yàn)證授權(quán)文件的合法性,合法即成功啟動(dòng)客戶(hù)端軟件; 五.實(shí)時(shí)監(jiān)測(cè): 用戶(hù)在客戶(hù)端登錄后,可以通過(guò)網(wǎng)絡(luò)與服務(wù)器進(jìn)行周期性通信,保持登錄狀態(tài),同時(shí)服務(wù)器可以監(jiān)測(cè)用戶(hù)是否存在硬件更改行為,如手動(dòng)更改操作系統(tǒng)的MAC地址、熱插拔邏輯硬盤(pán); 六.硬件更改: 如果用戶(hù)更改了硬件,服務(wù)器收到更改后的硬件信息,與數(shù)據(jù)庫(kù)進(jìn)行比對(duì),設(shè)置一定硬件修改閾值,如沒(méi)超過(guò)硬件信息修改閾值,則提示用戶(hù)硬件信息修改,需覆蓋掉原有硬件信息。若超過(guò)硬件信息修改閾值,則提示用戶(hù)次硬件信息未注冊(cè),需要注冊(cè)次新硬件系統(tǒng)信肩、O 若覆蓋原硬件信息,則服務(wù)器驗(yàn)證后,在數(shù)據(jù)庫(kù)中更新硬件信息;若注冊(cè)新硬件系統(tǒng),則進(jìn)行步驟三。注冊(cè)硬件信息,并綁定硬件信息與密鑰; 七.限制同一用戶(hù)綁定的硬件設(shè)備數(shù): 服務(wù)器設(shè)定同一用戶(hù)所綁定的硬件設(shè)備數(shù),用戶(hù)可以注冊(cè)多臺(tái)硬件信息,并分別綁定密鑰。當(dāng)用戶(hù)在一臺(tái)新的硬件設(shè)備上登錄使用客戶(hù)端軟件時(shí),服務(wù)器首先檢查用戶(hù)所綁定的硬件設(shè)備數(shù)是否超出,若超出,則提示用戶(hù)所綁定硬件設(shè)備數(shù)超出,無(wú)法綁定;若沒(méi)超出,則服務(wù)器生成一對(duì)非對(duì)稱(chēng)密鑰對(duì),并與此硬件綁定。
【文檔編號(hào)】H04L29/06GK103995991SQ201410190684
【公開(kāi)日】2014年8月20日 申請(qǐng)日期:2014年5月7日 優(yōu)先權(quán)日:2014年5月7日
【發(fā)明者】劉振東, 劉延申, 尤新革, 徐端全, 劉怡, 王維虎 申請(qǐng)人:華中師范大學(xué), 華中科技大學(xué)