共找到2條詞條名為加密鎖的結果 展開

加密鎖

加密鎖

"加密鎖"(也稱加密狗)最早由彩虹天地開發,現已成為軟體加密行業的代名詞。加密鎖是一種插在計算機并行口上的軟硬體結合的加密產品(新型加密鎖也有usb口的)。一般都有幾十或幾百位元組的非易失性存儲空間可供讀寫,現較新的狗內部還包含了單片機。軟體開發者可以通過介面函數和加密鎖進行數據交換(即對加密鎖進行讀寫),來檢查加密鎖是否插在介面上;或者直接用加密鎖附帶的工具加密自己EXE文件(俗稱"包殼")。這樣,軟體開發者可以在軟體中設置多處軟體鎖,利用加密鎖做為鑰匙來打開這些鎖;如果沒插加密鎖或加密鎖不對應,軟體將不能正常執行。加密鎖是為軟體開發商提供的一種智能型的具有軟體保護功能的工具,它包含一個安裝在計算機并行口或 USB 口上的硬體,及一套適用於各種語言的介面軟體和工具軟體。加密鎖基於硬體保護技術,其目的是通過對軟體與數據的保護防止知識產權被非法使用。

基本簡介


基本概述

"加密鎖"(也稱加密狗)最早由彩虹天地開發,現已成為軟體加密行業的代名詞。加密鎖是一種插在計算機并行口上的軟硬體結合的加密產品(新型加密鎖也有usb口的)。一般都有幾十或幾百位元組的非易失性存儲空間可供讀寫,現較新的狗內部還包含了單片機。軟體開發者可以通過介面函數和加密鎖進行數據交換(即對加密鎖進行讀寫),來檢查加密鎖是否插在介面上;或者直接用加密鎖附帶的工具加密自己EXE文件(俗稱"包殼")。這樣,軟體開發者可以在軟體中設置多處軟體鎖,利用加密鎖做為鑰匙來打開這些鎖;如果沒插加密鎖或加密鎖不對應,軟體將不能正常執行。
加密鎖是為軟體開發商提供的一種智能型的具有軟體保護功能的工具,它包含一個安裝在計算機并行口或USB口上的硬體,及一套適用於各種語言的介面軟體和工具軟體。加密鎖基於硬體保護技術,其目的是通過對軟體與數據的保護防止知識產權被非法使用。

工作原理

加密鎖通過在軟體執行過程中和加密鎖交換數據來實現加密的。加密鎖內置單片機電路(也稱CPU),使得加密鎖具有判斷、分析的處理能力,增強了主動的反解密能力。這種加密產品稱它為"智能型"加密鎖。加密鎖內置的單片機里包含有專用於加密的演演算法軟體,該軟體被寫入單片機后,就不能再被讀出。這樣,就保證了加密鎖硬體不能被複制。同時,加密演演算法是不可預知、不可逆的。加密演演算法可以把一個數字或字元變換成一個整數,如DogConvert(1)=17345、DogConvert(A)=43565。下面,我們舉個例子說明單片機演演算法的使用。比如一段程序中有這樣一句:A=Fx(3)。程序要根據常量3來得到變數A的值。於是,我們就可以把原程序這樣改寫:A=Fx(DogConvert(1)-17342)。那麼原程序中就不會出現常量3,而取之以DogConvert(1)-17342。這樣,只有軟體編寫者才知道實際調用的常量是3。而如果沒有加密鎖,DogConvert函數就不能返回正確結果,結果算式A=Fx(DogConvert(1)-17342)結果也肯定不會正確。這種使盜版用戶得不到軟體使用價值的加密方式,要比一發現非法使用就警告、中止的加密方式更溫和、更隱蔽、更令解密者難以琢磨。此外,加密鎖還有讀寫函數可以用作對加密鎖內部的存儲器的讀寫。於是我們可以把上算式中的17342也寫到加密鎖的存儲器中去,令A的值完全取決於DogConvert()和DogRead()函數的結果,令解密難上加難。不過,一般說來,加密鎖單片機的演演算法難度要低於一些公開的加密演演算法,如DES等,因為解密者在觸及加密鎖的演演算法之前要面對許多難關

應用


最新進展

