每天,全世界由于軟件盜版造成的損失不小于5000萬美圓,即使在號稱法律制度最完善的美國,盜版率也高達21 %(數據來源于IDC)。軟件盜版問題,已經成為影響軟件業生死存亡的重大考驗,而加密也就成了無奈的選擇。如果說,反病毒技術的更新是由病毒制造者驅動的話,那么,軟件加密行業更是一場與解密者進行的博弈,同時也推動著這一行業市場需求的發展。
在最初的加密過程中, 大部分軟件商采用的是軟加密方式,主要有密碼方式、軟件自校驗方式和鑰匙盤方式等純軟件的手段。但是隨著軟加密技術很快被解密軟件攻克了防線,在這種情況下,硬加密開始風行,并且成為最廣泛采用的加密手段。加密卡、軟件狗等也成為了解密技術進步下的產物。但是加密與解密的斗爭是永無休止的,很快普通的硬加密設施得到挑戰,于是加密鎖技術應運而生并迅速成為主流加密技術。加密鎖小巧、易學、易用,但它卻著很高的技術含量,首先是加密原理,這是加密鎖的技術關鍵點與創新點所在,知己知彼方能百戰不殆,這方面國內廠商立足本土需求,顯然更具競爭實力;其次是加密鎖的可靠性、穩定性、兼容性、透明性等,這些是對鎖的基本要求,但是做完整并不容易,尤其是兼容性、透明性問題,比如說透明性就是指不能讓工作在并口的鎖影響到原來設備的正常工作,如果不達標就會為工作帶來很多的不便。因此,加密鎖在均衡性要求上,經驗豐富的老牌廠商還是具備一定的優勢。
進入21世紀以后,一般的加密鎖再次敗下陣來,面臨淘汰窘境。這究竟是什么原因呢?讓我們來揭密這場戰爭的勝負因果:
固定算法加密鎖首戰不利:這類加密鎖最大的缺陷是算法不向軟件廠商公開,鎖內的變換算法在出廠時已經固定,軟件加密者只能設置算法的參數。這樣就限制了廠商對算法的使用,要么預先記錄算法結果然后在軟件運行時核對(使用碼表),要么在軟件中至少變換兩次然后比較結果是否一致;如果解密者截獲這些數據,通過統計、分析就有可達到解密目的。
可編程加密鎖功虧一簣: “可編程”加密鎖最大的特點就是可以讓用戶自行設計專用算法。它的出現的確是軟件加密技術的一次進步,但由于成本限制,這類型加密鎖只能采用10~20元人民幣的低檔單片機這就給 “可編程”加密鎖造成了很大的局限性,主要表現在:1、算法變換的復雜度不夠高,2、指令編碼空間較小,3、程序區的空間較小。這些局限性使得用戶根本不可能利用“可編程”加密鎖實現理想的高強度加密方案,但“可編程”加密鎖畢竟為加密行業提出了一條可行的方案。
硬件本身的脆弱:隨著集成電路設計、生產技術的發展,安全產品的核心芯片硬件本身受到攻擊的可能性越來越大,典型的硬件攻擊手段有電子探測攻擊(如SPA和DPA)和物理攻擊(探測,如采用SiShell技術),利用廠商的芯片測試接口,通過特殊的燒寫時序和數據讀出信息成為比較容易的事情。
在遭遇到解密技術的挑戰后,加密軟件行業將加密技術推升至一新的高度.2002年以智能卡(Smart Card)技術為核心構建的新一代的軟件加密保護系統產生,徹底扭轉了加密技術在斗爭中的地位。這次技術升級的標志性產品是深思洛克的精銳IV型加密鎖和美國彩虹天地公司(現為美國賽孚耐公司)的智能狗。我們就以國產精銳IV型為例介紹一下這一技術應對解密者的四個關鍵技術手段。
一、重要軟件代碼完全移植到硬件中運行
在基于硬件系統安全的基礎上,精銳IV采用突破性的方案對用戶的關鍵代碼及數據進行強有力的保護。精銳IV最多可提供總計高達32~64K字節的程序和數據空間,可容納近萬行的C語言代碼,軟件開發商可以將軟件中一段或幾段關鍵的代碼移植到精銳IV型鎖中運行,或將軟件運行所需的關鍵數據保存在鎖內,外部軟件通過接口函數訪問硬件中的關鍵代碼或數據。由于這些代碼和數據在PC端沒有副本存在,因此解密者無從猜測算法或竊取數據,從而極大程度上保證了整個軟件系統的安全性。
二、強大的運算處理能力
采用智能卡技術構建的精銳IV加密鎖具有強大的運算和數據處理能力,能夠支持浮點運算庫、數學函數庫、安全服務庫、標準輸入和輸出庫等,這些對提高加密強度起著至關重要的作用。
三、智能卡芯片具有極高的安全性
智能卡芯片具有很高的集成度,與普通低檔的單片機不同,智能卡芯片能夠有效抵御電子探測攻擊(SPA和DPA)和物理攻擊(SiShell),其在硬件設計階段就提供了完善的安全保護措施;同時智能卡芯片提供了硬件隨機數發生器,在CPU 的控制下,每次芯片與外界數據傳輸中,產生的隨機數可以保證數據不會重復。
四、智能卡技術的核心——操作系統COS
COS(卡片操作系統Card Operating System)存放在智能卡芯片上,是一個比較小但非常完整、嚴密的系統。COS管理著智能卡的一舉一動,智能卡整套系統的安全性除一部分由芯片設計生產廠商保證外,大都由COS開發商實現。利用智能卡技術開發軟件加密保護類產品,從安全性、效率、穩定性、可靠性等各方面來說,核心的COS系統必須具有自主版權而且完全符合國際標準ISO7816。精銳IV型加密鎖的核心——XCOS,是深思洛克獨立開發具有完全的自主知識產權,完全符合智能卡ISO7816標準。
目前,利用智能卡技術開發軟件加密保護類產品,從安全性、效率、穩定性、可靠性等各方面來說均具備無可比擬的競爭優勢,有軟件加密“終結者”之稱。但是,技術的進展往往讓人難以預料,很難預知缺口會從哪里打破。加密與解密的博弈也將持續進行下去,如果我們暫且不考慮道德與法律問題,僅從技術的角度來說,斗爭何嘗不是有效的推動手段呢?


