軟體加密狗

軟體加密狗

"軟體加密狗"是一種插在計算機並行口上的軟硬體結合的加密產品(新型軟體加密狗也有usb口的)。一般都有幾十或幾百位元組的非易失性存儲空間可供讀寫,現在較新的狗內部還包含了單片機。軟體開發者可以通過接口函式和軟體加密狗進行數據交換,來檢查軟體加密狗是否插在接口上;或者直接用軟體加密狗附帶的工具加密自己EXE檔案。軟體加密狗通過在軟體執行過程中和軟體加密狗交換數據來實現加密的。軟體加密狗內置單片機電路(也稱CPU),使得軟體加密狗具有判斷、分析的處理能力,增強了主動的反解密能力。

基本信息

簡介

"軟體加密狗"是一種插在計算機並行口上的軟硬體結合的加密產品(新型軟體加密狗也有usb口的)。一般都有幾十或幾百位元組的非易失性存儲空間可供讀寫,來檢查軟體加密狗是否插在接口上;或者直接用軟體加密狗附帶的工具加密自己EXE檔案(俗稱"包殼")。這樣,軟體開發者可以在軟體中設定多處軟體鎖,利用軟體加密狗做為鑰匙來打開這些鎖;如果沒插軟體加密狗或軟體加密狗不對應,軟體將不能正常執行。

工作原理

軟體加密狗的工作原理:

我們舉個例子說明單片機算法的使用。 比如一段程式中有這樣一句:A=Fx(3)。程式要根據常量3來得到變數A的值。於是,我們就可以把原程式這樣改寫:A=Fx(DogConvert(1)-12342)。那么原程式中就不會出現常量3,而取之以DogConvert(1)-12342。這樣,只有軟體編寫者才知道實際調用的常量是3。而如果沒有軟體加密狗,DogConvert函式就不能返回正確結果,結果算式A=Fx(DogConvert(1)-12342)結果也肯定不會正確。這種使盜版用戶得不到軟體使用價值的加密方式,要比一發現非法使用就警告、中止的加密方式更溫和、更隱蔽、更令解密者難以琢磨。此外,軟體加密狗還有讀寫函式可以用作對軟體加密狗內部的存儲器的讀寫。於是我們可以把上算式中的12342也寫到軟體加密狗的存儲器中去,令A的值完全取決於DogConvert()和DogRead()函式的結果,令解密難上加難。不過,一般說來,軟體加密狗單片機的算法難度要低於一些公開的加密算法,如DES等,因為解密者在觸及軟體加密狗的算法之前要面對許多難關。

加密原理

最新的硬體加密原理

目前全球最先進的聖天狗中引入了雙算法安全通道技術,在通訊中同時採用128位AES算法及160位ECC算法作為通訊加密手段,每一次數據傳輸都用128位隨機密鑰AES算法對其加密,而這個隨機的密鑰又用160位ECC算法加密,在隨後傳輸。由於ECC是非對稱算法,加密和解密的密鑰並不相同,如果其中一組密鑰可以用黑客手段從記憶體中獲得,那么另外一組燒錄在硬體狗中的密鑰,黑客無法獲得。無法獲得兩對ECC密鑰,也就無法破解ECC加密的數據,從而無法獲得AES密鑰,也就無法破解整個通訊過程。這一雙算法安全通道技術徹底解決了通訊監聽破解的難題,傳統的對稱算法加密,黑客只要從記憶體中獲得其加密密鑰,就可以破解整個通訊過程。

理論基礎

軟體加密狗通過在軟體執行過程中和軟體加密狗交換數據來實現加密的.軟體加密狗內置單片機電路(也稱CPU),使得軟體加密狗具有判斷、分析的處理能力,增強了主動的反解密能力。這種加密產品稱它為"智慧型型"軟體加密狗.軟體加密狗內置的單片機里包含有專用於加密的算法軟體,該軟體被寫入單片機後,就不能再被讀出。這樣,就保證了軟體加密狗硬體不能被複製。同時,加密算法是不可預知、不可逆的。加密算法可以把一個數字或字元變換成一個整數,如DogConvert(1)=17345、DogConvert(A)=43565。

軟體加密狗是為軟體開發商提供的一種智慧型型的軟體保護工具,它包含一個安裝在計算機並行口或 USB 口上的硬體,及一套適用於各種語言的接口軟體和工具軟體。軟體加密狗基於硬體保護技術,其目的是通過對軟體與數據的保護防止智慧財產權被非法使用。

處理能力

軟體加密狗可以保護的程式語言是隨著計算機的硬體及作業系統的發展而不斷變化的。

上世紀80年代,個人計算機主要為AT、286等機型。個人機的作業系統主要是DOS,企業伺服器的作業系統主要使用Novell的Netware。開發軟體狗保護軟體的工程師需要通過修改DOS的INT21、INT10方法,加密DOS下的EXE檔案,或者通過提供特定的API的方法,為Turbo C、Fortran、basic等程式語言提供加密。

此後個人機的作業系統經歷了Windows、Windows 95 、Windows2000、Windows NT、XP等升級換代,保護EXE檔案的手段也從DOS駐留程式,變為編寫VXD、SYS等方法。程式語言也涵蓋了:MASM、Turbo C、VC、Watcom C for NetWare、Watcom C for x86、NDP C for x86、NDP FORTRAN、Visual Foxpro、Clipper、LISP for AutoCAD等數十種。

隨著加密狗硬體處理能力的不斷增強,計算機USB連線埠的普及,對軟體的保護逐漸開始依賴於通用的加密算法,而不再只依賴於加密軟體的加密編程技巧。使用動態程式庫、控制項等方式已經可以滿足大部分編程工具軟體的保護需求。加密狗廠家也就從逐一為不同的編程工具軟體定製API中解放出來了。

相關詞條

相關搜尋

熱門詞條

聯絡我們