㈠ 加密狗的原理是什麼樣的
加密狗(dongle),經常被認為是硬體保護,它是一個可被附加在計算機並口、串口或USB上的小插件,它包含廠家燒制的EPROM和定製的專用集成電路。dongle保護的的原理就是軟體開發者在程序里經常檢查dongle中的單元(Cell)的並對比返回值,這種檢查可以是直接讀單元或者是使用某種內部演算法(此時單元受到保護無法直接讀)。
參考資料:http://www.isip.cn/IsipView/2005-7-19/Html_View_900.Htm#
㈡ 加密狗的工作原理
以下就現今全球軟體保護行業較普遍採用的方法之一使用「硬體加密狗」的方式方法談談自己的一點看法。
在當今中國市場上最主要的加密鎖品牌有:1。美國彩虹公司(也是最早做硬體加密的公司)的國產品牌「加密狗」、美國品牌「聖天諾軟體加密鎖」;2。阿拉丁的「HASP」系列加密鎖;3。德國威博公司的「WBU-KEY」加密鎖;4。深思洛克的「深思加密鎖」;5。藍宇風公司的「金盾加密鎖」;6。飛天公司的「ROCKEY」加密鎖等幾個主要品牌。
以上加密鎖品牌的工作原理都是大同小異:被保護的軟體--加密鎖之間形成一一對映的關系,被保護的軟體在運行的過程當中不斷通過其API函數向加密鎖發指令來判斷加密鎖是否存在於,軟體離開保護鎖不能運行。
但是從其發展歷程來看,本人以美國RAINBOW公司的產品生產研發的歷程作一個簡單的介紹:
1、從最早由美國RAINBOW公司生產的第一代硬體保護鎖,只是通過一個簡單查詢函數來驗證並口的硬體保護鎖是否存在,存在則程序繼續運行,不再則軟體終止運行,來完成並保護軟體開發商的利益;
2、接著依然是美國RAINBOW公司對自己的第一代的產品進行了改進而形成了第二代的加密鎖產品,並且美國RAINBOW公司為其第二代產品取名為:SENTINEL PRO,其與第一代的產品相比較最大的改變在於加密鎖硬體里頭的運算晶元由RAINBOW公司寫入了一個固定的「加密演算法」,但這個演算法是單一的固定的。
以上兩種產品對於軟體開發商來說有一個相當大的風險,那就是其必需相信RAINBOW公司不會把買給他們的加密鎖買給別的個人,如果RAINBOW把相同的產品出售給別人的話,別人拿到這個加密鎖就能使用開發商的軟體。
3、通過軟體開發商對這個問題的重視,RAINBOW公司針對這種情開發出了第三代的加密產品:SENTINEL SUPERPRO,這種產品徹底解決了軟體開發商的後顧之憂。這種產品其運算晶元中內置了28種演算法,共分為56個單元,每兩個單元可以單獨保護一個應用程序,故用RAINBOW公司的說法其一把鎖可以保護28個應用程序;且這種加密鎖的每個演算法單元所採用的演算法因子是由軟體開發商自己設定的,當其寫入加密鎖後對於外界來說就相當於一個暗箱,是任何人也讀不出來的。
4、但隨著解密者的技術的不斷提高,RAINBOW中國公司研發出了第四代的產品-智能狗,與現今的差不多所有品牌的加密鎖相比較,這種狗有了一個質的飛躍:其通過在開發過程中把一段代碼加密後寫入加密狗,當程序運行時再把加密狗里的代碼在加密狗里自行運行,程序調用其運算結果來完成軟體的加密,如此就從理論上杜絕了軟體被破解的可能。
現在市面上的加密狗的工作原理不外乎RAINBOW的這兩種形式:1、程序發命令查詢--加密狗運算後相應程序;2、把源代碼放入加密狗內部執行(現在還只有RAINBOW公司一家有此功能的加密狗)。
轉載自月光博客。
㈢ 加密狗的原理是什麼
加密狗的工作原理:
加密狗通過在軟體執行過程中和加密狗交換數據來實現加密的。加密狗內置單片機電路(也稱CPU),使得加密狗具有判斷、分析的處理能力,增強了主動的反解密能力。
這種加密產品稱型汪芹它為"智能型"加密狗.加密狗內置的單片機里包含有專用於加密的演算法軟體,該軟體被寫入單片機後,就不能再被讀出。這樣,就保證了加密狗硬體不能被復制。同時,加密演算法是不可預知、不可逆的。
加密演算法可以把一個數字或字元變換成一個整數,如DogConvert(1)=12345,下面,舉個例子說明單片機演算法的使用。 比如一段程序中有這樣一句: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等,因為解密者在觸及加密狗的演算法之前要面對許多難關。
(3)加密狗配置文件是什麼原理擴展閱讀:
加密狗是一種用於軟體加密的小型外置硬體設備,常見的有並口與USB介面兩種類型,加密狗被廣泛應用於各種軟體之中,陵梁其中如著名的繪圖軟體AutoCAD,國內相當數量的工程軟體與財務軟體等。加密狗的成功應用,翻開了軟體知識產權保護的新篇章。
國內最早的加密狗是由現北京彩虹天地信息技術有限公司總經理、董事長—陳龍森先生在1990年提出並設計完成的。
他的想法是,把一個小的硬體裝置載入到微機的並行口上,其中內置幾個邏輯晶元,作為核心的是一個計數器;然後通過軟體,向外加的硬體裝置發送脈沖信號,並等待返回信號,如果有,則表明外部存在硬體設備,否則就視作非法運行,被加密軟體停止工作。
因此,陳龍森設計的軟體中,專門設有一個模塊,用來讀取並行口上的硬體信息。軟體開發的技術人員,可以把實現此項功能的軟體模塊,載入到任何需要對用戶信息判斷的地方,進行編譯連接,從而就能形成可以保護自身的軟體產品。
㈣ 加密狗的原理是什麼
加密狗是外形酷似U盤的一種硬體設備,正名加密鎖,後來發展成如今的一個軟體保護的通俗行業名詞,"加密狗"是一種插在計算機並行口上的軟硬體結合的加密產品(新型加密狗也有usb口的)。一般都有幾十或幾百位元組的非易失性存儲空間可供讀寫,現在較新的狗內部還包含了單片機。軟體開發者可以通過介面函數和軟體狗進行數據交換(即對軟體狗進行讀寫),來檢查軟體狗是否插在介面上;或者直接用軟體狗附帶的工具加密自己EXE文件(俗稱"包殼")。這樣,軟體開發者可以在軟體中設置多處軟體鎖,利用軟體狗做為鑰匙來打開這些鎖;如果沒插軟體狗或軟體狗不對應,軟體將不能正常執行。 x0dx0a加密狗通過在軟體執行過程中和加密狗交換數據來實現加密的.加密狗內置單片機電路(也稱CPU),使得加密狗具有判斷、分析的處理能力,增強了主動的反解密能力。這種加密產品稱它為"智能型"加密狗.加密狗內置的單片機里包含有專用於加密的演算法軟體,該軟體被寫入單片機後,就不能再被讀出。這樣,就保證了加密狗硬體不能被復制。同時,加密演算法是不可預知、不可逆的。加密演算法可以把一個數字或字元變換成一個整數,如DogConvert(1)=12345、DogConvert(A)=43565。x0dx0a加密狗是為軟體開發商提供的一種智能型的軟體保護工具,它包含一個安裝在計算機並行口或 USB 口上的硬體,及一套適用於各種語言的介面軟體和工具軟體。加密狗基於硬體保護技術,其目的是通過對軟體與數據的保護防止知識產權被非法使用。x0dx0a工作原理x0dx0a加密狗的工作原理:x0dx0a加密狗通過在軟體執行過程中和加密狗交換數據來實現加密的.加密狗內置單片機電路(也稱CPU),使得加密狗具有判斷、分析的處理能力,增強了主動的反解密能力。這種加密產品稱它為"智能型"加密狗.加密狗內置的單片機里包含有專用於加密的演算法軟體,該軟體被寫入單片機後,就不能再被讀出。這樣,就保證了加密狗硬體不能被復制。同時,加密演算法是不可預知、不可逆的。加密演算法可以把一個數字或字元變換成一個整數,如DogConvert(1)=12345、DogConvert(A)=43565。下面,我們舉個例子說明單片機演算法的使用。 比如一段程序中有這樣一句: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等,因為解密者在觸及加密狗的演算法之前要面對許多難關.
㈤ 軟體加密狗的工作原理
軟體加密狗的工作原理:
我們舉個例子說明單片機演算法的使用。 比如一段程序中有這樣一句: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密鑰,也就無法破解整個通訊過程。這一雙演算法安全通道技術徹底解決了通訊監聽破解的難題,傳統的對稱演算法加密,黑客只要從內存中獲得其加密密鑰,就可以破解整個通訊過程。