軟件加密狗

軟件加密狗

計算機外接的加密設備
加密狗是外形酷似U盤的一種硬件設備,正名加密鎖,後來發展成如今的一個軟件保護的通俗行業名詞,"加密狗"是一種插在計算機并行口上的軟硬件結合的加密産品(新型加密狗也有USB口的)。[1]
  • 名稱:軟件加密狗
  • 類别:加密産品
  • 使用:插在計算機并行口
  • 特點:軟硬件結合

工作原理

舉個例子說明單片機算法的使用。比如一段程序中有這樣一句: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中解放出來了。

上一篇:林德叉車

下一篇:錯誤734

相關詞條

相關搜索

其它詞條