本發(fā)明涉及軟件安全領(lǐng)域,特別是一種軟件安全的集散控制架構(gòu)及其控制方法。
背景技術(shù):
現(xiàn)有軟件安全控制架構(gòu)均是采用以下兩種方式:一是采用服務(wù)器-客戶端機(jī)制,用戶客戶端讀取自身信息(如讀取自身硬件信息等),根據(jù)一定的規(guī)則生成自身標(biāo)識,然后發(fā)送給服務(wù)器,服務(wù)器驗證該標(biāo)識后,交互給客戶端驗證信息,客戶端接收驗證信息后,完成軟件注冊,同時,由服務(wù)器管理用戶注冊信息(如有效期限等)。二是采用某一種軟件加密算法,服務(wù)器和客戶端根據(jù)各自的算法進(jìn)行計算,然后對比運(yùn)算結(jié)果,若對比結(jié)果一致,則完成軟件注冊,同時,也是由服務(wù)器管理用戶注冊信息(如有效期限等)。
現(xiàn)有軟件安全控制架構(gòu),其采用的信息驗證方式和法則,在一段時期內(nèi),均是固定不變的,這就存在可能被破解的風(fēng)險,對于第一種方式,當(dāng)服務(wù)器與客戶端之間驗證信息的編碼法則被破解之后,軟件安全控制失效;對于第二種方式,當(dāng)服務(wù)器和客戶端之間的加密算法被破解,軟件安全控制失效;而不論采用哪種方式,當(dāng)服務(wù)器和客戶端之間的網(wǎng)絡(luò)故障,客戶端均不能使用軟件,這又給用戶在一些沒有網(wǎng)絡(luò)的環(huán)境下有限次地使用軟件造成了不便,降低了軟件控制架構(gòu)的可用性和用戶體驗。
技術(shù)實現(xiàn)要素:
針對現(xiàn)有技術(shù)中架構(gòu)上的不足,本發(fā)明的目的是提出一種軟件安全的集散控制架架構(gòu)及其控制方法,將軟件安全控制動態(tài)化,軟件合法性運(yùn)算由具體的用戶單元在本地完成,用戶單元使用軟件的合法性運(yùn)算又實時受服務(wù)器管理單元的控制,用戶每次使用軟件時的合法性運(yùn)算均是基于服務(wù)器管理單元交互的安全算法,它可以根據(jù)需要實時更新,同時,服務(wù)器管理單元預(yù)授權(quán)用戶單元下次使用軟件時的加密法則和使用使能,實現(xiàn)在網(wǎng)絡(luò)故障的時候,用戶單元有限次地合法使用軟件。
為實現(xiàn)上述目的,本發(fā)明采用的技術(shù)方案是提供一種軟件安全的集散控制架構(gòu),其中:該控制架構(gòu)包括有服務(wù)器管理單元、多個用戶使用單元、多個加密運(yùn)算單元三部分,服務(wù)器管理單元包括有主機(jī)和熱備備機(jī),備機(jī)在主機(jī)故障時,接替主機(jī)完成其功能,當(dāng)主機(jī)故障恢復(fù)后,切換為熱備模式,服務(wù)器管理單元的主機(jī)和備機(jī)之間通過以太網(wǎng)連接;每個用戶使用單元通過以太網(wǎng)與服務(wù)器管理單元連接;每個加密運(yùn)算單元和每個用戶使用單元一一對應(yīng),二者之間通過串行總線USB連接。
同時提供一種利用權(quán)利要求1所述軟件安全的集散控制架構(gòu)的控制方法。
本發(fā)明的效果是使用該軟件安全集散控制架構(gòu)及控制方法:
第一,安全性高。本發(fā)明的軟件安全集散控制架構(gòu)的結(jié)構(gòu),對比現(xiàn)有的軟件安全控制架構(gòu)的安全性,本發(fā)明的控制架構(gòu)能呈指數(shù)冪式提升軟件控制的安全性,且指數(shù)值大于本發(fā)明控制架構(gòu)中采用的加密算法的數(shù)量值,即,若定義某一種加密法則的安全性為基準(zhǔn)值,現(xiàn)有軟件安全控制架構(gòu)在一定時期內(nèi)均是基于某一種加密法則,那么現(xiàn)有軟件安全控制架構(gòu)的安全性就是基準(zhǔn)值;而本發(fā)明的控制架構(gòu)中,首先,每個用戶使用單元與其對應(yīng)的加密運(yùn)算單元之間標(biāo)識信息的交互,需要基于某一種加密法則,此時,本發(fā)明的控制架構(gòu)的安全性便有了基準(zhǔn)值,其次,服務(wù)器管理單元判斷用戶使用單元是否為有效注冊用戶,也需要基于某一種加密法則,此時,本發(fā)明的控制架構(gòu)的安全性便在前述基準(zhǔn)值的基礎(chǔ)上,再疊加一個基準(zhǔn)值,為基準(zhǔn)值的2次冪,最后,服務(wù)器管理單元和每一個用戶單元之間還要交互加密算法,為簡單起見,定義每種算法的安全性仍為基準(zhǔn)值,若服務(wù)器管理單元和用戶單元之間有N種加密算法可供隨機(jī)更替交互,那么,服務(wù)器管理單元和用戶單元之間加密算法交互的安全性便為基準(zhǔn)值的N次冪,此時,本發(fā)明的控制架構(gòu)的安全性便在前述基準(zhǔn)值2次冪的基礎(chǔ)上,再疊加基準(zhǔn)值的N次冪,為基準(zhǔn)值的N+2次冪,可見,本發(fā)明的軟件安全集散控制架構(gòu)能極大地提升系統(tǒng)的安全性。
第二,兼容性強(qiáng)?,F(xiàn)有所有加密算法都可應(yīng)用于本發(fā)明的軟件安全集散控制架構(gòu)中。
第三,穩(wěn)定性強(qiáng)和可靠性高。本發(fā)明架構(gòu)中,服務(wù)器管理單元采用雙機(jī)熱備方式,主機(jī)故障時,備機(jī)能無縫接替主機(jī)完成其功能,能保證本發(fā)明整個架構(gòu)的穩(wěn)定性和可靠性。
第四,可用性強(qiáng)。本發(fā)明的軟件安全集散控制架構(gòu)中,服務(wù)器管理單元和用戶使用單元之間加密算法和使用使能的交互有預(yù)授權(quán)機(jī)制,能實現(xiàn)用戶在沒有網(wǎng)絡(luò)連接的環(huán)境中,有限次地使用本軟件,提升用戶的用戶體驗。
附圖說明
圖1本發(fā)明的軟件安全的集散控制架構(gòu)構(gòu)成圖;
圖2本發(fā)明的軟件安全的集散控制架構(gòu)流程圖。
圖中:
1、服務(wù)器管理單元 2、用戶使用單元 3、加密運(yùn)算單元
4、以太網(wǎng) 5、串行總線USB 6、服務(wù)器管理單元的主機(jī)
7、服務(wù)器管理單元的備機(jī)
具體實施方式
結(jié)合附圖對本發(fā)明的軟件安全的集散控制架構(gòu)及其控制方法加以說明。
本發(fā)明的軟件安全的集散控制架構(gòu)及其控制方法設(shè)計思想是:
第一,通過該控制架構(gòu)的服務(wù)器管理單元1實現(xiàn)整個控制架構(gòu)的集中管理功能,由主機(jī)6和備機(jī)7構(gòu)成雙機(jī)熱備結(jié)構(gòu),具體完成用戶使用單元2的管理,包括驗證所有用戶使用單元2的合法性,向每一個合法用戶使用單元2交互其每一次使用軟件的加密算法和使用使能,以及預(yù)授權(quán)該用戶使用單元2下一次使用軟件的加密算法和使用使能;
第二,通過該控制架構(gòu)的用戶使用單元2完成具體用戶使用軟件的合法性驗證,包括驗證與其連接的加密運(yùn)算單元3是否與該用戶使用單元2匹配,發(fā)起與服務(wù)器管理單元1的注冊連接,接收連接結(jié)果,判斷是否為有效連接,在有效連接條件下,接收并存儲服務(wù)器管理單元1下發(fā)的用戶本次和下一次預(yù)授權(quán)使用軟件的加密算法和使用使能,并根據(jù)本次使用軟件是否接收到服務(wù)器管理單元1交互的加密算法和使用使能,決定本次軟件合法性運(yùn)算是使用服務(wù)器管理單元1交互的加密算法和使用使能,還是使用該用戶使用單元2上一次使用軟件時存儲的,用于本次使用軟件合法性運(yùn)算的預(yù)授權(quán)加密算法和使用使能,并將本次加密算法下發(fā)至與其唯一對應(yīng)的加密運(yùn)算單元3,并接收其運(yùn)算結(jié)果,與服務(wù)器管理單元1下發(fā)的使用使能對比,驗證用戶使用軟件的合法性;
第三,通過該控制架構(gòu)的加密運(yùn)算單元3完成具體加密算法的運(yùn)算,包括接收用戶使用單元2下發(fā)的加密算法,根據(jù)加密算法進(jìn)行運(yùn)算,將運(yùn)算結(jié)果交互至與其唯一對應(yīng)的用戶使用單元2,此外,在用戶使用單元2判斷加密運(yùn)算單元3是否與其匹配時,向該用戶使用單元2交互其存儲的標(biāo)識信息,用于該用戶使用單元2進(jìn)行是否匹配的判斷。
本發(fā)明中用戶使用單元2每次使用軟件的合法性運(yùn)算,均需要基于服務(wù)器管理單元1交互來的安全機(jī)制,包括安全算法、使用使能,基于此,就能實現(xiàn)軟件加密算法的動態(tài)更新,通過對用戶使用單元2的預(yù)授權(quán),可以在用戶本次使用軟件合法性運(yùn)算的時候,同時交互下一次加密算法和使用使能,基于此,就能實現(xiàn)在網(wǎng)絡(luò)故障的時候,用戶有限次地合法使用軟件。
本發(fā)明的軟件安全的集散控制架構(gòu),可以根據(jù)需要,實現(xiàn)每一個用戶的每一次使用軟件,其使用的加密算法都和其它用戶均不一樣,并且,目前所有的加密算法均能應(yīng)用在本發(fā)明的控制架構(gòu)中。
如圖1所示,本發(fā)明的軟件安全的集散控制架構(gòu)的結(jié)構(gòu)是:所述服務(wù)器管理單元1由主機(jī)6和備機(jī)7組成,主機(jī)6和備機(jī)7相互獨立,可以根據(jù)實際不同的應(yīng)用場景,選擇非X86服務(wù)器或者X86服務(wù)器,主機(jī)6和備機(jī)7各自擁有獨立的處理器、存儲系統(tǒng)、系統(tǒng)總線、輸入輸出設(shè)備、系統(tǒng)軟件、本控制架構(gòu)服務(wù)器端控制軟件,主機(jī)6和備機(jī)7之間通過以太網(wǎng)4連接,備機(jī)7實時與主機(jī)6同步整個控制架構(gòu)的數(shù)據(jù),一是同步所有合法用戶使用單元2的注冊信息,包括存儲每個合法用戶2的唯一身份標(biāo)識、每個合法注冊用戶2的有效注冊期限、新增新的合法用戶操作2、刪除超過有效注冊期限的合法用戶2操作;二是實時監(jiān)控主機(jī)6的工作狀態(tài),完成在主機(jī)6故障時,備機(jī)7和主機(jī)6的切換,由備機(jī)7接替主機(jī)6完成其功能,同時給出報警信息,以及完成當(dāng)主機(jī)6故障恢復(fù)后,主機(jī)6和備機(jī)7的切換,備機(jī)7重新恢復(fù)為熱備模式;三是實時同步主機(jī)6與所有合法用戶使用單元2的網(wǎng)絡(luò)連接狀態(tài)信息,包括網(wǎng)絡(luò)鏈路狀態(tài)信息、與任一用戶使用單元2的通信連接信息。
所述用戶使用單元2為用戶計算機(jī)平臺上的應(yīng)用軟件,與服務(wù)器管理單元1和加密運(yùn)算單元3交互控制信息,以完成用戶使用軟件的合法性驗證,所述用戶使用單元2所在的用戶計算機(jī)平臺利用其以太網(wǎng)接口,通過以太網(wǎng)4和服務(wù)器管理單元1連接,與服務(wù)器管理單元1中的主機(jī)6和備機(jī)7均能通過以太網(wǎng)4實現(xiàn)信息通信;所述用戶使用單元2所在的用戶計算機(jī)平臺利用其USB接口,通過串行總線USB5與加密運(yùn)算單元3連接,并且所述用戶使用單元2內(nèi)部存儲與其唯一的加密運(yùn)算單元3的標(biāo)識信息。
所述加密運(yùn)算單元3為微處理器,如8051系列單片機(jī)、ARM系列微處理器等、存儲器ROM、RAM、外圍電路如時鐘電路、USB接口電路、存儲器管理電路構(gòu)成的嵌入式系統(tǒng),微處理器能力和存儲器容量可以根據(jù)實際的應(yīng)用情況進(jìn)行配置;所述加密運(yùn)算單元3利用其USB接口,通過串行總線USB5和用戶使用單元2連接。
所述本發(fā)明的軟件安全的集散控制架構(gòu)的結(jié)構(gòu)中,服務(wù)器管理單元1中的備機(jī)7采用熱備模式,在主機(jī)6故障時,無縫接替主機(jī)6完成其功能,當(dāng)主機(jī)6故障恢復(fù)后,備機(jī)7的重新恢復(fù)為熱備模式。
如圖2所示,本發(fā)明的利用所述軟件安全的集散控制架構(gòu)的控制方法,包括以下步驟:
步驟一,服務(wù)器管理單元1實時完成整個控制架構(gòu)的集中管理:一是實時存儲并管理所有合法用戶使用單元2的注冊信息,包括存儲每個合法用戶2的唯一身份標(biāo)識、每個合法注冊用戶2的有效注冊期限、新增新的合法用戶2、刪除超過有效注冊期限的合法用戶2;二是實時監(jiān)控其構(gòu)成中主機(jī)6和備機(jī)7的工作狀態(tài),完成在主機(jī)6故障時,備機(jī)7和主機(jī)6的切換,由備機(jī)7接替主機(jī)6完成其功能,同時給出報警信息,以及完成當(dāng)主機(jī)6故障恢復(fù)后,主機(jī)6和備機(jī)7的切換,備機(jī)7重新恢復(fù)為熱備模式;三是實時監(jiān)督與所有合法用戶使用單元2的網(wǎng)絡(luò)連接,包括監(jiān)督網(wǎng)絡(luò)鏈路是否通暢、在網(wǎng)絡(luò)鏈路故障時給出報警信息、實時管理與任一用戶使用單元2的通信連接。
步驟二,任一具體用戶每次使用軟件時,該用戶的用戶使用單元2首先通過串行總線USB5連接與其唯一對應(yīng)的加密運(yùn)算單元3,讀取加密運(yùn)算單元3中的標(biāo)識信息,判斷該標(biāo)識信息是否和所述用戶使用單元2存儲的標(biāo)識信息匹配,若匹配,進(jìn)入步驟三;否則,不允許該用戶使用軟件。
步驟三,所述用戶使用單元2通過以太網(wǎng)4向服務(wù)器管理單元1發(fā)起通信連接,服務(wù)器管理單元1在接收到連接請求后,判斷所述用戶使用單元2是否為有效注冊用戶,若是有效注冊用戶,動態(tài)生成該用戶使用單元2本次使用軟件和預(yù)授權(quán)下次使用軟件的加密算法和使用使能,下發(fā)至所述用戶使用單元2,進(jìn)入步驟四;若不是有效注冊用戶,下發(fā)錯誤連接信息至所述用戶使用單元2,進(jìn)入步驟四。
步驟四,所述用戶使用單元2等待接收服務(wù)器管理單元1返回的連接信息,若等待超時,則進(jìn)入步驟五;若接收到服務(wù)器管理單元1返回的連接信息,判斷連接信息是否為錯誤連接信息,若是,則不允許該用戶使用軟件,若不是,則接收服務(wù)器管理單元1下發(fā)的本次和下次預(yù)授權(quán)使用軟件的加密算法和使用使能,用服務(wù)器管理單元1下發(fā)的本次使用軟件的加密算法和使用使能,覆蓋所述用戶使用單元2上次合法使用軟件時接收到的,用于本次使用軟件的預(yù)授權(quán)加密算法和使用使能,并存儲服務(wù)器管理單元1本次下發(fā)的,用于下次使用軟件的預(yù)授權(quán)加密算法和使用使能,最后將服務(wù)器管理單元1下發(fā)的本次使用軟件的加密算法,通過串行總線USB5下發(fā)至與其連接的加密運(yùn)算單元3,進(jìn)入步驟六。
步驟五,所述用戶使用單元2等待接收服務(wù)器管理單元1的連接信息超時,判斷自身是否存儲了使用軟件的預(yù)授權(quán)加密算法和使用使能,若存儲了,則將該預(yù)授權(quán)加密算法作為本次使用軟件的加密算法,通過串行總線USB5下發(fā)至與其連接的加密運(yùn)算單元3,進(jìn)入步驟六;若未存儲,則不允許該用戶使用軟件。
步驟六,加密運(yùn)算單元3根據(jù)通過串行總線USB5接收到的,所述用戶使用單元2下發(fā)的加密算法進(jìn)行本地運(yùn)算,將運(yùn)算結(jié)果通過串行總線USB5返回至所述用戶使用單元2,進(jìn)入步驟七。
步驟七,所述用戶使用單元2將加密運(yùn)算單元3返回的運(yùn)算結(jié)果與服務(wù)器管理單元1下發(fā)的本次使用軟件的使用使能進(jìn)行對比,若一致,則允許用戶本次使用軟件,并刪除所述用戶使用單元2當(dāng)前使用的,本次使用軟件的加密算法和使用使能;若不一致,刪除所述用戶使用單元2本次使用軟件的加密算法和使用使能,且不允許該用戶使用軟件。