软件加密方式大全
加密一詞來源已久,自從人們希望對(duì)自己私人的信息得到保護(hù)開始,就有了加密這個(gè)概念。軟件行業(yè)的加密是軟件廠商為了保護(hù)軟件開發(fā)的利潤(rùn)
而采取的一種軟件保護(hù)方式,加密 的好壞直接影響到軟件的銷售,從 Apple II 的年代開始,加密與解密的斗爭(zhēng)就一直沒有停 止過。時(shí)至今日
,軟件加密的方案已經(jīng)多種多樣,在這里我將介紹一下各種加密方案的特點(diǎn) 和優(yōu)劣,當(dāng)然這只是一家之見,持不同觀點(diǎn)者可一笑置之。
當(dāng)前軟件加密方法多種多樣,已經(jīng)不可能找出一種分類方法來把各種加密方案很好的區(qū)分開來。 基本上來說可以分為依賴特定硬件的加密方案
和不依賴硬件的加密方案。
一、我們首先說說依賴硬件的加密方案:
1、軟盤加密
這是在計(jì)算機(jī)上最為古老的一種加密方案,它的原理是在軟盤的特殊位置寫入一些信息,軟件在運(yùn)行時(shí)要檢驗(yàn)這些信息。這種軟盤就好像一把鑰
匙。軟件開發(fā)商只需一次投資購買一套加密工具就可以自己制作多張鑰匙盤。此方法加密簡(jiǎn)單,成本低,在軟件發(fā)展的不同時(shí)期 都能看到其閃
光點(diǎn)。像中文之星 2.97還在延用這種方式。但用戶在執(zhí)行軟件時(shí)必須要插入此軟盤。因?yàn)檐涷?qū)是慢速設(shè)備,多次檢查軟盤上的加密點(diǎn)會(huì)大大拖
慢程序的運(yùn)行速度,所以 一般加密軟件只在軟件運(yùn)行開始的時(shí)候檢查一次,這樣不能避免用戶用一張加密盤啟動(dòng)多份軟件。而且由于軟盤是一
種易損載體,加密軟件對(duì)軟盤加密點(diǎn)的反復(fù)讀寫很容易造成軟盤的損壞。而這張加密盤又不能備份,軟件公司要不斷應(yīng)付用戶更換加密盤的請(qǐng)求
。另外由于這種加密技術(shù)出現(xiàn)的較早,硬解密的技術(shù)相對(duì)比較成熟,像雙星公司的 King-Copy 軟件能拷貝大多數(shù)的加密軟盤,連加密點(diǎn)一起復(fù)
制,復(fù)制后的軟盤還是加密的。
2、卡加密
在 90 年代初,各種各樣的漢卡涌現(xiàn)出來,而隨之而來的卡加密技術(shù)也開始風(fēng)行。卡加密的好處是由于加密卡上面不僅僅可以存放數(shù)據(jù),而且可
以用硬件實(shí)現(xiàn)簡(jiǎn)單的算法,而且在軟件的執(zhí)行過程中可以隨時(shí)訪問加密卡,不會(huì)對(duì)軟件運(yùn)行的速度帶來太多的影響,而且由于加密卡是與計(jì)算機(jī)
的總線交換數(shù)據(jù),數(shù)據(jù)通訊協(xié)議完全由卡的廠家制定,沒有統(tǒng)一的標(biāo)準(zhǔn)接 口,讓軟件解密者有無從下手的感覺。像北大方正早期的印刷軟件都
是采用這種方法來加密 的。但這種加密方案需要打開計(jì)算機(jī)的機(jī)箱,占用擴(kuò)展槽,一般還需要專門的人員來安裝。 另外,由于加密卡設(shè)計(jì)上的
某些問題,還很容易同現(xiàn)有的硬件發(fā)生沖突。考慮到成本,加密 卡必須要批量生產(chǎn),廠商一般不會(huì)對(duì)低價(jià)值的軟件一下投入這么大的資金。由
于種種問題, 這種加密技術(shù)現(xiàn)在已經(jīng)難得一見了。
3、軟件鎖加密
軟件鎖加密是在國外首先出現(xiàn)的,它是一個(gè)插在計(jì)算機(jī)打印口上火柴盒大小的設(shè)備, 國內(nèi)俗稱為加密狗。在加密鎖內(nèi)部存有一定的數(shù)據(jù)和算法
,計(jì)算機(jī)可以與之通訊來獲得其中的數(shù)據(jù),或通過加密鎖進(jìn)行某種計(jì)算。軟件無法離開加密鎖而運(yùn)行。由于它不像卡加密那樣 需要打開計(jì)算機(jī)
的機(jī)箱來安裝,但又像加密卡那樣可以隨時(shí)訪問,而且訪問速度很快,所以一推出就受到軟件開發(fā)者們的青睞,很快成為當(dāng)今世界上主流的加密
方案。目前,所有的加 密鎖都提供了可編程的接口。用戶可以控制加密鎖中的內(nèi)容,在程序中通過加密鎖的接口任 意訪問加密鎖。國外加密鎖[Page]
一般僅提供若干種算法,但好的加密鎖不但可以向客戶提供加密算 法,也容許客戶根據(jù)自己的意愿自定義加密算法,容許客戶自定義用戶ID號(hào)…
…比如:北京 飛天誠信科技公司推出的ROCKEY-IV鎖就是一種加密強(qiáng)度很高產(chǎn)品。但加密鎖也是有一定缺欠的,由于加密鎖利用的是計(jì)算機(jī)的打
印口,而打印口原來是為打印機(jī)而設(shè)計(jì)的,軟件鎖一方面要保證用戶加密操作的正確,同時(shí)也要保證打印機(jī)工作的正常。但由于打印機(jī)驅(qū)動(dòng)程序
設(shè)計(jì)上千差萬別,沒有任何一家的加密鎖能夠完全做到這一點(diǎn)。 但這一問題隨著技術(shù)的進(jìn)步有希望得到徹底的解決,那就是 USB 接口的加密鎖
。USB 是 Microsoft、Intel、Compaq、NEC 聯(lián)合開發(fā)的一種全新的硬件接口標(biāo)準(zhǔn),能夠同時(shí)支持 128 個(gè) 不同的外部設(shè)備,而且互相之間沒有
沖突,在新的 PII 計(jì)算機(jī)主版上大多都可以看見兩個(gè)小小的長(zhǎng)方形接口,那就是 USB 接口。USB 接口的加密鎖不但擁有并口加密鎖的所有優(yōu)點(diǎn)
,而 且沒有打印上的問題,其前景十分看好。但美中不足的是只有 Windows 98 和 Windows 2000 目前能夠支持 USB 設(shè)備。在國內(nèi)市場(chǎng)上,有
幾種國外USB加密鎖,但售價(jià)很高。北京飛天誠 信科技公司推出的一款ROCKEY-USB加密鎖是國內(nèi)目前唯一的民族品牌。其安全性優(yōu)于國外產(chǎn)品的
同時(shí),售價(jià)還不足100元,僅是國外產(chǎn)品的一半。
4、光盤加密
隨著光盤的普及,光盤幾乎成了軟盤的替代產(chǎn)品。即然有軟盤加密成功在先,為什么不能有光盤加密呢?有很多人在思考這個(gè)問題。但實(shí)際操作
上確實(shí)是有一些問題的,因?yàn)楣獗P有 ISO9660 標(biāo)準(zhǔn)協(xié)議規(guī)定,其可控制性比軟盤還要嚴(yán)格,想找出一種只能運(yùn)行而不能復(fù)制的方式確實(shí)很困難
。但現(xiàn)在確實(shí)已經(jīng)有幾家這樣的產(chǎn)品出來了,而且加密方法也不盡相同。 其主要原理是利用特殊的光盤母盤上的某些特征信息是不可再現(xiàn)的,
而且這些特征信息大多 是光盤上非數(shù)據(jù)性的內(nèi)容,光盤復(fù)制的時(shí)候復(fù)制不到的地方。因?yàn)橥度胧且淮涡缘?#xff0c;對(duì)于大規(guī)模的生產(chǎn)這種加密方案可
以將成本降得很低。而且軟件數(shù)據(jù)和加密在同一載體上,對(duì)用戶無疑是很方便的。但這是一種較新的加密方案,很多方面還需進(jìn)一步驗(yàn)證。而且
由于加密方式所限,不可能在用戶自己刻錄的光盤上實(shí)現(xiàn)這種加密,必須是生產(chǎn)線上生產(chǎn)的光盤才能夠?qū)崿F(xiàn)。這對(duì)于一些小規(guī)模的軟件生產(chǎn)廠商
還是有一定困難的,而且由于光盤的只讀性,一旦 加密有錯(cuò)是無法修復(fù)的。
二、我們?cè)僬務(wù)劜灰蕾囉布募用芊桨?
所有的帶有附加硬件設(shè)備的加密方案都有一定的加密成本在里面,對(duì)于那些價(jià)格高昂的軟件當(dāng)然無所謂,但對(duì)于那些共享軟件或價(jià)格本身就很低
的軟件來說,硬件加密成本可能比 軟件本身的售價(jià)還高,當(dāng)然不會(huì)被考慮了。但不加密,往往就變成了免費(fèi)軟件,所以近年來 產(chǎn)生了很多軟加
密方案。
?
、密碼表加密
在軟件運(yùn)行的開始要求用戶跟據(jù)屏幕的提示信息輸入特定的答案,答案往往在用戶手冊(cè)上的一份防復(fù)印的密碼表中。用戶只有輸入密碼正確后才
能夠繼續(xù)運(yùn)行。這種加密方案實(shí)現(xiàn) 簡(jiǎn)單,不需要太多的成本。但用戶每次運(yùn)行軟件都要查找密碼,不免使用戶感到十分的不便。 像臺(tái)灣的游戲
大多采用此加密方式。而且往往有一些有耐心者把整個(gè)密碼表輸入到計(jì)算機(jī)中 存成一個(gè)文件,同軟件的盜版一同公布出來,讓加密者無可奈何[Page]
。基本上是一種防君子不防小人的加密方式。
2、序列號(hào)加密
這種加密方式從某種角度來講不是一套完整的加密方案,現(xiàn)今很多Shareware( 共享軟 件 )大多采用這種加密方式,用戶在軟件的試用期是不需
要交費(fèi)的,一旦試用期滿還希望繼續(xù)試用這個(gè)軟件,就必須到軟件公司進(jìn)行注冊(cè),然后軟件公司會(huì)根據(jù)你提交的信息(一般是用 戶的名字)來生
成一個(gè)序列號(hào),當(dāng)你收到這個(gè)序列號(hào)以后,并在軟件運(yùn)行的時(shí)候輸入進(jìn)去,軟 件會(huì)驗(yàn)證你的名字與序列號(hào)之間的關(guān)系是否正確,如果正確說明
你已經(jīng)購買了這個(gè)軟件,也 就沒有日期的限制了。這種加密方案實(shí)現(xiàn)簡(jiǎn)單,而且購買過程也完全在 Internet 上實(shí)現(xiàn), 無論是開發(fā)者和購買者
都覺得很方便。不過有心的人可能已經(jīng)注意到軟件的名字與序列號(hào)之 間的驗(yàn)證是在你的計(jì)算機(jī)上完成的,很多黑客利用這個(gè)漏洞找出了名字和
序列號(hào)之間的換算 關(guān)系,編寫出一種叫 KeyMaker 的程序,你只要輸入你的名字,這個(gè)程序會(huì)幫助你計(jì)算出序列號(hào),你再用你的名字和這個(gè)序
列號(hào)輸入進(jìn)軟件中就變成正版軟件了。而且也沒有什么更好 的方法來阻止用戶擴(kuò)散他注冊(cè)后得到的序列號(hào)。
3、許可證加密
這種方式在某種角度上說可以是序列號(hào)加密的一個(gè)變種,你從網(wǎng)上下載的或購買過來的 軟件并不能直接使用,軟件在安裝時(shí)或運(yùn)行時(shí)會(huì)對(duì)你的
計(jì)算機(jī)進(jìn)行一番檢測(cè),并根據(jù)檢測(cè)結(jié) 果生成一個(gè)你的計(jì)算機(jī)的特定指紋,這個(gè)指紋可以是一個(gè)小文件,也可以是一串誰也看不懂 的數(shù),你需要
把這個(gè)指紋數(shù)據(jù)通過 Internet、Email、電話、傳真等方式發(fā)送到開發(fā)商那里, 開發(fā)商再根據(jù)這個(gè)指紋給你一個(gè)注冊(cè)碼或注冊(cè)文件,你得到這
個(gè)注冊(cè)碼或注冊(cè)文件并按軟件 要求的步驟在你的計(jì)算機(jī)上完成注冊(cè)后方能使用。這個(gè)方法的買賣也是完全通過網(wǎng)絡(luò)來進(jìn)行 的,而且用戶購買的
軟件被限制了只能在他自己的計(jì)算機(jī)上面運(yùn)行,換到其它的計(jì)算機(jī)上, 這個(gè)注冊(cè)碼或注冊(cè)文件可能不再有效。但用戶更換某些硬件設(shè)備也可能
造成注冊(cè)碼的失效, 而且用戶得到軟件后在完成注冊(cè)工作前會(huì)有一段時(shí)間無法使用。對(duì)于軟件開發(fā)商來說服務(wù)與 管理的工作量無疑也是非常巨
大的。網(wǎng)絡(luò)上有個(gè) ZIP Download 公司專門替軟件開發(fā)商來完 成這種加密與服務(wù)工作。將來 PIII 處理器內(nèi)部有了特定的序列號(hào),將會(huì)對(duì)減少
這種加密方案的硬件依賴性,但估計(jì)普及起來還有很長(zhǎng)的一段時(shí)間。?
總結(jié)
- 上一篇: ref:下一个项目为什么要用 SLF4J
- 下一篇: java activemq jmx_通过