【摘 要】為了保護(hù)知識(shí)產(chǎn)權(quán),防止盜版軟件的產(chǎn)生,本文主要介紹了軟件程序加密的軟加密、硬加密兩種方法以及加密的工作原理。
【關(guān)鍵詞】軟件;保護(hù);加密
1 前言
保護(hù)知識(shí)產(chǎn)權(quán),抵制盜版軟件,是目前中國(guó)軟件業(yè)所面臨的迫切問(wèn)題??墒?,盡管國(guó)家一再加大力度,打擊非法軟件出版物,扶持正版軟件,但實(shí)際效果并不理想。眼見(jiàn)著無(wú)孔不入的盜版軟件對(duì)軟件市場(chǎng)的侵害,更多的軟件商選擇了購(gòu)買加密產(chǎn)品或者加密技術(shù)來(lái)保護(hù)自己的軟件。
2 加密方法
根據(jù)軟件的保護(hù)方式,加密方法主要分為硬加密和軟加密。
硬加密是在硬件加密鎖上固化一些重要的加密信息如加密密鑰、敏感數(shù)據(jù)、授權(quán)文件、自定義算法等,當(dāng)軟件程序啟動(dòng)時(shí),計(jì)算機(jī)讀取硬件加密鎖上固化的加密信息進(jìn)行檢測(cè),檢測(cè)通過(guò)才能啟動(dòng)軟件程序。硬件加密鎖從CPU類型來(lái)說(shuō)分兩種,一種使用單片機(jī)作CPU,另一種智能卡芯片作CPU。單片機(jī)硬件本身容易被破解或復(fù)制,因此中高端的加密鎖越來(lái)越多地使用智能卡芯片作CPU,以防止硬件被破解。但智能卡加密鎖的破解也越來(lái)越多,一是因?yàn)樾酒治黾夹g(shù)和儀器越來(lái)越先進(jìn);二是智能卡程序?qū)懞煤笠唤o芯片廠去制造,在這個(gè)環(huán)節(jié)程序有可能被泄漏出去,造成大批量復(fù)制。
硬加密需要硬件器件加密鎖固化加密信息,所以成本較高;缺少了硬件加密鎖,軟件程序啟動(dòng)時(shí)無(wú)法讀取固化的加密信息,不能通過(guò)信息檢測(cè),程序無(wú)法啟動(dòng),安全性高。
硬件加密雖然具有比較高的安全強(qiáng)度,但也有不少缺點(diǎn):
適用于一次性永久授權(quán);
存在硬件的生產(chǎn)、初始化、物流、安裝和維護(hù)的成本;
安裝驅(qū)動(dòng)和客戶端組件會(huì)影響客戶的使用;
難以進(jìn)行升級(jí)、跟蹤及售后管理。
軟加密是不依靠特別硬件來(lái)實(shí)現(xiàn)的對(duì)軟件的保護(hù)技術(shù),一般采取序列號(hào)或許可證文件的授權(quán)方式。軟加密并不是對(duì)軟件的所有信息都進(jìn)行加密設(shè)置,僅僅是在軟件安裝或運(yùn)行時(shí)進(jìn)行加密處理。
通常軟加密主要有三種實(shí)現(xiàn)方式。
第一種軟加密方式是軟件授權(quán)不與計(jì)算機(jī)硬件特征綁定,具體還分為兩種:一是采用與一個(gè)軟信息,如用戶名等綁定的方式,一般用于個(gè)人用戶授權(quán);二是不綁定任何信息,只要序列號(hào)或授權(quán)文件驗(yàn)證通過(guò),軟件可以在任何機(jī)器上使用,通常用于大客戶批量授權(quán)。授權(quán)的驗(yàn)證方式有直接比較、算法變換比較等方式。
第二種軟加密方式是軟件授權(quán)與系統(tǒng)的特征信息、計(jì)算機(jī)硬件的標(biāo)識(shí)信息綁定,綁定的計(jì)算機(jī)硬件特征主要有CPU序列號(hào)、BIOS序列號(hào)、硬盤序列號(hào)、網(wǎng)卡MAC地址、計(jì)算機(jī)名、用戶名等信息。這些計(jì)算機(jī)系統(tǒng)的特征信息和計(jì)算機(jī)硬件的標(biāo)識(shí)信息的集合統(tǒng)稱為計(jì)算機(jī)指紋。計(jì)算機(jī)指紋信息類似人的手指指紋信息一樣,任意兩臺(tái)計(jì)算機(jī)的系統(tǒng)的特征信息或硬件的標(biāo)識(shí)信息是不相同的。如:磁盤的分區(qū)卷標(biāo),不同軟件系統(tǒng)的計(jì)算機(jī)中磁盤分區(qū)卷標(biāo)不同;硬盤序列號(hào),任意兩張硬盤的序列號(hào)是不一樣的。軟件程序初次安裝時(shí),安裝軟件會(huì)讀取相應(yīng)的計(jì)算機(jī)指紋信息,安裝軟件使用用軟件開發(fā)者在程序中設(shè)置的加密算法加密計(jì)算機(jī)指紋信息生成加密文件,并將加密文件寫入到計(jì)算機(jī)注冊(cè)表中。當(dāng)下次啟動(dòng)運(yùn)行軟件程序時(shí),軟件程序再次讀取相應(yīng)的計(jì)算機(jī)指紋信息并采用同一種加密算法將其加密產(chǎn)生密文文件,然后與計(jì)算機(jī)軟件注冊(cè)表中的密文文件數(shù)據(jù)進(jìn)行比較,如果兩個(gè)文件數(shù)據(jù)相同則繼續(xù)運(yùn)行軟件程序,否則停止運(yùn)行軟件。
第三種軟加密方式是軟件授權(quán)與互聯(lián)網(wǎng)上的授權(quán)服務(wù)器綁定,是云計(jì)算模式的授權(quán)方案,也稱云授權(quán)。云授權(quán)的安全強(qiáng)度非常高,甚至比加密鎖還要高。這是因?yàn)榧用苕i隨軟件賣出去后是無(wú)法跟蹤和監(jiān)測(cè)的,黑客可以花任意長(zhǎng)的時(shí)間去破解它,而且一旦破解了可以大批量復(fù)制。而授權(quán)服務(wù)器有防火墻和完善的入侵檢測(cè)技術(shù),任何非法的訪問(wèn)和異常情況都可以監(jiān)測(cè)得到,安全性要高的多。服務(wù)器授權(quán)也便于實(shí)現(xiàn)授權(quán)軟件的跟蹤管理、破解補(bǔ)救和升級(jí)更新。
軟加密的優(yōu)點(diǎn)是:
無(wú)需依靠硬件加密,加密成本低;
易于管理和維護(hù),有助于提高授權(quán)效率;
可以方便實(shí)現(xiàn)“先試后買”和“按需購(gòu)買”,為開發(fā)商創(chuàng)造更多贏利模式。
3 兩種加密方法的區(qū)別
兩種加密方式最根本的區(qū)別就在于“軟”與“硬”上?!败浖用堋敝饕侵竿ㄟ^(guò)特定的軟件算法進(jìn)行加密,而硬加密作為物理加密技術(shù),其主要是通過(guò)芯片對(duì)硬盤中的字符、數(shù)據(jù)進(jìn)行加密。
其實(shí),軟加密一般通過(guò)加密軟件的方法來(lái)實(shí)現(xiàn)加密功能,它并不對(duì)數(shù)據(jù)進(jìn)行轉(zhuǎn)換運(yùn)算。通過(guò)使用加密算法將計(jì)算機(jī)指紋信息生成密碼文件,這需要大量的加密運(yùn)算,會(huì)占用大量的內(nèi)存資源,加密速度比較慢。而硬加密需要將保護(hù)的數(shù)據(jù)轉(zhuǎn)換成不可識(shí)別的數(shù)據(jù)模塊。在現(xiàn)有的操作系統(tǒng)中進(jìn)行加密,可直接對(duì)硬件加密鎖中加密文件進(jìn)行讀取,無(wú)需大量的加密運(yùn)算,加密速度相對(duì)較快。
第三,雖然硬加密比軟加密的加密成本高,但硬加密技術(shù)更安全、更可靠,比較適用于科研院所、部隊(duì)、機(jī)關(guān)、財(cái)務(wù)、各行業(yè)設(shè)計(jì)人員、個(gè)人及網(wǎng)絡(luò)用戶進(jìn)行數(shù)據(jù)交換、移動(dòng)辦公、保密數(shù)據(jù)存儲(chǔ)、備份等。同時(shí),硬加密具有簡(jiǎn)單、易用、智能化的特點(diǎn),將會(huì)是未來(lái)加密技術(shù)的發(fā)展趨勢(shì)。
4 總結(jié)
軟件加密技術(shù)是軟件保護(hù)的主要安全保密措施,是最常用的安全保密手段。軟件加密可以有效的防止軟件被盜用,維護(hù)軟件開發(fā)者的知識(shí)產(chǎn)權(quán),保護(hù)軟件開發(fā)者的經(jīng)濟(jì)利益。
參考文獻(xiàn):
[1]魏會(huì)君.軟件的加密保護(hù)技術(shù)探討[J].石油工業(yè)計(jì)算機(jī)應(yīng)用.2002,2:40—41.
[2]魏會(huì)君.軟件的加密保護(hù)技術(shù)探討[J].石油工業(yè)計(jì)算機(jī)應(yīng)用.2002,2:40—41.
[3]劉紅敏,尹志喜.計(jì)算機(jī)指紋生成技術(shù)研究[J].華北工學(xué)院學(xué)報(bào).2004,25(1):46—48.
作者簡(jiǎn)介:
姚衛(wèi)國(guó)(1978~),男,陜西西安人,本科,講師,計(jì)算機(jī)控制技術(shù)。