詳解軟件保護(hù)技術(shù)中的軟加密技術(shù)的優(yōu)勢(shì)

在軟件保護(hù)技術(shù)中一般存在兩種主要的保護(hù)方式:不需要額外的硬件設(shè)備,完全由軟件實(shí)現(xiàn)的方式和使用硬件加密鎖的方式。往往前者被稱作“軟加密”方式;而后者被稱作“硬加密”方式。普遍認(rèn)為,硬加密方式的安全強(qiáng)度要大于軟加密方式。但真的是這樣嗎?

詳解軟件保護(hù)技術(shù)中的軟加密技術(shù)的優(yōu)勢(shì)

設(shè)計(jì)精良的硬加密產(chǎn)品可以在軟件代碼和硬件加密鎖之間構(gòu)建所謂的“安全通道”,使得破解者雖然能夠截獲通訊命令,卻無法分析得到其中的原始數(shù)據(jù),也無法偽造通訊命令,從而基本無法進(jìn)行通訊欺騙。

對(duì)于軟加密來說,破解者總是可以得到系統(tǒng)調(diào)用命令的原始數(shù)據(jù),但要想在不影響系統(tǒng)以及應(yīng)用程序功能的情況下修改系統(tǒng)調(diào)用結(jié)果則并不容易。一方面,破解者必須能夠了解哪些系統(tǒng)調(diào)用與軟件保護(hù)機(jī)制有關(guān);另一方面,系統(tǒng)調(diào)用的結(jié)果并不總是容易截獲——很多獲取硬件指紋的命令基于系統(tǒng)中斷調(diào)用;最后,修改系統(tǒng)調(diào)用結(jié)果在很多情況下將會(huì)影響系統(tǒng)和軟件的運(yùn)行,使得破解過程無法正常進(jìn)行。

從理論上來說,除非破解者能夠營造一個(gè)有能力任意監(jiān)視并改寫所有系統(tǒng)調(diào)用結(jié)果的獨(dú)立環(huán)境,否則將無法完全實(shí)現(xiàn)通訊欺騙,而這樣做的工作要比逆向工程還要復(fù)雜,從而導(dǎo)致對(duì)軟加密采用通訊欺騙的破解方法失去意義。

從本質(zhì)上來說,軟加密基于系統(tǒng)功能調(diào)用,而硬加密基于對(duì)硬件本身功能的調(diào)用。因此軟加密實(shí)現(xiàn)與系統(tǒng)本身的結(jié)合程度要比硬加密高得多。

精心設(shè)計(jì)的軟加密實(shí)現(xiàn)方案可以在通訊欺騙和指紋復(fù)制的破解環(huán)節(jié)上提供足夠高的安全性,使破解者轉(zhuǎn)向通過逆向工程的方法破解軟件。在這種情況下,軟件的防分析及跟蹤能力以及代碼內(nèi)部的加密技巧成為了安全系統(tǒng)的核心,底層基于硬加密還是軟加密將不再影響系統(tǒng)的實(shí)際安全性。

通過利用網(wǎng)絡(luò)通訊和服務(wù)器認(rèn)證,軟加密方式在實(shí)際應(yīng)用中可以獲得比上述分析好得多的安全應(yīng)用效果。

所謂服務(wù)器認(rèn)證,是指軟件安全系統(tǒng)首次運(yùn)行的時(shí)候在服務(wù)器端“備案”,存儲(chǔ)客戶端硬件特征,并獲取開發(fā)商授權(quán)的過程。除了首次運(yùn)行的激活過程外,服務(wù)器認(rèn)證還可以在今后再次進(jìn)行,以核查及升級(jí)授權(quán)內(nèi)容。

由北京比特安索公司開發(fā)的比特平臺(tái)除了支持服務(wù)器認(rèn)證技術(shù),還提供了將授權(quán)運(yùn)行于服務(wù)器系統(tǒng)之上的“云授權(quán)”保護(hù)方案。云授權(quán)采用客戶端與服務(wù)器實(shí)時(shí) 連接的驗(yàn)證方案,安全系統(tǒng)指紋始終依附在服務(wù)器上,因此具有更高的安全性。它與傳統(tǒng)的軟加密具有明顯的區(qū)別,因此不在這里進(jìn)行分析。

集成了服務(wù)器認(rèn)證的軟加密方案具有硬加密不具備的四大優(yōu)勢(shì)。

雙因素驗(yàn)證

無論是傳統(tǒng)的硬加密還是軟加密,安全驗(yàn)證都是單因素的,即基于加密鎖或本機(jī)硬件指紋。集成了服務(wù)器認(rèn)證之后,加密方案本身是雙因素的:既與本機(jī)硬件指紋相關(guān),又與服務(wù)器相關(guān)。

雙因素驗(yàn)證大大加強(qiáng)了系統(tǒng)整體的安全性,破解者無法通過破解其中的一個(gè)因素實(shí)現(xiàn)完整的盜版。它使新一代的軟加密技術(shù)的安全性實(shí)質(zhì)上超過傳統(tǒng)硬加密成為現(xiàn)實(shí)。

