1. 程式人生 > >詳細瞭解加密狗的加密原理

詳細瞭解加密狗的加密原理

在當今中國市場上最主要的加密鎖品牌有:  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公司一家有此功能的加密狗)。