軟件開發商通常都會使用某種加密技術來保護其軟件,以防止非法使用。另外,還需要通過軟件加密來實現軟件的按購買內容授權,以實現銷售利潤的最大化。
軟件加密技術根據是否使用專用的硬件設備分為基于硬件的加密方式和基于軟件的加密方式。基于硬件的加密方式是指加密需要與一個專用的硬件設備綁定,目前主要的硬件加密方式是加密鎖,俗稱加密狗。基于軟件的加密方式是指不需要專用硬件設備的加密方式,一般采用與終端設備軟硬件信息綁定的數字許可證,也稱電子授權形式。
單純認為基于硬件的加密方式比基于軟件的加密方式安全是不正確的,因為軟件的安全性涉及的內容比較多,包括加密產品的安全性、加密策略的設計、應用軟件本身、操作系統、驅動、硬件、數據通訊等等,是一個綜合的技術范疇,不能夠簡單地由某個方面來斷定其是否安全。
在國外,電子授權和加密鎖的市場占有率是旗鼓相當。因為使用習慣和歷史原因,加密鎖目前還占有一定的市場份額。但是,加密鎖是網絡不發達時代的產物,是一種純客戶端的技術,缺乏管理和統計功能,硬件的存在也帶來了生產、物流、驅動安裝等諸多不便,不僅成本高,而且無法實現軟件的網絡化發行和銷售,正在逐漸走向衰落。
而目前電子授權的發展可以說是方興未艾。電子授權保護方式越來越多融入互聯網技術、云計算技術和SaaS理念,不僅更加方便使用和管理,而且能夠實現軟件電子化發行,又符合當今綠色低碳的發展理念,大有取代加密鎖獨占軟件加密市場的趨勢。世界上比較著名的公司,Microsoft、IBM、Autodesk、SIEMENS、Adobe等,使用的都是電子授權軟件保護方式。
在國內,軟件開發商使用加密鎖的比率較高,除了與國外相同的使用習慣和歷史延續的原因外,還有以下兩個原因:
1.國內廠商普遍認為,加密鎖比電子授權安全。
2.國內沒有可用的電子授權產品,國外電子授權產品的價格又太高。
實際上,隨著網絡環境的日益改善,聯網激活對大多數國內用戶來說已經不是問題。而且前面也提到了,認為加密鎖比電子授權安全的觀點是偏面的、不正確的。從現實情況看,加密鎖更容易通過硬件復制來破解,而且已經形成了完成的盜版產業鏈。反而是電子授權方式因為沒有硬件無法復制,又需要網絡激活和驗證,實際上具有非常好的保護效果。另外,國內也已經出現了一些提供電子授權產品的公司,他們中的2-3家公司一定會隨著中國軟件行業的發展而成長和壯大起來。
所以,軟件加密行業的發展趨勢是無硬件化、網絡化和信息化。下面,我們從軟件加密方法說起,具體闡述一下軟件加密行業的現狀和發展趨勢。
一、軟件加密方法
前面提到過,軟件加密技術分為基于硬件的加密方式和基于軟件的加密方式。
1.基于硬件的加密方式
基于硬件的加密方式主要是加密鎖,一些重要信息,如加密密鑰、敏感數據、授權文件、自定義算法等都可以存儲在加密鎖中。
加密鎖從接口形式分為并口和USB口兩種。并口是早期的使用的形式,因為插拔不方便和與打印機沖突,現在已較少使用。目前大多數開發商使用的都是USB接口的加密鎖。
加密鎖從CPU類型來說分兩種,一種使用單片機作CPU,另一種使用智能卡芯片作CPU.單片機硬件本身容易被破解或復制,因此中高端的加密鎖越來越多地使用智能卡芯片作CPU,以防止硬件被破解。但智能卡加密鎖的破解也越來越多,一是因為芯片分析技術和儀器越來越先進;二是智能卡程序寫好后要交給芯片廠去制造,在這個環節程序有可能被泄漏出去;三是同一品牌的加密鎖,CPU程序是相同的,不同的只是開發商數據和密鑰等,如果這些文件流傳出去,是很容易復制的。
加密鎖雖然具有一定的安全強度,但也有不少缺點:
1)適用于傳統的一次性永久授權,無法方便實現試用版本和按需購買
2)硬件的存在帶來了生產、物流、安裝和維護成本
3)無法實現基于互聯網的電子化發行、升級、跟蹤和管理
4)一旦被破解,就可以大批量復制,難以補救
2.基于軟件的加密方式
基于軟件的加密方式主要是電子授權技術,具體還分為注冊碼和許可證文件兩種:
注冊碼也稱為序列號或授權碼,通過對軟件用戶計算機軟硬件信息的某種變換得到,可用的軟硬件信息包括:CPU序列號、BIOS序列號、網卡號、硬盤序列號、計算機名稱等。使用的變換算法有自定義算法或標準的加密算法等。用戶在軟件安裝過程或第一次使用前,需要輸入注冊碼進行驗證。驗證通過后,軟件就可以正常使用了。注冊碼保護方式的優點是使用簡單,缺點是安全性不高、無法實現復雜的授權需求。
許可證文件和注冊碼綁定的計算機軟硬件信息相同,只是注冊碼由于長度限制只能使用一兩個軟硬件信息,而許可證文件可以使用多個軟硬件信息。而且,許可證文件可以包含更多的信息,因此可以實現復雜的授權需求,甚至可以存儲一些用戶信息。典型的許可證文件實現方法是使用非對稱算法的私鑰對許可證文件進行簽名,而公鑰嵌在軟件代碼中。因為加解密過程不對稱,私鑰又存在授權服務器上,所以很難通過分析授權文件進行破解。
電子授權保護方式的優點是不需要額外的硬件設備,因此也不需要安裝驅動和客戶端組件,可以實現軟件的電子化發行。電子授權保護方式的缺點是對不能聯網的用戶,需要手工提取計算機信息,獲得注冊碼或許可證后再手工導入,使用上不是很方便。另外,國內提供電子授權產品的開發商寥寥無幾,這也限制了電子授權保護技術的普及和推廣。
二、軟件加密行業發展現狀
1.加密鎖
國外主要的加密鎖提供商有美國的SafeNet公司和德國的Wibu公司。
國內主要的加密鎖提供商是深思洛克和飛天誠信。這兩家公司因為產品價格低、搶先推出智能卡加密鎖、本地化做得好而在國內占據一定市場。
2.電子授權
國外提供電子授權產品的公司有Flexera Software和SafeNet.其中,Flexera Software專注于電子授權領域,產品的易用性和功能做得比較好,但產品的價格也非常高。
國內提供電子授權產品的公司有北京比特安索(BitAnswer)、深圳易用(Euse)和Safengine公司。
也有極少數的公司會自己開發電子授權方案,但開發商自己開發的方案通常都會存在以下幾個問題:
1)非專業人士開發,安全性上存在很大漏洞
2)難以實現靈活的授權控制,管理和統計功能也非常簡單或者沒有
3)很可能是為了解決眼前的問題而推出的短期方案,并在今后因安全性、穩定性和可擴展性等問題產生遠遠超過預期的持續投入
4)不能適應市場的快速變化所帶來的對軟件授權模式的新需求
三、軟件加密行業發展趨勢
軟件加密行業的發展趨勢與軟件行業的發展趨勢密切相關。隨著云計算和SaaS的流行,軟件產品的提供方式正在向著網絡化和平臺化的方向轉變。對廣大軟件開發商而言,使用SaaS產品不僅可以節約大量的軟硬件購買和維護成本,還可以實現按需購買,在降低使用風險的同時,也迫使平臺提供商不斷完善產品和提升服務,以留住客戶。
向著網絡化和平臺化發展也是軟件加密技術的發展趨勢。就目前的發展態勢來看,加密鎖技術已經發展的非常成熟,市場也已接近飽和,增長緩慢。硬件的存在和使用習慣的原因使得加密鎖無法跟上互聯網時代的發展步伐,必將被電子授權方式所取代。
電子授權技術正在經歷從早期的注冊碼形式向功能豐富的許可證文件形式的轉變,驗證方式也從離線手工驗證發展為自動網絡驗證。特別是授權管理思想的提出,使電子授權技術從單一的軟件授權認證發展為授權認證、授權管理和信息統計等多種功能兼備,大大提高了軟件開發商的授權信息化水平。
可以預測,未來的電子授權產品應該具有以下主要特征:
1.統一的授權管理平臺:由專業的第三方安全軟件開發商提供的、基于互聯網的一站式軟件保護和授權管理平臺,無需安裝和維護,成本低,易于使用。
2.靈活的授權方式:支持傳統客戶端軟件的授權和云計算模式軟件的授權;可以按時間、次數、功能模塊進行授權;授權可以綁定計算機軟硬件信息、加密鎖,或者通過用戶名密碼驗證方式進行授權。
3.簡單友好的使用體驗:基于WEB,可隨時隨地訪問;用戶可以自助購買、激活和更新軟件,可以隨時了解自己購買軟件的相關信息;軟件開發商可以了解軟件的激活信息和用戶信息,可以通過組織成員協同完成軟件的授權設計、實現、管理和維護等工作。
4.云授權模式:這是一種云計算模式的軟件授權。傳統的軟件是純客戶端實現的,授權也在客戶端。雖然云計算是大勢所趨,但由于轉變難度大,對傳統軟件進行一定程度的云計算改造不失為一個好方法。具體的實現思路是,只將軟件的授權從客戶端轉移到云授權服務器上,這樣對軟件的改動很小,卻可以即刻享受云計算帶來的好處:高安全強度、按需購買、云存儲。