專利名稱:應(yīng)用程序的加密保全方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種加密保全方法,特別是涉及一種應(yīng)用程序的加密保全方法。
背景技術(shù):
在信息時(shí)代,軟件作為一種智力成果,屬于無形資產(chǎn)的范疇,對于企業(yè)的信息化和開展信息化經(jīng)營具有重要意義。隨著信息安全領(lǐng)域和網(wǎng)絡(luò)安全領(lǐng)域的長足的發(fā)展,軟件的網(wǎng)絡(luò)下載銷售得到了廣泛的應(yīng)用。無論是網(wǎng)絡(luò)下載軟件,還是在市場中出售的軟件,對于軟件擁有者來說,如何對其軟件進(jìn)行加密,使其密碼破解的可能性降為最低,以保證擁有者的合法權(quán)益不受侵犯,是當(dāng)前軟件加密技術(shù)的主要發(fā)展方向。如今所要解決的是如何防止非授權(quán)用戶對資源的訪問、如何確認(rèn)使用者的身份以及如何防止其它人接觸到保密信息并對其進(jìn)行非法擴(kuò)散等問題。
當(dāng)前很多網(wǎng)絡(luò)下載軟件都有一個(gè)免費(fèi)試用期,例如30天或試用30次,過期后需要付費(fèi)購買并獲得激活密碼,輸入密碼后方可以繼續(xù)使用,這是一種流行的軟件網(wǎng)絡(luò)銷售方式。
現(xiàn)有的網(wǎng)絡(luò)銷售軟件通常通過一個(gè)安裝在操作系統(tǒng)內(nèi)的識別文件或其它標(biāo)記判斷軟件是否被激活,以及是否超過免費(fèi)試用期。例如在windows系統(tǒng)目錄下保存一個(gè)ini文件,里面記錄下載軟件的日期信息,或者寫入windows的注冊表,通常這類信息不是在安裝過程中創(chuàng)建的,因此卸載程序重新安裝并不能變更這些記錄,只有在windows系統(tǒng)重新安裝甚至整個(gè)計(jì)算機(jī)硬盤格式化重新安裝后,這些記錄才會丟失。但是如果用戶能夠找到該文件或標(biāo)記,將其日期信息修改,便可以始終處于免費(fèi)試用,并且不會超過試用期。
而且由于密碼是依照一定的算法生成,只要符合該算法的密碼對于一個(gè)已經(jīng)發(fā)布的軟件產(chǎn)品將永遠(yuǎn)有效,一旦有人將一個(gè)合法的密碼公開泄露,那么這個(gè)軟件產(chǎn)品便無法通過該加密方法進(jìn)行有效保全。
因此,如何提供一種新的改善方法,對用戶身份進(jìn)行嚴(yán)格認(rèn)證,在保證軟件所有者的權(quán)益不受侵犯的同時(shí),為使用者提供安全、可信的溝通和內(nèi)容使用手段,是當(dāng)前加密軟件技術(shù)中亟待解決的問題。
發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問題在于提供一種應(yīng)用程序的加密保全方法,提高加密系統(tǒng)的安全性及可靠性,在嚴(yán)格驗(yàn)證使用者身份的合法性的同時(shí),保證密碼信息不被非法擴(kuò)散。
為了實(shí)現(xiàn)上述目的,本發(fā)明提供了一種應(yīng)用程序的加密保全方法,其特點(diǎn)在于,其根據(jù)客戶端的特有識別碼,在網(wǎng)站服務(wù)器端實(shí)時(shí)生成密碼,對該應(yīng)用程序在線進(jìn)行合法性驗(yàn)證,該方法包括如下步驟提取該客戶端應(yīng)用程序的特有識別碼;發(fā)送該特有識別碼至該服務(wù)器端進(jìn)行注冊;該服務(wù)器根據(jù)該特有識別碼以及當(dāng)前日期進(jìn)行加密運(yùn)算,生成激活密碼;將該激活密碼發(fā)送至該客戶端;及客戶端通過該激活密碼激活該應(yīng)用程序運(yùn)行。
上述的應(yīng)用程序的加密保全方法,其特點(diǎn)在于,所述服務(wù)器端注冊的步驟,還包括判斷該特有識別碼是否超過使用次數(shù)的步驟。
上述的應(yīng)用程序的加密保全方法,其特點(diǎn)在于,所述應(yīng)用程序?yàn)槭忻娉鍪鄣能浖?br>
上述的應(yīng)用程序的加密保全方法,其特點(diǎn)在于,所述應(yīng)用程序?yàn)榫W(wǎng)絡(luò)下載的軟件。
上述的應(yīng)用程序的加密保全方法,其特點(diǎn)在于,所述當(dāng)前日期為網(wǎng)站服務(wù)器的系統(tǒng)日期。
上述的應(yīng)用程序的加密保全方法,其特點(diǎn)在于,還包括解析該激活密碼,驗(yàn)證該激活密碼合法性的步驟。
上述的應(yīng)用程序的加密保全方法,其特點(diǎn)在于,所述驗(yàn)證該激活密碼的合法性的步驟,為驗(yàn)證該密碼整體的合法性。
上述的應(yīng)用程序的加密保全方法,其特點(diǎn)在于,所述驗(yàn)證該激活密碼的合法性的步驟,為驗(yàn)證本機(jī)識別碼的合法性。
上述的應(yīng)用程序的加密保全方法,其特點(diǎn)在于,所述驗(yàn)證該激活密碼的合法性的步驟,為驗(yàn)證該密碼的日期信息的合法性,包括提取密碼中的日期信息;比對該日期信息與當(dāng)前日期的間隔時(shí)間;及根據(jù)間隔時(shí)間,判斷該日期信息的合法性。
上述的應(yīng)用程序的加密保全方法,其特點(diǎn)在于,所述根據(jù)該間隔時(shí)間判斷該日期信息的合法性的步驟,更包括若該間隔日期小于等于該規(guī)定時(shí)間,則該時(shí)間信息合法;及若該間隔日期大于該規(guī)定日期,則該時(shí)間信息非法。
上述的應(yīng)用程序的加密保全方法,其特點(diǎn)在于,所述特有識別碼包括軟件發(fā)布序列號、硬盤編號、系統(tǒng)當(dāng)前用戶的網(wǎng)卡號。
根據(jù)本發(fā)明所提的應(yīng)用程序的加密保全方法,密碼針對不同的硬件環(huán)境具有不同的驗(yàn)證算法,開始試用日期與程序運(yùn)行必須的密碼捆綁在一起并且有加密格式,因此用戶即使找到保存該信息的文件或記錄,也無法修改其中的開始日期,而且密碼也不是永久有效的,過期的密碼將無法使用,因此可以更加安全的保護(hù)軟件的合法權(quán)益。
以下結(jié)合附圖和具體實(shí)施例對本發(fā)明進(jìn)行詳細(xì)描述,但不作為對本發(fā)明的限定。
圖1是本發(fā)明所提的網(wǎng)絡(luò)下載軟件加密保全方法的總體流程圖;圖2是本發(fā)明第一實(shí)施例的運(yùn)作流程圖;圖3是本發(fā)明實(shí)施例密碼驗(yàn)證的流程圖;及圖4是本發(fā)明第二實(shí)施例的運(yùn)作流程圖。
具體實(shí)施例方式
在加密軟件開發(fā)的最初階段,各開發(fā)者往往使用自定義的加密算法,并把注意力放在了如何防止別人反編譯加密軟件及對加密軟件進(jìn)行跟蹤上。算法普遍存在著一些問題,如密鑰和算法本身沒有分離,導(dǎo)致整個(gè)算法都成為受攻擊的目標(biāo),并可以通過跟蹤的手段進(jìn)行破解;加密算法參差不齊,而且未經(jīng)驗(yàn)證,無法保證加密強(qiáng)度;高強(qiáng)度的算法往往實(shí)現(xiàn)復(fù)雜,運(yùn)行效率低;參與算法研究的某個(gè)人一旦泄露了算法,整個(gè)加密體系即告失敗。
本發(fā)明的一種應(yīng)用程序加密保全方法,首先由圖1中說明本發(fā)明的系統(tǒng),該圖為本發(fā)明所提的應(yīng)用程序的加密保全方法的總體流程圖,首先提取該客戶端應(yīng)用程序的特有識別碼(步驟110),發(fā)送該特有識別碼至該服務(wù)器端進(jìn)行注冊(步驟120),該服務(wù)器根據(jù)該特有識別碼以及當(dāng)前日期進(jìn)行加密運(yùn)算,生成激活密碼(步驟130),將該激活密碼發(fā)送至該客戶端(步驟140),客戶端通過該激活密碼激活該應(yīng)用程序運(yùn)行(步驟150)。
下面以對市面出售的軟件進(jìn)行加密保全為例,對本發(fā)明進(jìn)行詳細(xì)說明。
本發(fā)明進(jìn)行加密保全過程,首先要確定特有識別碼。對于本機(jī)特有識別碼,可以有多種形式,如使用硬盤編號,使用系統(tǒng)當(dāng)前用戶,使用用戶的網(wǎng)卡號等,由于這些基本上屬于每臺機(jī)器都不同的參數(shù),可以認(rèn)定是特有識別碼。在讀取這些號碼的過程,通常是通過底層的操作系統(tǒng)間接獲得,而操作系統(tǒng)有可能只是讀取其已經(jīng)保存好的一個(gè)位置上的信息,并非真正去讀取。因此如果非法用戶改變這個(gè)參數(shù)與一個(gè)合法用戶的參數(shù)相同,則該方法無法真正有效阻止對于軟件產(chǎn)品的侵權(quán)行為。
本實(shí)施例的特有識別碼為軟件序列號,用戶在購買軟件時(shí),同時(shí)會得到一個(gè)序列號。序列號是了防止盜版軟件,采取了一定的保護(hù)措施,每個(gè)軟件都有一個(gè)唯一的序列號。通常軟件在發(fā)行、銷售時(shí)都會隨軟件發(fā)布一個(gè)唯一能識別的序列號。根據(jù)本發(fā)明的應(yīng)用程序加密保全方法,用戶在完成軟件安裝的后,進(jìn)行使用的前,需要使用激活密碼才能激活軟件,使該軟件運(yùn)行。
該密碼的生成過程如圖2所示,該圖是本發(fā)明第一實(shí)施例的運(yùn)作流程圖。首先提示用戶使用該軟件序列號作為用戶名,到指定的網(wǎng)站進(jìn)行注冊(步驟210)。用戶根據(jù)該提示,在該網(wǎng)站注冊成用戶(步驟220)。系統(tǒng)對注冊用戶進(jìn)行身份認(rèn)證。用戶不允許重復(fù)注冊。對于多次安裝而導(dǎo)致密碼失效或忘記密碼的用戶,系統(tǒng)提示用戶無需注冊,只進(jìn)行登陸操作。服務(wù)器進(jìn)而判斷該帳號的注冊次數(shù),如果發(fā)現(xiàn)該注冊帳號被大量使用,則終止該序列號帳戶的注冊,以防止該序列號為大面積的盜用。網(wǎng)站服務(wù)器根據(jù)該序列號以及當(dāng)日日期進(jìn)行加密運(yùn)算,生成激活密碼(步驟230),并將該激活密碼返回至該客戶端(步驟240)。用戶讀取該激活密碼,輸入該激活密碼來激活該軟件(步驟250)。
其中在該軟件運(yùn)行之前,還包括對該激活密碼進(jìn)行驗(yàn)證的過程。請參見圖3,該圖為本發(fā)明實(shí)施例密碼驗(yàn)證的流程圖。首先驗(yàn)證該密碼的整體合法性(步驟310)。然后對密碼進(jìn)行解析,從密碼中分離出序列號,驗(yàn)證其與用戶輸入的序列號是否一致(步驟320)。再從該密碼中分離出時(shí)間信息,判斷其與該網(wǎng)站的當(dāng)天信息是否一致,或是在允許的時(shí)間范圍內(nèi)(例如3天)(步驟330)。該允許的時(shí)間范圍是由軟件所有者進(jìn)行定義的,用來防止合法密碼的擴(kuò)散。假設(shè)在序列號被攻破之后,非法用戶必須在短時(shí)間內(nèi)(即軟件所有者設(shè)定的時(shí)間)使用泄漏的合法密碼,才能通過密碼驗(yàn)證。如果上述判斷條件全部通過,密碼才通過驗(yàn)證。如果有任何一項(xiàng)驗(yàn)證條件沒有通過,則提示密碼不合法。通過密碼驗(yàn)證的后,應(yīng)用程序才能正式開始運(yùn)行。
下面以對網(wǎng)絡(luò)下載軟件加密為例,對本發(fā)明進(jìn)一步說明。主要針對當(dāng)前日益增加的共享軟件開發(fā)者,提供一套方便、快捷、安全、高效的軟件發(fā)布管理方式。實(shí)現(xiàn)對試用版本軟件的限制性試用以及對注冊用戶的規(guī)范管理。
請參見圖4,該圖為本發(fā)明第二實(shí)施例的運(yùn)作流程圖。用戶在網(wǎng)站下載并安裝軟件的后,系統(tǒng)檢測是否使用密碼激活,如果程序已經(jīng)激活,則進(jìn)行運(yùn)行,否則用戶需要在網(wǎng)站注冊新帳號(步驟410)。系統(tǒng)提取該客戶端的硬盤編號作為特有識別碼,并將該特有識別碼提交給用戶(步驟420)。用戶使用該特有識別碼提取激活密碼(步驟430)。網(wǎng)站服務(wù)器檢測該帳號是否大量使用以及該帳號是否完成繳費(fèi)。如果該帳號被大量使用,則提示為非法用戶。如果用戶沒有繳費(fèi),同樣則不能繼續(xù)操作。如果上述檢驗(yàn)條件全部通過,則根據(jù)該特有識別碼以及服務(wù)器的當(dāng)前日期進(jìn)行加密運(yùn)算,生成激活密碼(步驟440)。并將該激活密碼返回給用戶,用戶使用該激活密碼激活該軟件(步驟450)。
當(dāng)然,本發(fā)明還可有其它多種實(shí)施例,在不背離本發(fā)明精神及其實(shí)質(zhì)的情況下,熟悉本領(lǐng)域的技術(shù)人員當(dāng)可根據(jù)本發(fā)明作出各種相應(yīng)的改變和變形,但這些相應(yīng)的改變和變形都應(yīng)屬于本發(fā)明所附的權(quán)利要求的保護(hù)范圍。
權(quán)利要求
1.一種應(yīng)用程序的加密保全方法,其特征在于,其根據(jù)客戶端的特有識別碼,在網(wǎng)站服務(wù)器端實(shí)時(shí)生成密碼,對該應(yīng)用程序在線進(jìn)行合法性驗(yàn)證,該方法包括如下步驟提取該客戶端應(yīng)用程序的特有識別碼;發(fā)送該特有識別碼至該服務(wù)器端進(jìn)行注冊;該服務(wù)器根據(jù)該特有識別碼以及當(dāng)前日期進(jìn)行加密運(yùn)算,生成激活密碼;將該激活密碼發(fā)送至該客戶端;及客戶端通過該激活密碼激活該應(yīng)用程序運(yùn)行。
2.根據(jù)權(quán)利要求1所述的應(yīng)用程序的加密保全方法,其特征在于,所述服務(wù)器端注冊的步驟,還包括判斷該特有識別碼是否超過使用次數(shù)的步驟。
3.根據(jù)權(quán)利要求1所述的應(yīng)用程序的加密保全方法,其特征在于,所述應(yīng)用程序?yàn)槭忻娉鍪鄣能浖?br>
4.根據(jù)權(quán)利要求1所述的應(yīng)用程序的加密保全方法,其特征在于,所述應(yīng)用程序?yàn)榫W(wǎng)絡(luò)下載的軟件。
5.根據(jù)權(quán)利要求1所述的應(yīng)用程序的加密保全方法,其特征在于,所述當(dāng)前日期為網(wǎng)站服務(wù)器的系統(tǒng)日期。
6.根據(jù)權(quán)利要求1所述的應(yīng)用程序的加密保全方法,其特征在于,還包括解析該激活密碼,驗(yàn)證該激活密碼合法性的步驟。
7.根據(jù)權(quán)利要求6所述的應(yīng)用程序的加密保全方法,其特征在于,所述驗(yàn)證該激活密碼的合法性的步驟,為驗(yàn)證該密碼整體的合法性。
8.根據(jù)權(quán)利要求6所述的應(yīng)用程序的加密保全方法,其特征在于,所述驗(yàn)證該激活密碼的合法性的步驟,為驗(yàn)證本機(jī)識別碼的合法性。
9.根據(jù)權(quán)利要求6所述的應(yīng)用程序的加密保全方法,其特征在于,所述驗(yàn)證該激活密碼的合法性的步驟,為驗(yàn)證該密碼的日期信息的合法性,包括提取密碼中的日期信息;比對該日期信息與當(dāng)前日期的間隔時(shí)間;及根據(jù)間隔時(shí)間,判斷該日期信息的合法性。
10.根據(jù)權(quán)利要求9所述的應(yīng)用程序的加密保全方法,其特征在于,所述根據(jù)該間隔時(shí)間判斷該日期信息的合法性的步驟,更包括若該間隔日期小于等于該規(guī)定時(shí)間,則該時(shí)間信息合法;及若該間隔日期大于該規(guī)定日期,則該時(shí)間信息非法。
11.根據(jù)權(quán)利要求1所述的應(yīng)用程序的加密保全方法,其特征在于,所述特有識別碼包括軟件發(fā)布序列號、硬盤編號、系統(tǒng)當(dāng)前用戶的網(wǎng)卡號。
全文摘要
本發(fā)明涉及一種應(yīng)用程序的加密保全方法,首先提取該客戶端應(yīng)用程序的特有識別碼,然后發(fā)送該特有識別碼至該服務(wù)器端進(jìn)行注冊,該服務(wù)器根據(jù)該特有識別碼以及當(dāng)前日期進(jìn)行加密運(yùn)算,生成激活密碼,并將該激活密碼發(fā)送至該客戶端,客戶端通過該激活密碼激活該應(yīng)用程序運(yùn)行,從而根據(jù)客戶端的特有識別碼,在網(wǎng)站服務(wù)器端實(shí)時(shí)生成密碼,對該應(yīng)用程序線上進(jìn)行合法性驗(yàn)證。
文檔編號H04L9/16GK1741445SQ20041005733
公開日2006年3月1日 申請日期2004年8月27日 優(yōu)先權(quán)日2004年8月27日
發(fā)明者張東華, 韓寶忠 申請人:英業(yè)達(dá)股份有限公司