目前最新的硬體加密原理
隨著解密技術的發展,單片機加密狗由於其演演算法簡單,存儲空間小,容易被硬體複製等原因,正逐漸被市場所淘汰。以北京深思洛克軟體技術股份有限公司為首的國內加密狗廠商研發出穩定性更好、存儲空間更大(最大為64K)、有效防止硬克隆的第四代加密狗——“智能卡”加密狗,“智能卡”加密狗以其獨創的“代碼移植”原理,已經被國內大型商業軟體開發商如擎洲廣達、金蝶、用友、CAXA、廣聯達、神機妙算、魯班……所採用。
以世界上第一款智能卡加密鎖——精銳IV為例,簡單介紹一下“代碼移植”原理。
“代碼移植”加密原理為一種全新的、可信的軟體保護模型,工作原理為:軟體中部分代碼經過編譯,“移植”到加密鎖硬體內部,軟體中沒有該段代碼的副本。
在這套軟體保護方案中,PC端應用軟體的關鍵的代碼和數據“消失”了,被安全地移植到精銳IV型加密鎖的硬體中保護起來。在需要使用時,應用軟體可以通過功能調用引擎來指令精銳IV運行硬體中的關鍵代碼和數據並返回結果,從而依然可以完成整個軟體全部的功能。由於這些代碼和數據在PC端沒有副本存在,因此解密者無從猜測演演算法或竊取數據,從而極大程度上保證了整個軟體系統的安全性。簡言之,精銳IV提供了一套可信的解決方案,從理論上保證軟體加密的安全。

運用案例

1、擎洲廣達工程計價軟體
2、廣聯達造價軟體
3、清華斯維爾造價軟體
4、神機妙算造價軟體
5、魯班造價軟體

技術發展


隨著解密技術的日益升級,對加密鎖的安全性提出更高要求。傳統的智能型可編程加密鎖主張的是“代碼片移植”——將被保護程序母體分點式鏤空,這個從理論上說是安全的,但是實際並非如此,有以下兩點原因:一是,從已有程序母體中抽出待移植代碼片是一件比較困難的事情,所以抽出的代碼邏輯大多數都相對較簡單;二是,由於加密鎖本身的硬體執行效率限制,複雜的演演算法在鎖中運行效率將是個最大的瓶頸。
北京世紀龍脈科技有限公司開發的mLock系列加密鎖以更高的運行效率、更簡單易用的數據交互方式解決了這一難題,優化了加密鎖性能,最終提升了加密鎖的安全強度。以mLock Smart X3這款加密鎖為例:

運行效率

mLock SmartX3可編程加密鎖採用高性能的32位ARM處理器內核,代替傳統加密鎖的8位虛擬C51內核。
ARM處理器,性能高、耗能低、價格低,是RISC(精簡指令集)體系的代名詞。Smart X3智能編程鎖使用的是Thumb/Thumb2精簡指令集,最大特點就是具有16位的指令密度,32位的指令性能,這就意味著可以用很少的指令完成功能複雜的操作。
而C51指令集最大的性能瓶頸是累加寄存器A在運算中作為橋樑導致的。Thumb/Thumb2精簡指令集卻不存在這種瓶頸,C51指令集在代碼體積和性能上較Thumb/Thumb2精簡指令集都相差巨大,下面的圖表比較了C51和ARM中兩個32位整型數據相乘的指令運行時間和代碼大小:
C51指令vs ARM指令
C51指令vs ARM指令

數據交互方式

mLock Smart X3可編程加密鎖採用與應用程序變數原始綁定模式,支持全數據類型。並採用映射機制,鎖中程序與應用軟體中變數一一對應,避免了傳統編程鎖在輸入輸出緩衝區中取變數並作相應轉換的不便。
加密鎖中的程序和應用程序的數據交互方式決定了編程鎖的易用性,在前期的開發中,在線調試工具幾乎充當了主要角色,而它的易用程度更是決定於數據的交換方式。
傳統的編程鎖與應用程序的數據交換方式都是結構體變數集體綁定傳送,所有類型變數都是以位元組序傳入傳出,並且在線測試工具都是以位元組方式表示,同時還要考慮數據大小尾的問題。
因為C51對double類型數據是不支持的,傳統的解決方案是用“偽double”數據類型,也就是用字元數組代替,這樣就使定義和初始化很不方便,而且運算速度也很慢。
mLock Smart X3可編程加密鎖完全支持所有基本數據類型,對double數據類型做到了原生支持,支持如:double a = 1.2345; 方式定義。並且對64位數據類型做到了無縫支持,這在C#開發中很有用,因為long類型數據在C#中是64位的。
mLockSmart X3可編程加密鎖的程序開發環境採用的是MDK,該IDE對ARM處理器的支持已經做到了極致,在代碼自動優化方面做得很好,所有函數都符合ANSI 'C'標準。
Smart X3
Smart X3
完美的B/S登陸,在線升級解決方案
從現在的網路發達程度來看,C/S與B/S的融合將是一個必然趨勢,mLock Smart X3可編程加密鎖已經將B/S登錄認證和WEB在線升級完美集成,這將給軟體日後維護和用戶管理帶來安全可靠的硬體支持。
總之,mLock Smart X3可編程加密鎖在傳統加密鎖技術上進行了一次質的飛躍,它把安全、高效、人性化融為一體,突破傳統編程鎖的技術瓶頸,將現代編程技術和反跟蹤手段完美結合,根本上保障軟體的安全性。