2 基于軟件的保護方式
基于軟件的保護技術(shù)和基于硬件的保護技術(shù)相比,在價(jià)格上具有明顯的優(yōu)勢,但是在安全性上和硬件相比還是相差很大,一般正式的商業(yè)軟件都使用基于硬件的保護方式?;谲浖能浖Wo方式一般分為:注冊碼、許可證文件、許可證服務(wù)器、應用服務(wù)器模式、軟件老化等。
2.1 注冊碼 (License Key)
軟件開(kāi)發(fā)商對一個(gè)唯一串(可能是軟件最終用戶(hù)的相關(guān)信息,例如:主機號、網(wǎng)卡號、硬盤(pán)序列號、計算機名稱(chēng)等),使用對稱(chēng)或非對稱(chēng)算法以及簽名算法等方法產(chǎn)生注冊碼。然后需要用戶(hù)進(jìn)行輸入(可以在軟件安裝過(guò)程或單獨的注冊過(guò)程)。當輸入注冊碼后,被保護軟件運行時(shí)進(jìn)行解密,并和存儲在軟件中的原始串進(jìn)行比較。存在問(wèn)題:密鑰隱藏在程序代碼中,比較容易泄漏,同時(shí)黑客可以使用逆向工程,分析或跟蹤找到判斷代碼處,通過(guò)暴力破解的方法進(jìn)行破解。
2.2 許可證文件(License File)
和使用注冊碼類(lèi)似,但是許可證文件可以包含更多的信息,通常是針對用戶(hù)的一些信息。文件中可以包含試用期時(shí)間,以及允許軟件使用特定功能的一些信息。被保護軟件在運行時(shí),將每次檢查許可證文件是否存在。典型的方法是使用非對稱(chēng)算法的私鑰對許可證文件進(jìn)行簽名,而公鑰嵌在軟件代碼中。存在問(wèn)題:可以通過(guò)修改系統時(shí)鐘來(lái)延長(cháng)使用試用期許可證,當許可證到期時(shí),還可以重新安裝操作系統,繼續使用。同時(shí)黑客可以使用逆向工程,分析或跟蹤找到判斷代碼處,通過(guò)暴力破解的方法進(jìn)行破解。
2.3 許可證服務(wù)器(License Server)
主要適用于網(wǎng)絡(luò )環(huán)境中,可以為多套被保護軟件提供服務(wù),例如一個(gè)網(wǎng)絡(luò )許可證,可以限制并發(fā)最大用戶(hù)數為10。當客戶(hù)端被保護程序運行時(shí),將占用一個(gè)用戶(hù)數,退出時(shí)將釋放出用戶(hù)數,如果超過(guò)最大用戶(hù)數,服務(wù)器將禁止多余的被保護程序運行。存在問(wèn)題:一般必須面向企業(yè)級用戶(hù),黑客可以使用逆向工程,分析或跟蹤找到判斷代碼處,通過(guò)暴力破解的方法進(jìn)行破解。
2.4 應用服務(wù)器模式(Application Server Model)
所有程序代碼存儲在受信任的服務(wù)器端,最終用戶(hù)不需要安裝代碼。典型應用為最終用戶(hù)不需要安裝軟件,只需要使用瀏覽器訪(fǎng)問(wèn)服務(wù)器來(lái)使用被保護軟件。一般游戲軟件都是采用這種方式進(jìn)行保護的。目前這種保護方式朝著(zhù)兩個(gè)方向進(jìn)行發(fā)展,一個(gè)是瘦客戶(hù)端程序,另一個(gè)是胖客戶(hù)端程序。存在問(wèn)題:此種程序受到服務(wù)器性能和網(wǎng)絡(luò )帶寬,以及擴展性,成本等因素的影響。
2.5 軟件老化(Software Aging)
這是一種極端的軟件保護方式[21],依賴(lài)于軟件的定期升級更新,每次更新都將使老版本的軟件功能不能繼續使用,例如不兼容的文件格式。盜版者必須給他的用戶(hù)經(jīng)常升級。存在問(wèn)題:經(jīng)常升級造成很大的不便,如果可以自動(dòng)化的進(jìn)行此項工作,可以節省一部分精力。如果最終用戶(hù)需要共享數據,將依賴(lài)于每個(gè)人都有最新版本的軟件。這種保護方式并不適用于所有領(lǐng)域,例如:Microsoft Word可能工作的很好,但是如果是單用戶(hù)的游戲程序將不適合。
聯(lián)系客服