共找到4條詞條名為加密狗的結果 展開

加密狗

以軟體保護為主的設備

加密鎖是一種插在計算機并行口上的軟硬體結合的加密產品(新型加密鎖也有usb口的)。一般都有幾十或幾百位元組的非易失性存儲空間可供讀寫,現較新的狗(加密鎖)內部還包含了單片機。軟體開發者可以通過介面函數和加密鎖進行數據交換(即對加密鎖進行讀寫),來檢查加密鎖是否插在介面上;或者直接用加密鎖附帶的工具加密自己EXE文件(俗稱“包殼”)。這樣,軟體開發者可以在軟體中設置多處軟體鎖,利用加密鎖做為鑰匙來打開這些鎖;如果沒插加密鎖或加密鎖不對應,軟體將不能正常執行。

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

加密鎖通常被叫成加密狗,是加密鎖的另一個名字(外號)。

發展歷程


介紹了國內加密狗的由來及發展歷史,給出各代加密狗的硬體組成及工作原理。詳細講解了第四代加密狗獨特的加密方法與其強大的硬體組成。

由來

加密狗是一種用於軟體加密的小型外置硬體設備,現在常見的有並口與USB介面兩種類型,加密狗被廣泛應用於各種軟體之中,其中如著名的繪圖軟體AutoCAD,國內相當數量的工程軟體與財務軟體等。加密狗的成功應用,翻開了軟體知識產權保護的新篇章。
國內最早的加密狗是由現北京彩虹天地信息技術有限公司總經理、董事長—陳龍森先生在1990年提出並設計完成的。他的想法是,把一個小的硬體裝置載入到微機的并行口上,其中內置幾個邏輯晶元,作為核心的是一個計數器;然後通過軟體,向外加的硬體裝置發送脈衝信號,並等待返回信號,如果有,則表明外部存在硬體設備,否則就視作非法運行,被加密軟體停止工作。因此,陳龍森設計的軟體中,專門設有一個模塊,用來讀取并行口上的硬體信息。軟體開發的技術人員,可以把實現此項功能的軟體模塊,載入到任何需要對用戶信息判斷的地方,進行編譯連接,從而就能形成可以保護自身的軟體產品。

工作原理

加密鎖通過在軟體執行過程中和加密鎖交換數據來實現加密的。加密鎖內置單片機電路(也稱MCU),使得加密鎖具有判斷、分析的處理能力,增強了主動的反解密能力。這種加密產品稱它為"智能型"加密鎖。加密鎖內置的單片機里包含有專用於加密的演演算法軟體,該軟體被寫入單片機后,就不能再被讀出。這樣,就保證了加密鎖硬體不能被複制。同時,加密演演算法是不可預知、不可逆的。
加密演演算法可以把一個數字或字元變換成一個整數,如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提供了一套可信的解決方案,從理論上保證軟體加密的安全。

設計


提出一種直接用在計算機并行口上,通過與計算機進行數據交換來識別計算機端軟體合法性,從而控制軟體運行許可權的硬體加密鎖及其實現方案。加密鎖以單片機為主控晶元,以不影響計算機正常使用列印埠為設計原則,以現代加密技術為安全認證核心。並分析了計算機與加密鎖數據交換原理、軟體設計、認證協議和可靠通信的方法。通過測試,證明設計方案實用、可靠。

軟體設計

加密鎖軟體設計包括計算機端的軟體設計和加密鎖端的軟體設計。計算機端的軟體主要是給應用軟體提供調用的函數模塊。包括認證驅動模塊、會話密鑰產生模塊、加密解密模塊、數據交換模塊。其中,認證驅動模塊產生認證請求,如根據時間或事件產生認證請求,當認證事件發生后,應用程序調用其它模塊,通過與加密鎖通信來確定當前應用軟體的合法性。會話密鑰產生模塊向主調程序返回一定比特數的偽隨機數作為會話密鑰。加密解密模塊對給定的明文和密鑰計算出對應的密文,或者對給定的密文和密鑰計算出相應的明文。數據交換模塊將計算機中指定的數據發送到加密鎖,並接收加密鎖返回的數據或確認信號,並在其中設置超時時間,當超時次數大於指定次數時,認為加密鎖未接在并行埠上,或加密鎖非法。程序採用標準C語言編寫,易於跨平台使用。

可靠通信設計

為了實現計算機和加密鎖的可靠通信,採用以下方法:首先,在通信的數據中增加一個校驗位元組,發送方在發送數據時計算校驗位元組,放在其通信數據的最後,而接收方接收到通信數據后首先驗證校驗位元組,如果正確則進行正常的數據處理,否則向發送方返回非確認信號,從而建立起錯誤重發送機制。其次,加密鎖平常是處於空閑狀態的,只有在計算機與加密鎖通信時才使加密鎖處於激活狀態。為了識別出計算機使用印表機與計算機和加密鎖通信這兩種情況,計算機在與加密鎖認證之前,向列印口連續發送‘’0XFF‘’信號,以正確激活加密鎖。

指紋識別

相比於傳統的加密方案,市面上又出現了一種新型加密狗,Synaptics宣布了一種新的微型USB加密狗方案,可以插在任何筆記本上,使之立刻具備指紋識別功能。
該方案基於Synaptics Natural ID安全指紋識別技術,並通過了FIDO安全認證,兼容新廣泛,並完全支持Windows Hello、Microsoft Passport。這個小傢伙非常迷你,插到USB介面上也幾乎感受不到,不會佔用多少空間。Synaptics稱之為‘’交鑰匙方案‘’,也就是OEM、ODM廠商可以直接就拿來做成成品並銷售,也可以綁定在筆記本上。

技術發展

隨著解密技術的日益升級,對加密鎖的安全性提出更高要求。傳統的智能型可編程加密鎖主張的是‘’代碼片移植‘’——將被保護程序母體分點式鏤空,這個從理論上說是安全的,但是實際並非如此,有以下兩點原因:一是,從已有程序母體中抽出待移植代碼片是一件比較困難的事情,所以抽出的代碼邏輯大多數都相對較簡單;二是,由於加密鎖本身的硬體執行效率限制,複雜的演演算法在鎖中運行效率將是個最大的瓶頸。

運用案例

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