破解追蹤

世上沒有絕對(duì)可靠的保護(hù)技術(shù),而運(yùn)行于客戶環(huán)境的軟件代碼總是可以被跟蹤和分析。與硬加密不同的是,實(shí)現(xiàn)雙因素驗(yàn)證的軟加密方案中很容易實(shí)現(xiàn)對(duì)破解應(yīng)用的追蹤。

除非通過逆向工程的辦法把所有與服務(wù)器通訊相關(guān)的代碼完全替換——這個(gè)工作比軟件破解本身的難度還要大——否則服務(wù)器將有可能對(duì)軟件的破解拷貝進(jìn)行追 蹤。以比特平臺(tái)為例,通過設(shè)置授權(quán)模版的“強(qiáng)制認(rèn)證”或“智能連接”屬性,客戶端軟件將定期或不定期地嘗試與服務(wù)器進(jìn)行連接驗(yàn)證,服務(wù)器因此可以發(fā)現(xiàn)是否 有授權(quán)盜用的情況,并且可以根據(jù)相應(yīng)的授權(quán)碼找到盜用源頭,解后進(jìn)行封鎖。

也就是說,新一代的軟加密技術(shù)本身通過服務(wù)器驗(yàn)證的機(jī)制,不再是單純的本地安全技術(shù)。它是包含了本地安全與網(wǎng)絡(luò)安全的綜合性系統(tǒng)架構(gòu)。

補(bǔ)救措施

軟加密的一個(gè)明顯優(yōu)勢(shì)是可以方便地推出對(duì)破解版本的補(bǔ)救措施。

當(dāng)基于硬加密的應(yīng)用程序被破解后,一般來說,為保證升級(jí)后的應(yīng)用程序與舊版本程序使用的加密鎖不兼容,軟件開發(fā)商在應(yīng)用升級(jí)的時(shí)候必須同時(shí)升級(jí)應(yīng)用程序代碼并提供新的加密鎖。這樣的升級(jí)措施需要很大的成本,開發(fā)商實(shí)際上往往無法實(shí)施。

而軟加密的補(bǔ)救措施是零成本的。

同樣以比特平臺(tái)為例,當(dāng)開發(fā)商發(fā)現(xiàn)現(xiàn)有版本被破解后,可以在平臺(tái)上為現(xiàn)有產(chǎn)品添加新的特征項(xiàng)(即功能模塊),或升級(jí)已有的功能算法;開發(fā)商相應(yīng)地升級(jí)應(yīng)用程序代碼,制作升級(jí)補(bǔ)丁,并發(fā)送給合法用戶。

合法用戶拿到升級(jí)補(bǔ)丁并升級(jí)應(yīng)用程序后,應(yīng)用軟件可以自動(dòng)連接到授權(quán)服務(wù)器進(jìn)行算法更新并升級(jí)本地授權(quán)文件,從而完成升級(jí)。而盜版用戶因?yàn)闊o法通過服務(wù)器驗(yàn)證而不能應(yīng)用升級(jí)內(nèi)容。破解者也必須再次實(shí)施破解才能使用新的功能。

破解風(fēng)險(xiǎn)

前面提到了,軟加密與系統(tǒng)和使用環(huán)境的結(jié)合程度要比硬加密高得多。對(duì)于硬加密的破解版本使用者,除了軟件本身可能會(huì)因破解不充分而存在問題外,使用者不存在任何其它使用風(fēng)險(xiǎn),盜版使用的成本很低。

對(duì)于軟加密,盜版使用者往往需要為使用軟件而更改系統(tǒng)設(shè)置,如網(wǎng)卡MIC地址或系統(tǒng)時(shí)間,而這些都會(huì)對(duì)整個(gè)系統(tǒng)及其它應(yīng)用程序造成影響,從而提高盜版使用難度,增加使用成本。這些系統(tǒng)設(shè)置和負(fù)面影響使得盜版使用不可能大規(guī)模推廣。

使用軟件保護(hù)技術(shù)或產(chǎn)品的目標(biāo)是以最小的成本達(dá)成最佳的防盜版效果,其本身是一個(gè)系統(tǒng)性的工作,軟件的整體安全性受系統(tǒng)中最薄弱部分的制約,并與實(shí)施難度、應(yīng)用風(fēng)險(xiǎn)、危害程度等密切相關(guān)。

新一代軟加密技術(shù)以服務(wù)器驗(yàn)證為基礎(chǔ),其整體安全性已超出包括傳統(tǒng)硬加密在內(nèi)的單純的本地安全技術(shù),并顯著降低了盜版使用的擴(kuò)散范圍,具有更好的實(shí)際安全效果。

此外,軟加密特有的無物流、易管理以及授權(quán)方案靈活等眾多特點(diǎn),使得它成為互聯(lián)網(wǎng)時(shí)代的最佳軟件保護(hù)方案。