進入新世紀,中國的軟件保護產業面臨著巨大的沖擊,軟件盜版的趨勢愈演愈烈!這種情況逐漸導致了大量的軟件開發者面對盜版幾乎束手無策!
造成這種情況的主要原因是軟件加密保護行業無序的價格競爭使得技術發展停滯多年,參與競爭的技術廠商越來越少;在IT信息產業領域,壹個低水平競爭的行業,壹個產品賣五年以上,三年才提升壹次技術水平,這是很少見的。隨著計算機產業的進步,計算機處理速度的加快,芯片物理攻擊技術的提高,加密技術產品在與盜版和解密技術的競爭中已經完全處於劣勢。
2002年,軟件保護行業終於迎來了更高層次的技術升級。這壹波技術升級的突出特點是智能卡技術在應用上的突破,智能卡技術廣泛應用於金融、軍事、網絡身份認證等對安全性和穩定性要求較高的領域,以保護商業軟件。基於智能卡技術的新壹代軟件加密系統,真正為用戶的軟件代碼和重要數據提供全方位、高安全性的保護。
此次技術升級的標誌性產品是洛克新推出的elite IV加密鎖和美國彩虹天地公司的智能狗。
下面,我們從技術層面將基於智能卡技術的新壹代軟件加密系統elite IV加密鎖與目前主流的軟件加密產品進行對比。
(壹)目前缺乏主流軟件加密鎖
對於軟件加密保護產品,用戶最關心的是加密的有效性、產品的兼容性和穩定性。目前市面上主要的軟件加密鎖都含有單片機,也就是所謂的內置CPU,軟件廠商主要使用算法函數進行加密。加密鎖通常會增加壹些輔助功能,如倒計數、遠程升級等。通過對這些軟件鎖的分析,我們認為它們在安全性方面至少有三個致命的弱點:
弱點1:設計原理有很大缺陷。
目前主流的加密鎖硬件都提供了讀、寫、算法轉換的功能,算法轉換關系難以破解且窮舉。但這種加密鎖最大的缺點是算法不向軟件廠商公開,鎖中的變換算法在出廠時就是固定的,所以軟件加密器只能設置算法的參數。這就限制了廠商對算法的使用,要麽提前記錄算法結果,在軟件運行時核對(使用碼表),要麽在軟件中至少轉換兩次,比較結果是否壹致;如果解密器截獲了這些數據,通過統計分析就可以達到解密的目的。
弱點二:加密鎖受限於處理能力,無法為軟件提供強有力的保護。
市場上已經推出了幾種“可編程”加密鎖。這類加密鎖最大的特點就是用戶可以自己設計特殊的算法。“可編程”加密鎖的出現確實是軟件加密技術的壹個進步。深度思考洛克的《深度思考III》和天妃·程心的《洛基4》都屬於這類產品。
但由於成本限制,這類加密鎖只能使用10 ~ 20元的通用8位微控制器或與核心微處理器同等級的ASIC芯片。這種低檔單片機的處理計算能力相當弱,對“可編程”加密鎖造成了很大的局限性,主要表現在:1,算法變換的復雜度不夠高,2,指令編碼空間小,3,程序區空間小。這些限制使得用戶無法通過使用“可編程”加密鎖來實現理想的高強度加密方案。
弱點三:硬件本身抵禦惡意攻擊能力弱。
隨著集成電路設計和生產技術的發展,安全產品的核心芯片硬件受到攻擊的可能性越來越大。典型的硬件攻擊手段有電子檢測攻擊(如SPA和DPA)和物理攻擊(檢測,如使用SiShell技術)。下面就簡單分析壹下這方面。
電子檢測(SPA和DPA)攻擊技術的原理是單片機芯片是壹個可移動的電子元件,當它執行不同的指令時,對應的電功耗隨之變化。通過使用特殊的電子測量儀器和數理統計技術,對這些變化進行檢測和分析,得出單片機中特定的關鍵信息。
物理攻擊的方法包括:通過掃描電鏡直接分析讀取芯片的內存或其他邏輯;通過測試探針讀取存儲器的內容;通過不能從外部獲得的接口(例如工廠測試點)對存儲器或處理器的直接數據訪問;然後激活單片機的測試功能。
由於壹般的低檔單片機在生產安全產品時不定位,不提供有針對性的防止物理攻擊的手段,更容易通過電子檢測(SPA和DPA)攻擊直接讀取內存中的數據。雖然大多數普通單片機都有熔斷保險絲的功能來保護單片機中的代碼,但這類芯片應用廣泛,分布數量大。隨著廠商之間的委托加工和頻繁的技術轉讓,更容易利用這類芯片下載程序的設計漏洞和廠商的芯片測試接口,通過特殊的燒錄定時和數據讀取信息。
ASIC芯片是根據用戶需求特制的,屬於小批量生產。因為它使用了特殊的邏輯電路,不輕易公開測試函數接口,所以基於它開發的系統只要不保存重要信息或者不用於高級別的安全場合,壹般情況下仍然可以防止物理攻擊。
(B)基於智能卡技術的新壹代加密鎖的安全特性。
IC智能卡以其可靠的安全性能廣泛應用於軍事、金融、保險等國計民生的重要領域。它是以智能卡技術為核心構建的新壹代高強度加密產品,因此具有極其優越的安全性能。
改進之壹:重要的軟件代碼完全移植到硬件上運行。
Elite IV加密鎖的工作原理請參考圖1和圖2。
從圖1和圖2可以看出,在精英IV型鎖軟件保護的方案中,PC端應用軟件的關鍵代碼和數據“消失”了,被安全地移植到精英IV型鎖的硬件上進行保護。需要時,應用軟件可以指令Elite IV運行硬件中的關鍵代碼和數據,並通過函數調用引擎返回結果,這樣整個軟件的所有功能仍然可以完成。
由於PC端沒有這些代碼和數據的拷貝,解密器無法猜測算法或竊取數據,從而大大保證了整個軟件系統的安全性。
Elite IV可提供高達32~64K字節的程序和數據空間,可容納近萬行C語言代碼。
以便仍然完成整個軟件的所有功能。
提升二:計算能力強。
智能卡技術構建的elite IV加密鎖具有強大的計算和數據處理能力,可支持浮點運算庫、數學函數庫、安全服務庫、標準輸入輸出庫等。這些對提高加密強度起著至關重要的作用。
改進三:智能卡芯片具有極高的安全性。
智能卡芯片的集成度很高。與普通的低檔單片機不同,只有通過國際安全機構檢測認證(EAL 4+和IT SEC認證)的專業安全芯片廠商才能提供智能卡芯片。
智能卡芯片可以有效抵禦電子檢測攻擊(SPA和DPA)和物理攻擊(SiShell),在硬件設計階段就提供了完善的安全保護措施。它由芯片制造商開發,通過產生額外的噪聲和幹擾信號,或者通過增加濾波電路來消除噪聲,加上壹些保護層,使用特殊材料(對電子束敏感的材料)等。,使得不可能監控在芯片中執行的指令序列。同時,智能卡芯片提供了硬件隨機數發生器。在CPU的控制下,產生的隨機數可以保證芯片與外界的每次數據傳輸中數據不會重復。
為了保證智能卡芯片的可靠性和可用性,國際權威技術標準管理組織ISO專門制定了測試標準——ISO/IEC 10373,規定了智能卡在紫外線、X射線和電磁場下的測試要求。1999年,ISO推出了安全芯片技術的新標準ISO/IEC 15408。新標準對智能卡芯片防止物理攻擊的能力提出了明確的要求。
符合上述標準的智能卡芯片具有以下防止物理攻擊的功能:
◆熔斷保險絲,測試功能無法再激活(測試功能是智能卡芯片廠商提供的綜合測試功能,對智能卡芯片有很大的可操作性,不激活測試功能會大大提高智能卡芯片的安全性);
◆高/低電壓檢測;低時鐘工作頻率的檢測;
◆防止攔截地址和數據總線;
◆物理內存保護的邏輯實現(訪問密碼等。);
◆總線和內存等的物理保護層。
此外,智能卡芯片還具有壹些對軟件保護非常有用的安全功能:
芯片自鎖功能——軟件對芯片的訪問首先受到PIN碼的保護,PIN碼的嘗試次數可以由軟件開發者設定。當非法用戶使用字典攻擊時,如果數量超過設定值,芯片會自行鎖定,芯片上的所有外部操作都會停止。
全球唯壹序列號-智能卡芯片有壹個全球唯壹序列號,不能更改。這可以防止欺詐使用,並有效地管理已發行的產品。如果軟件開發商與加密技術供應商合作,可以獲得提供特殊序列碼段控制的服務,幾乎可以從根本上解決硬件復制和仿冒的問題。
硬件隨機數生成器(白噪聲技術)-用於生成高強度隨機數。除了需要對稱算法生成密鑰之外,隨機數非常重要,在安全加密領域應用廣泛。因此,在硬件本身擁有壹個高強度的隨機數發生器,對於安全性有著重要的意義。
硬件時鐘定時器——是軟件定時使用、反跟蹤等常用軟件保護手段中必不可少的功能。
改進四:智能卡技術的核心——操作系統COS
COS(卡操作系統)存儲在智能卡芯片上,是壹個相對較小但非常完整嚴謹的系統。COS管理著智能卡的壹舉壹動,整個智能卡系統的安全除了部分芯片設計和廠商外,大部分是由COS開發者來實現的。
COS主要分為四個部分:通信管理、文件管理、安全管理和應用管理。ISO對智能卡的物理和電氣指標以及應用標準——ISO 7816做出了詳細的規定。用於與外界交換信息的智能卡的電氣指示器和指令格式在ISO 7816-3和4中有詳細說明。
開發COS系統的難度和工作量相當大,需要大量的人力和物力。任何沒有按照標準快速開發的芯片控制系統,都很可能存在設計缺陷,導致巨大的安全隱患。而結合第三方廠商COS系統的產品,由於其核心技術不太可能被加密鎖廠商完全掌控,系統的安全性依賴於第三方COS廠商,這也增加了用戶的安全風險。