新聞資訊
加密狗原理及如何對抗破解
更新時間:2018-07-06 14:15:43 點擊量:
簡介
"加密狗"是一種插在計算機USB口或者主板上的軟硬件結合的加密產品(也有一種是用一個加密的文件存放在電腦硬盤特殊位置,在電腦中虛擬出一個加密狗,俗稱軟鎖)。一般都有幾百或幾k字節的非易失性存儲空間可供讀寫,來檢查加密狗是否插在接口上;或者直接用加密狗附帶的工具加密自己EXE和DLL文件(外殼加密)。這樣,軟件開發者可以在軟件中設置多處軟件鎖,利用加密狗做為鑰匙來打開這些鎖;如果沒插加密狗或加密狗不對應,軟件將不能正常執行。
加密狗的工作原理:
我們舉個例子說明單片機算法的使用。 比如一段程序中有這樣一句: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()函數的結果,令解密難上加難。
加密狗如何對抗破解
- -硬件對抗復制
現在市面上的加密狗廠家,一般采用購買第三方加密芯片的方式來生產加密狗,這種方式的優點是成本比較低,技術也相對成熟。第三方芯片一般都是大廠生產,有很好的防硬件克隆手段,但使用這種芯片的用戶量非常大,使用方法也是公開的,受攻擊的概率也很高,難免有不法分子在利益驅動下投入很大成本對這種芯片進行破解,一旦芯片被破,受影響的是所有使用該芯片的用戶,包括加密狗。還有一些有實力的廠家會自己研發芯片,比如金雅拓生產的加密狗,它是自己設計的加密狗芯片,再找外協廠生產加工,這種芯片產量極低,只應用于加密狗,市面上是單獨買不到了,大大降低了受攻擊的概率,當然這樣的做法是增加了加密狗的成本。
- -通訊層對抗仿真破解
早期的加密狗,一般采用8位單片機作為處理器,受運算能力限制,加密狗廠家通常采用自己定義的一個算法,如彩虹天地加密狗用隨機噪聲來干擾破解者的跟蹤。隨著芯片技術技術的不斷完善,加密狗所使用的芯片也由原來的單片機改為智能卡芯片,所使用的算法也跟主流的加密算法相同。目前最新的圣天諾LDK加密狗就是采用32位智能卡芯片,使用的是雙算法白盒加密安全通道技術,在通訊中同時采用128位AES算法及160位ECC算法作為通訊加密手段,每一次數據傳輸都用128位隨機密鑰AES算法對其加密,而這個隨機的密鑰又用160位ECC算法加密,在隨后傳輸。由于ECC是非對稱算法,加密和解密的密鑰并不相同,如果其中一組密鑰可以用黑客手段從內存中獲得,那么另外一組燒錄在硬件狗中的密鑰,黑客無法獲得。無法獲得兩對ECC密鑰,也就無法破解ECC加密的數據,從而無法獲得AES密鑰,也就無法破解整個通訊過程。這一雙算法安全通道技術徹底解決了通訊監聽破解的難題,傳統的對稱算法加密,黑客只要從內存中獲得其加密密鑰,就可以破解整個通訊過程。
- -應用層對抗分析破解
理論上來說,所有加密過的數據,在內存中都將被解密還原,對于黑客來說,他可以不去理會通訊層有多復雜的算法,而是在內存中找到加密狗的最終的解密數據,或者找到程序識別加密狗后的跳轉算法,將它修改為一個永遠為“真”值的識別結果,以達到繞開加密狗的目的。基于這種破解理論,加密狗提供的外殼加密工具會很好地彌補這個漏洞。
外殼加密,即對用戶已經編譯生成的exe或dll,自動加了一層保護殼,程序運行時先運行殼代碼,殼代碼有一套加密狗核驗和干擾指令組成,同時加入了大量的垃圾跳轉代碼在里面,達到迷惑跟蹤者的作用,即所謂的迷宮技術。通常一個正常的可執行文件經外殼加密后,其文件大小會增加好幾倍,就是因為加入了很多的干擾指令。程序經過外殼加密后,原來一個解密點或者一個加密狗判斷點,會被擴展到幾十幾百個點,最終的迷宮出口還是只有一個,黑客要把所有的干擾代碼全部理清了才能找到程序的出口,其工作量是可想而知的。現在很多外殼加密工具,其外殼部分代碼還與程序實際代碼還有對應的相互校驗機制,以對抗脫殼工具的暴力脫殼,外殼被脫掉了,受保護的實際代碼處于加密狀態,無法正常運行。最新版的圣天諾LDK7.8外殼加密工具還引入了一個“自毀”裝置,它能判斷出程序是正常運行還是被跟蹤運行,當程序發現當前運行環境有被跟蹤的情況,就會自動鎖住加密狗,使它處于失效狀態,失效后的加密狗必須由開發商才能解鎖,這樣就大大增加黑客破解的風險。
關于廣州唯賽
廣州市唯賽計算機有限公司是金雅拓軟件貨幣化產品中國區核心代理商,已有十余年從業經驗,為軟件開發商、系統集成商以及設備制造商提供專業的軟件加密保護方案,主要的產品有:賽孚耐加密狗、圣天諾加密鎖等。