軟體智慧財產權保護越來越受到企業的重視,給軟體加密、保護核心技術不被竊取或被非法使用,成為軟體商必須選擇的戰略。
軟體商在選擇加密方案時會遇到各種困擾:什麼樣的方案是安全的?什麼樣的方案性價比最高?如何選擇最適合自己企業的加密方案?
下面我們來看一下有關CodeMeter加密方案分類及其應用場景建議。有了這方面知識軟體商分分鐘即可搞定加密方案選擇策略。
01/ 基礎API調用
只通過API去檢測加密狗,檢測軟體是否有合法授權以及相關授權選項、加密狗全球唯一序列號等操作。
如果僅通過API校驗,不採用AxProtector和IxProtector對代碼進行加密,實現代碼靜態加密、動態加密或資源加密,程序中的加密點最終都會在內存中還原,通過調試工具可以找到加密點,並通過內存補丁替換掉加密點,破解成本及破解時間都比較少。
加密安全度:3分,只能保證授權安全,沒有被硬體複製的可能性;
開發容易度:5分,需要代碼開發工作,難度不大;
開發經濟度:5分,需要研究API、代碼調試等工作,成本高;
維護容易度:8分,一次性的做好加密點校驗,後期維護成本不大;
方案擴展性:3分,如需擴展最新加密技術,需額外增加開發成本和時間。
多應用於沒有盜版壓力的軟體,一般用於防止內部員工或用戶以比較低廉的成本更改時間或者網絡授權數。對稍有加解密知識的工程師及用戶不能形成良好的保護屏障。
02/ 全自動加密工具AxProtector
包括靜態加密、動態加密、資源加密、反調試工具、加密狗鎖定、完整性校驗、混淆、防止反編譯、數據加密、按需解密的外殼技術等加密技術。
採用最新的AxProtector能夠以非常低的成本達到相對比較高的安全強度,可以防範調試跟蹤、更改密鑰、入侵破解等破解行為。
加密安全度:6分,能達到靜態代碼安全、防止常見的代碼調試及模擬偵聽等破解方式;
開發容易度:9分,1分鐘完成代碼加密;
開發經濟度:9分,幾乎沒有開發成本;
維護容易度:7分,軟體更新後需要重新對軟體進行加密打包;
方案擴展性:9分,AxProtector定期升級為最先進加密方案。
對於盜版壓力不算大的軟體,採用全自動加密工具對軟體進行加密是最經濟實惠、最便捷易用,最具時效性的加密方案。
03/ 自定義加密工具IxProtector
通過IxProtector實現代碼更進一步加密、制定陷阱防止代碼調試,實現按需解密加密技術集成,在程序運行過程中任意設定解密時間點,IxProtector通過智能緩存達到最高性能和安全性。
AxProtector和IxProtector採用了動態秘鑰和P2P兩層加密措施,對通信實現了三層保護,通過IxProtector加密足夠多的函數,可以有效提高安全強度,增加破解難度。
加密安全度:8分,能防止常見的代碼調試、靜態分析、動態調試、內存轉存、錄製回放、驅動模擬等各種破解手段;
開發容易度:6分,需要有一定的開發工作量,難度不大;
開發經濟度:5分,需要研究API、代碼調試等工作,有一定的開發成本;
維護容易度:7分,軟體更新後需要重新對軟體進行加密;
方案擴展性:9分,IxProtector定期升級為最先進加密方案,簡單調整API。
對於有一定的盜版壓力,年銷售量在500套以上、軟體價格在10,000~100,000左右的軟體,這部分軟體必須採用IxProtector及其他加密策略做更進一步加密,不能存有任何僥倖心理,才能保證軟體代碼安全。
04/ AxProtector、IxProtector結合CodeMeter Core API
通過CodeMeter CoreAPI實現包括代碼移植、加解密數據、非對稱算法籤名認證、加密狗內數據讀寫、數據陷阱等加密方法。
CoreAPI結合AxProtector、IxProtector可達到頂級安全強度,特別是在通訊模擬、內存補丁、反編譯、反彙編等破解手段方面有較強的防範。
加密安全度:9分,從案例研究來看,商用角度破解成本極高,採用以上方案的軟體幾乎沒有被破解的案例;
開發容易度:3分,需要結合程序邏輯、選擇適合的算法、平衡安全性和效率,難度大;
開發經濟度:3分,需要研究API、研究示例、代碼調試等工作,需要盡心盡力,開發成本相對比較高;
維護容易度:7分,軟體更新後需要對軟體重新進行加密打包;
方案擴展性:9分,AxProtector定期升級為最先進加密方案,簡單調整API。
在行業中為頭部企業,軟體年銷售量超過1,000套,軟體售價在10,000-100,000元左右的軟體,軟體需要投入較大的開發成本,則需要使用CodeMeter加密策略結合程序本身特點,打造頂級安全強度方案,使得破解者破解軟體的成本與開發相應軟體的成本不相上下,破解變得沒有任何商業價值,從而達到100%不被商業破解的目的。
05/ 數據加密
採用AES或ECC算法對數據進行加解密,密鑰存放於加密鎖中,生成和調用數據文件時完成加解密。
密鑰存放於硬體加密鎖中,不可能被複製或讀取出來,所有數據文件均會在內存中解密,從理論上來講數據文件有破解的可能性,但是由於每個數據文件都是獨立的,破一個數據文件並不意味著能破解另一個數據文件,因此破解成本相對較高,破解沒有太大商業價值,因此加密強度能滿足軟體商需求。
數據文件採用CodeMeter進行加密,密鑰存放在加密狗中,目前從商業角度來說方案可行,加密強度能滿足軟體開發者需求。
總分值越高意味著高安全性、方案可擴展性和開發成本之間的性價比越高,軟體開發者可以根據軟體所處的行業位置及面臨的盜版環境,參考象限圖中的總分值或單項分值特點,選擇最適合的加密方案。