『壹』 加密狗的工作原理
以下就現今全球軟體保護行業較普遍採用的方法之一使用「硬體加密狗」的方式方法談談自己的一點看法。
在當今中國市場上最主要的加密鎖品牌有: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公司一家有此功能的加密狗)。
轉載自月光博客。
『貳』 軟體加密狗工作流程是什麼——真地智能
1.加密狗是用來保護軟體版權的的USB設備,利用硬體設備唯一性防止軟體傳播。
2.加密狗一般是使用加密晶元,有一定的存儲空間,支持一些加密演算法。
3.軟體商在開發的時候把軟體和加密狗代碼結合起來,使軟體運行過程中去連接加密狗。
4.連接的方式有多種,例如在加密狗內寫一些信息,偶爾讀取一下,驗證加密狗的存在。
5.也有通過在加密狗內寫一些授權模塊信息的,使加密狗和軟體不同功能做綁定。
6.一般加密狗商家賣硬體的同時會提供匹配的開發SDK,根據對應的文件去開發即可。
『叄』 軟體加密狗的工作原理
軟體加密狗的工作原理:
我們舉個例子說明單片機演算法的使用。 比如一段程序中有這樣一句: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等,因為解密者在觸及軟體加密狗的演算法之前要面對許多難關。
『肆』 怎麼看搏圖加密狗正常工作
需要寫一個程序來看。插上加密狗只能控制某個程序的埠,但必須要跟加密狗對應的程序埠 , 是點對點控制。
加密狗不能直接控制電腦上應用程序的埠,只能編寫一個程序監控80這個埠同時監控是否插入加密狗,如果已經插入狗,就放行http協議的數據,否則阻止。
設置一個監控埠的進程,也就是說一共有3個進程一個是開啟一個是關閉,一個是監控服務狀態。加密鎖通常被叫成加密狗,是加密鎖的另一個名字(外號),加密鎖是一種插在計算機並行口上的軟硬體結合的加密產品(新型加密鎖也有usb口的)。是目前流行的一種身份認證安全工具,大小類似U盤,可直接在電腦的USB介面插拔,我們的加密狗也是屬於此類,每隻狗有獨立的產品識別碼,獨立最新加密演算法,用戶在登陸平台時,只有檢測到特定的加密狗和准確的物理驗證後,才允許正常登陸。