專利名稱:基于加密狗的軟件認(rèn)證方法
基于加密狗的軟件認(rèn)證方法
技術(shù)領(lǐng)域:
本發(fā)明涉及軟件認(rèn)證技術(shù),尤其涉及一種基于加密狗的軟件認(rèn)證方法。背景技術(shù):
加密狗是一種外型酷似U盤的硬件設(shè)備,又名加密鎖。加密狗是一種插在計(jì)算機(jī) 并行口上的軟硬件結(jié)合的加密產(chǎn)品,加密狗的外部接口主要是USB接口。傳統(tǒng)的基于加密狗的軟件認(rèn)證方法是通過將軟件中受保護(hù)的文件與USB設(shè)備綁 定,當(dāng)用戶運(yùn)行軟件時(shí),需要將綁定的USB設(shè)備插入軟件運(yùn)行的主機(jī),否則軟件無法運(yùn)行。然而,傳統(tǒng)的這種軟件認(rèn)證方法,用戶可以隨意復(fù)制軟件中受保護(hù)的文件到其它 主機(jī)上,并結(jié)合綁定的USB設(shè)備運(yùn)行該軟件,而軟件發(fā)行方無法阻止用戶的這種復(fù)制傳播 行為,使得軟件認(rèn)證的保護(hù)力度不夠,安全性不高,從而損害了軟件發(fā)行方以及軟件開發(fā)者 的利益。
發(fā)明內(nèi)容基于此,有必要提供一種能提高軟件認(rèn)證的安全性的基于加密狗的軟件認(rèn)證方法。一種基于加密狗的軟件認(rèn)證方法,包括以下步驟將軟件與加密狗綁定;軟件每次啟動(dòng)時(shí)檢測是否有與該軟件綁定的加密狗接入,如果沒有,則拒絕訪問, 如果有,則檢測所述加密狗的使用狀態(tài)是否為已使用狀態(tài),如果不是,則在所述加密狗中標(biāo) 記已使用狀態(tài),并允許訪問,如果是,則檢測是否能從運(yùn)行軟件的主機(jī)中獲取到授權(quán)信息,如果是,則允許訪問,否則拒絕 訪問O優(yōu)選的,在所述將軟件與加密狗綁定的步驟之前還包括在加密狗中寫入授權(quán)信息;所述方法還包括步驟當(dāng)檢測到所述加密狗的使用狀態(tài)不為已使用狀態(tài)時(shí),將加密狗中的授權(quán)信息寫入 運(yùn)行軟件的主機(jī)中。優(yōu)選的,所述授權(quán)信息包括授權(quán)使用次數(shù);所述方法還包括步驟當(dāng)檢測到能從運(yùn)行軟件的主機(jī)中獲取到授權(quán)信息時(shí),且所述授權(quán)信息中的授權(quán)使 用次數(shù)大于0時(shí),則授權(quán)使用次數(shù)減1。優(yōu)選的,所述方法還包括步驟獲取所述授權(quán)使用次數(shù);檢測所述授權(quán)使用次數(shù)是否為零,如果是,則拒絕訪問,否則允許訪問。
優(yōu)選的,所述方法還包括步驟當(dāng)檢測到所述加密狗的使用狀態(tài)為已使用狀態(tài)時(shí),將所述加密狗中的授權(quán)使用次
數(shù)清零。優(yōu)選的,所述授權(quán)信息包括用戶使用權(quán)限;所述方法還包括步驟當(dāng)允許訪問時(shí),根據(jù)所述用戶使用權(quán)限允許用戶訪問軟件中的已授權(quán)的功能模 塊。優(yōu)選的,所述加密狗為使用USB接口的電子設(shè)備。優(yōu)選的,所述加密狗為U盤或MP3播放器。上述基于加密狗的軟件認(rèn)證方法,在軟件啟動(dòng)時(shí)若檢測到有與軟件綁定的加密狗 接入,則檢測加密狗的使用狀態(tài)是否為已使用狀態(tài),若是使用過的加密狗,則檢測是否能從 運(yùn)行軟件的主機(jī)中獲取到授權(quán)信息。由于授權(quán)信息只能從運(yùn)行軟件的主機(jī)中獲取,而用戶 并不容易得到授權(quán)信息的存儲(chǔ)位置。這樣,能保證一個(gè)加密狗只能對(duì)應(yīng)一臺(tái)主機(jī)使用,從而 能有效防止同時(shí)擁有加密狗和軟件的用戶將受保護(hù)的文件進(jìn)行復(fù)制和傳播,提高了軟件認(rèn) 證的安全性。
圖1為實(shí)施例一提供的基于加密狗的軟件認(rèn)證方法的流程圖;圖2為實(shí)施例二提供的基于加密狗的軟件認(rèn)證方法的流程圖。
具體實(shí)施方式如圖1所示,實(shí)施例一中,基于加密狗的軟件認(rèn)證方法包括以下步驟步驟S102,將軟件與加密狗綁定。將軟件中受保護(hù)的文件與加密狗綁定,當(dāng)用戶運(yùn) 行軟件時(shí),需要將加密狗插入到軟件運(yùn)行的主機(jī)上,否則軟件無法運(yùn)行。步驟S104,在軟件每次啟動(dòng)時(shí)檢測是否有與該軟件綁定的加密狗接入,若是,則進(jìn) 入步驟S108,否則進(jìn)入步驟S106。步驟S106,拒絕訪問。當(dāng)接入的加密狗不是與軟件綁定的加密狗時(shí),則直接拒絕訪 問。步驟S108,檢測加密狗的使用狀態(tài)是否為已使用狀態(tài),若是,則進(jìn)入步驟S112,否 則進(jìn)入步驟Sl 10。步驟S110,在加密狗中標(biāo)記已使用狀態(tài)。若接入的加密狗的使用狀態(tài)不是已使用 狀態(tài),則表明接入的加密狗是未被使用過的,軟件則允許訪問,并在加密狗中標(biāo)記已使用狀 態(tài)。這樣,在下一次使用該加密狗時(shí)則能檢測到加密狗的使用狀態(tài)為已使用狀態(tài)。步驟S112,檢測是否能從運(yùn)行軟件的主機(jī)中獲取到授權(quán)信息,若是,則進(jìn)入步驟 S114,否則進(jìn)入步驟S106。步驟S114,允許訪問。當(dāng)從運(yùn)行軟件的主機(jī)中能獲取到授權(quán)信息,則軟件允許訪 問。若從運(yùn)行軟件的主機(jī)中不能獲取到授權(quán)信息,則該主機(jī)不是加密狗第一次使用時(shí)運(yùn)行 軟件的主機(jī),有可能是用戶將受保護(hù)的文件復(fù)制到其他主機(jī)上,并接入與軟件綁定的加密 狗,此時(shí)軟件將無法運(yùn)行。
由于授權(quán)信息可以在第一次使用加密狗時(shí)復(fù)制到主機(jī)中的某一位置,用戶不容易 得到授權(quán)信息的存儲(chǔ)位置,因此授權(quán)信息不易復(fù)制和傳播。用戶即使將受保護(hù)的文件復(fù)制 到其它主機(jī)并接入與軟件綁定的加密狗,由于不能從運(yùn)行軟件的主機(jī)中獲取到授權(quán)信息, 因此軟件將無法運(yùn)行。這樣,能保證一個(gè)加密狗只能對(duì)應(yīng)一臺(tái)主機(jī)使用,從而能有效防止同 時(shí)擁有加密狗和軟件的用戶將受保護(hù)的文件進(jìn)行復(fù)制和傳播,提高了軟件認(rèn)證的安全性。如圖2所示,實(shí)施例二中,基于加密狗的軟件認(rèn)證方法包括以下步驟步驟S202,在加密狗中寫入授權(quán)信息,將軟件與加密狗綁定。授權(quán)信息是在軟件啟 動(dòng)時(shí)用于授權(quán)驗(yàn)證的,當(dāng)授權(quán)通過,軟件才能正常運(yùn)行。步驟S204,軟件每次啟動(dòng)時(shí)檢測是否有與該軟件綁定的加密狗接入,若是,則進(jìn)入 步驟S208,否則進(jìn)入步驟S206。步驟S206,拒絕訪問。當(dāng)軟件啟動(dòng)時(shí)檢測到與軟件綁定的加密狗未接入,則直接拒 絕訪問,軟件無法運(yùn)行。步驟S208,檢測加密狗的使用狀態(tài)是否為已使用狀態(tài),若是,則進(jìn)入步驟S214,否 則進(jìn)入步驟S210。步驟S210,將加密狗中的授權(quán)信息寫入運(yùn)行軟件的主機(jī)中。當(dāng)檢測加密狗的使用 狀態(tài)不是已使用狀態(tài)時(shí),則該加密狗為新使用的加密狗,是第一次接入運(yùn)行軟件的主機(jī)中, 則將加密狗中的授權(quán)信息寫入到運(yùn)行軟件的主機(jī)中。在優(yōu)選的實(shí)施例中,可以將授權(quán)信息 寫入硬盤、內(nèi)存或其他指定的存儲(chǔ)空間中。步驟S212,在加密狗中標(biāo)記已使用狀態(tài)。接入的加密狗為新使用的加密狗時(shí),在加 密狗中標(biāo)記已使用狀態(tài),這樣,在下一次使用該加密狗時(shí)則能檢測到加密狗的使用狀態(tài)為 已使用狀態(tài)。步驟S214,檢測是否能從運(yùn)行軟件的主機(jī)中獲取到授權(quán)信息,若是,則進(jìn)入步驟 S216,否則進(jìn)入步驟S206。步驟S216,獲取授權(quán)使用次數(shù)。該實(shí)施例中,授權(quán)信息包括授權(quán)使用次數(shù),從運(yùn)行 軟件中的主機(jī)中獲取授權(quán)使用次數(shù)。授權(quán)使用次數(shù)可以預(yù)先設(shè)置并寫入加密狗中,例如可 以設(shè)置為100次。步驟S218,檢測授權(quán)使用次數(shù)是否為零,若是,則進(jìn)入步驟S206,否則進(jìn)入步驟 S220。步驟S220,允許訪問。當(dāng)授權(quán)使用次數(shù)為零時(shí),則說明軟件授權(quán)使用的次數(shù)已經(jīng)用 完,此時(shí)拒絕訪問,軟件無法再運(yùn)行。當(dāng)授權(quán)使用次數(shù)大于零時(shí),則允許訪問,并將授權(quán)使用 次數(shù)減1。由于在檢測到接入的加密狗為使用過的加密狗時(shí),需要獲取主機(jī)中的授權(quán)信息, 而授權(quán)信息可以在第一次使用加密狗時(shí),從加密狗中獲取并存儲(chǔ)在主機(jī)中指定的存儲(chǔ)空間 中,用戶并不容易獲知授權(quán)信息的存儲(chǔ)位置,因此無法進(jìn)行復(fù)制傳播,使得加密狗只能對(duì)應(yīng) 一臺(tái)主機(jī)使用。由于加密狗中的授權(quán)信息是在第一次使用加密狗時(shí)寫入到的運(yùn)行軟件的主機(jī)中, 之后檢測時(shí)獲取的是運(yùn)行軟件的主機(jī)中的授權(quán)信息,對(duì)加密狗中的授權(quán)信息只讀取一次, 因此能減少加密狗中閃存的擦寫次數(shù),延長了加密狗的使用壽命。在一個(gè)優(yōu)選的實(shí)施例中,在步驟S214之前,當(dāng)檢測到加密狗的使用狀態(tài)為已使用狀態(tài)時(shí),將加密狗中的授權(quán)使用次數(shù)清零。加密狗中的授權(quán)使用次數(shù)為零可作為將加密狗 標(biāo)識(shí)為已使用狀態(tài)的標(biāo)志,當(dāng)獲取到加密狗中的授權(quán)使用次數(shù)為零時(shí),則說明加密狗為已 使用狀態(tài)。當(dāng)然,還可以采用其他方式將加密狗標(biāo)識(shí)為已使用狀態(tài),本發(fā)明并不限制于此。在一個(gè)優(yōu)選的實(shí)施例中,授權(quán)信息包括用戶使用權(quán)限,在用戶使用權(quán)限中可以設(shè) 定允許用戶訪問的功能模塊,當(dāng)軟件允許訪問時(shí),根據(jù)該用戶使用權(quán)限允許用戶訪問軟件 中的已授權(quán)的功能模塊。應(yīng)當(dāng)說明的是,上述方法中使用的加密狗可以為使用USB接口的電子設(shè)備,例如U 盤或使用USB接口的MP3播放器或其他電子設(shè)備,在此不用以限制本發(fā)明。另外,對(duì)于第一 次使用的加密狗,在標(biāo)記已使用狀態(tài)時(shí),也可以在加密狗提供的存儲(chǔ)區(qū)域中做其他標(biāo)記,在 此也不用以限制本發(fā)明。以上所述實(shí)施例僅表達(dá)了本發(fā)明的幾種實(shí)施方式,其描述較為具體和詳細(xì),但并 不能因此而理解為對(duì)本發(fā)明專利范圍的限制。應(yīng)當(dāng)指出的是,對(duì)于本領(lǐng)域的普通技術(shù)人員 來說,在不脫離本發(fā)明構(gòu)思的前提下,還可以做出若干變形和改進(jìn),這些都屬于本發(fā)明的保 護(hù)范圍。因此,本發(fā)明專利的保護(hù)范圍應(yīng)以所附權(quán)利要求為準(zhǔn)。
權(quán)利要求
一種基于加密狗的軟件認(rèn)證方法,包括以下步驟將軟件與加密狗綁定;軟件每次啟動(dòng)時(shí)檢測是否有與該軟件綁定的加密狗接入,如果沒有,則拒絕訪問,如果有,則檢測所述加密狗的使用狀態(tài)是否為已使用狀態(tài),如果不是,則在所述加密狗中標(biāo)記已使用狀態(tài),并允許訪問,如果是,則檢測是否能從運(yùn)行軟件的主機(jī)中獲取到授權(quán)信息,如果是,則允許訪問,否則拒絕訪問。
2.根據(jù)權(quán)利要求1所述的基于加密狗的軟件認(rèn)證方法,其特征在于,在所述將軟件與 加密狗綁定的步驟之前還包括在加密狗中寫入授權(quán)信息; 所述方法還包括步驟當(dāng)檢測到所述加密狗的使用狀態(tài)不為已使用狀態(tài)時(shí),將加密狗中的授權(quán)信息寫入運(yùn)行 軟件的主機(jī)中。
3.根據(jù)權(quán)利要求2所述的基于加密狗的軟件認(rèn)證方法,其特征在于,所述授權(quán)信息包 括授權(quán)使用次數(shù);所述方法還包括步驟當(dāng)檢測到能從運(yùn)行軟件的主機(jī)中獲取到授權(quán)信息時(shí),且所述授權(quán)信息中的授權(quán)使用次 數(shù)大于0時(shí),則授權(quán)使用次數(shù)減1。
4.根據(jù)權(quán)利要求3所述的基于加密狗的軟件認(rèn)證方法,其特征在于,所述方法還包括 步驟獲取所述授權(quán)使用次數(shù);檢測所述授權(quán)使用次數(shù)是否為零,如果是,則拒絕訪問,否則允許訪問。
5.根據(jù)權(quán)利要求3所述的基于加密狗的軟件認(rèn)證方法,其特征在于,所述方法還包括 步驟當(dāng)檢測到所述加密狗的使用狀態(tài)為已使用狀態(tài)時(shí),將所述加密狗中的授權(quán)使用次數(shù)清零。
6.根據(jù)權(quán)利要求1所述的基于加密狗的軟件認(rèn)證方法,其特征在于,所述授權(quán)信息包 括用戶使用權(quán)限;所述方法還包括步驟當(dāng)允許訪問時(shí),根據(jù)所述用戶使用權(quán)限允許用戶訪問軟件中的已授權(quán)的功能模塊。
7.根據(jù)權(quán)利要求1至6中任一項(xiàng)所述的基于加密狗的軟件認(rèn)證方法,其特征在于,所述 加密狗為使用USB接口的電子設(shè)備。
8.根據(jù)權(quán)利要求1至6中任一項(xiàng)所述的基于加密狗的軟件認(rèn)證方法,其特征在于,所述 加密狗為U盤或MP3播放器。
全文摘要
一種基于加密狗的軟件認(rèn)證方法,包括以下步驟將軟件與加密狗綁定;軟件每次啟動(dòng)時(shí)檢測是否有與該軟件綁定的加密狗接入,如果沒有,則拒絕訪問,如果有,則檢測所述加密狗的使用狀態(tài)是否為已使用狀態(tài),如果不是,則在所述加密狗中標(biāo)記已使用狀態(tài),并允許訪問,如果是,則檢測是否能從運(yùn)行軟件的主機(jī)中獲取到授權(quán)信息,如果是,則允許訪問,否則拒絕訪問。采用本發(fā)明,能確保一個(gè)加密狗只能在一臺(tái)主機(jī)上使用,有效防止了同時(shí)擁有加密狗和受保護(hù)的文件的用戶的復(fù)制傳播行為,提高了軟件認(rèn)證的安全性。
文檔編號(hào)G06F21/00GK101996293SQ20101058650
公開日2011年3月30日 申請(qǐng)日期2010年12月13日 優(yōu)先權(quán)日2010年12月13日
發(fā)明者吳方, 豆威 申請(qǐng)人:深圳市江波龍電子有限公司