一種軟件認證方法及相關(guān)設(shè)備與系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及軟件認證領(lǐng)域,尤其涉及一種軟件認證方法及相關(guān)設(shè)備與系統(tǒng)。
【背景技術(shù)】
[0002]為了維護軟件等產(chǎn)品的版權(quán)以及廠商的利益,用戶在計算機等上安裝與使用軟件時,通常需要進行軟件認證,只有認證成功,用戶才可使用軟件。
[0003]目前,業(yè)內(nèi)常用的軟件認證方法有以下兩種:
[0004]第一種、出售證書序列號,即,用戶在購買軟件時,廠商會提供有效的序列號,使得用戶在安裝軟件時,可憑借購買的序列號,進行軟件的認證,從而保證軟件的版權(quán)以及廠商的利益。但是,通常情況下,用戶可通過在網(wǎng)絡(luò)上的搜索,得到大量的可用序列號,或者,可通過破解工具對軟件進行破解,從而使得軟件授權(quán)的安全性較低,且嚴重的侵犯了軟件的版權(quán)、損害了廠商的利益。
[0005]第二種、出售證書與加密狗,S卩,用戶在購買軟件時,廠商會提供有效的證書與加密狗,用戶在安裝軟件之后,可通過與加密狗之間進行交互,來驗證證書內(nèi)的序列號是否與加密狗內(nèi)的序列號相匹配,在二者相匹配時,才能正常使用軟件,從而有效地提高了軟件授權(quán)的安全性,且保證了軟件的版權(quán)以及廠商的利益。但是,由于傳統(tǒng)的加密狗只能通過USB接口與服務器相連,以對其所在服務器內(nèi)安裝的軟件進行認證,對于無法支持USB接口的場景(例如,云環(huán)境等),則無法實現(xiàn)基于加密狗的認證,從而極大地限制了加密狗的應用場景。
[0006]也就是說,現(xiàn)有的軟件認證方式存在安全性較低、或者應用場景有限等的問題。
【發(fā)明內(nèi)容】
[0007]本發(fā)明實施例提供了一種軟件認證方法及相關(guān)設(shè)備與系統(tǒng),用以解決現(xiàn)有的軟件認證方式存在的安全性較低、或者應用場景有限等的問題。
[0008]本發(fā)明實施例提供了一種軟件認證方法,包括:
[0009]第一服務器確定待認證軟件的認證方式是否為遠端認證;
[0010]若為遠端認證,則向安裝有加密狗的第二服務器發(fā)送認證請求;
[0011]若接收到所述第二服務器返回的攜帶有加密狗的序列號的第一響應消息,則根據(jù)所述第一響應消息中攜帶的所述加密狗的序列號,確定所述待認證軟件的軟件證書的序列號是否與所述加密狗的序列號相一致,若一致,則確定所述待認證軟件認證成功;
[0012]其中,所述第一響應消息是所述第二服務器在確定所述第一服務器為與所述第二服務器相綁定的指定服務器時,返回給所述第一服務器的。
[0013]本發(fā)明實施例還提供了另一種軟件認證方法,包括:
[0014]第二服務器接收第一服務器在確定待認證軟件的認證方式為遠端認證時發(fā)送的認證請求;所述第二服務器本地安裝有加密狗;
[0015]若確定所述第一服務器為與所述第二服務器相綁定的指定服務器,則獲取所述加密狗的序列號,并向所述第一服務器返回攜帶有所述加密狗的序列號的第一響應消息,以使得所述第一服務器根據(jù)所述第一響應消息中攜帶的所述加密狗的序列號,確定所述待認證軟件的軟件證書的序列號是否與所述加密狗的序列號相一致。
[0016]本發(fā)明實施例還提供了一種服務器,包括:
[0017]判斷模塊,用于確定所述服務器內(nèi)的待認證軟件的認證方式是否為遠端認證;
[0018]處理模塊,用于若根據(jù)所述判斷模塊的判斷結(jié)果,確定所述待認證軟件的認證方式為遠端認證,則向安裝有加密狗的遠端服務器發(fā)送認證請求;并若接收到所述遠端服務器返回的攜帶有加密狗的序列號的第一響應消息,則根據(jù)所述第一響應消息中攜帶的所述加密狗的序列號,確定所述待認證軟件的軟件證書的序列號是否與所述加密狗的序列號相一致,若一致,則確定所述待認證軟件認證成功;
[0019]其中,所述第一響應消息是所述遠端服務器在確定所述服務器為與所述遠端服務器相綁定的指定服務器時,返回給所述服務器的。
[0020]本發(fā)明實施例還提供了另一種服務器,包括::
[0021 ]接收模塊,用于接收遠端服務器在確定待認證軟件的認證方式為遠端認證時發(fā)送的認證請求;所述服務器本地安裝有加密狗;
[0022]處理模塊,用于若確定所述遠端服務器為與所述服務器相綁定的指定服務器,則獲取所述加密狗的序列號,并向所述遠端服務器返回攜帶有所述加密狗的序列號的第一響應消息,以使得所述遠端服務器根據(jù)所述第一響應消息中攜帶的所述加密狗的序列號,確定所述待認證軟件的軟件證書的序列號是否與所述加密狗的序列號相一致。
[0023]本發(fā)明實施例還提供了一種軟件認證系統(tǒng),包括:
[0024]第一服務器,用于確定所述第一服務器內(nèi)的待認證軟件的認證方式是否為遠端認證;若為遠端認證,則向安裝有加密狗的第二服務器發(fā)送認證請求;并若接收到所述第二服務器返回的攜帶有加密狗的序列號的第一響應消息,則根據(jù)所述第一響應消息中攜帶的所述加密狗的序列號,確定所述待認證軟件的軟件證書的序列號是否與所述加密狗的序列號相一致,若一致,則確定所述待認證軟件認證成功;
[0025]第二服務器,用于接收第一服務器發(fā)送的認證請求;并若確定所述第一服務器為與所述第二服務器相綁定的指定服務器,則獲取所述第二服務器本地安裝的加密狗的序列號,并向所述第一服務器返回攜帶有所述加密狗的序列號的第一響應消息。
[0026]本發(fā)明有益效果如下:
[0027]本發(fā)明實施例提供了一種軟件認證方法及相關(guān)設(shè)備與系統(tǒng),第一服務器若確定待認證軟件的認證方式為遠端認證,則可向安裝有加密狗的第二服務器發(fā)送認證請求,并在接收到所述第二服務器返回的攜帶有加密狗的序列號的第一響應消息時,根據(jù)所述第一響應消息中攜帶的所述加密狗的序列號,確定所述待認證軟件的軟件證書的序列號是否與所述加密狗的序列號相一致,若一致,則確定所述待認證軟件認證成功;其中,所述第一響應消息是所述第二服務器在確定所述第一服務器為與所述第二服務器相綁定的指定服務器時,返回給所述第一服務器的。從而在確保軟件授權(quán)安全性的基礎(chǔ)上,擴展了加密狗認證的應用場景,提高了系統(tǒng)兼容性。
【附圖說明】
[0028]為了更清楚地說明本發(fā)明實施例中的技術(shù)方案,下面將對實施例描述中所需要使用的附圖作簡要介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域的普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0029]圖1所示為本發(fā)明實施例一中所述的軟件認證方法的流程示意圖;
[0030]圖2所示為本發(fā)明實施例二中所述的軟件認證方法的流程示意圖;
[0031 ]圖3所示為本發(fā)明實施例三中所述的服務器的結(jié)構(gòu)示意圖;
[0032]圖4所示為本發(fā)明實施例四中所述的服務器的結(jié)構(gòu)示意圖;
[0033]圖5所示為本發(fā)明實施例五中所述的軟件認證系統(tǒng)的結(jié)構(gòu)示意圖。
【具體實施方式】
[0034]為了使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合附圖對本發(fā)明作進一步地詳細描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例。基于本發(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其它實施例,都屬于本發(fā)明保護的范圍。
[0035]實施例一:
[0036]為了解決現(xiàn)有的軟件認證方式所存在的安全性較低、應用場景有限等的問題,本發(fā)明實施例一提供了一種軟件認證方法,如圖1所示,其為本發(fā)明實施例一中所述的軟件認證方法的流程示意圖,由圖1可知,本發(fā)明實施例一中所述的軟件認證方法可包括以下步驟:
[0037]步驟101:第一服務器確定待認證軟件的認證方式是否為遠端認證。
[0038]其中,所述待認證軟件通??蔀橐寻惭b在所述第一服務器內(nèi)的軟件,如已安裝的BSA業(yè)務軟件等,此處不再贅述。
[0039]可選地,在執(zhí)行步驟101之前,可在軟件安裝完成之后,根據(jù)用戶的實際需求選擇進行遠端認證還是本地認證,或者,可根據(jù)設(shè)備本身的特性,選擇進行遠端認證還是本地認證。例如,若所述第一服務器不具備USB接口,進而無法通過USB接口連接有加密狗