怎樣用加密狗保護(hù)我們的程序?加密狗使用原理的一點(diǎn)了解
保護(hù)自己的軟件不被盜版、破解是所有軟件廠商頭疼的問題,在知識產(chǎn)權(quán)的問題已經(jīng)從國家層面上被重視起來后,還是可以從很多渠道獲取破解軟件,包括Windows在內(nèi)。加密狗是常常聽說的一種保護(hù)方式,我們也有心嘗試一下,所以對加密狗做了一些了解。
加密狗多數(shù)使用USB接口連接,早期的加密狗只有存儲功能,主要用于身份識別,后來發(fā)展到可以做簡單的加減和位運(yùn)算,現(xiàn)在的加密狗,已經(jīng)可以做到浮點(diǎn)運(yùn)算,相當(dāng)于一臺電腦。
加密狗內(nèi)部提供一個目錄結(jié)構(gòu),可以用來存放文件,密鑰,程序,沒錯,可以放可執(zhí)行文件,可執(zhí)行文件在加密狗內(nèi)部執(zhí)行,但不能被讀取。每級目錄和文件都有唯一ID和開發(fā)商PIN,保證沒有PIN的程序無法使用加密狗中的數(shù)據(jù),不知道文件ID也無法使用這些文件。
加密狗一般都會使用如51類的芯片,廠商會提供給開發(fā)者一套開發(fā)環(huán)境,開發(fā)者通過開發(fā)環(huán)境開發(fā)自己的可執(zhí)行程序,通過工具寫入加密狗。如PC或工控機(jī)上的程序中的核心功能算法可以封裝入可執(zhí)行程序中,需要時調(diào)用加密狗中的程序,這樣就算軟件被破解或復(fù)制,沒有加密狗,軟件也不可能使用,或者將使用次數(shù)和使用時限的功能封裝到可執(zhí)行程序,只要可以編程,一切皆有可能。
當(dāng)然,現(xiàn)在的加密狗功能很多,可以存儲密鑰做身份認(rèn)證,可以用來給程序加殼,可以生成密鑰對來加密文件或程序,根據(jù)項(xiàng)目可以選擇更合適的方法。但根據(jù)我們的實(shí)際測試,國產(chǎn)的加密狗對Windows堅(jiān)持的很好,但對Linux堅(jiān)持的都不是很好,有的沒有Linux驅(qū)動,有的有驅(qū)動,但經(jīng)常發(fā)生無法識別的問題,可能Linux上很少人會用到吧。
大家有什么好的方案保護(hù)服務(wù)器程序嗎?