彩神彩票

各種加密方案的分析

        加密一詞來源已久,自從人們希望對自己私人的信息得到保護開始,就有了加密這個概念。軟件行業的加密是軟件廠商為了保護軟件開發的利潤而采取的一種軟件保護方式,加密的好壞直接影響到軟件的銷售,從 Apple II 的年代開始,加密與解密的鬥爭就一直沒有停止過。時至今日,軟件加密的方案已經多種多樣,在這裏我將介紹一下各種加密方案的特點和優劣,當然這隻是一家之見,持不同觀點者可一笑置之。

        當前軟件加密方法多種多樣,已經不可能找出一種分類方法來把各種加密方案很好的區分開來。 基本上來說可以分為依賴特定硬件的加密方案和不依賴硬件的加密方案。

        一、我們首先說說依賴硬件的加密方案:

        1、軟盤加密

        這是在計算機上最為古老的一種加密方案,它的原理是在軟盤的特殊位置寫入一些信息,軟件在運行時要檢驗這些信息。這種軟盤就好像一把鑰匙。軟件開發商隻需一次投資購買一套加密工具就可以自己製作多張鑰匙盤。此方法加密簡單,成本低,在軟件發展的不同時期都能看到其閃光點。像中文之星 2.97還在延用這種方式。但用戶在執行軟件時必須要插入此軟盤。因為軟驅是慢速設備,多次檢查軟盤上的加密點會大大拖慢程序的運行速度,所以一般加密軟件隻在軟件運行開始的時候檢查一次,這樣不能避免用戶用一張加密盤啟動多份軟件。而且由於軟盤是一種易損載體,加密軟件對軟盤加密點的反複讀寫很容易造成軟盤的損壞。而這張加密盤又不能備份,軟件公司要不斷應付用戶更換加密盤的請求。另外由於這種加密技術出現的較早,硬解密的技術相對比較成熟,像雙星公司的 King-Copy 軟件能拷貝大多數的加密軟盤,連加密點一起複製,複製後的軟盤還是加密的。

        2、卡加密

        在 90 年代初,各種各樣的漢卡湧現出來,而隨之而來的卡加密技術也開始風行。卡加密的好處是由於加密卡上麵不僅僅可以存放數據,而且可以用硬件實現簡單的算法,而且在軟件的執行過程中可以隨時訪問加密卡,不會對軟件運行的速度帶來太多的影響,而且由於加密卡是與計算機的總線交換數據,數據通訊協議完全由卡的廠家製定,沒有統一的標準接口,讓軟件解密者有無從下手的感覺。像北大方正早期的印刷軟件都是采用這種方法來加密的。但這種加密方案需要打開計算機的機箱,占用擴展槽,一般還需要專門的人員來安裝。另外,由於加密卡設計上的某些問題,還很容易同現有的硬件發生衝突。考慮到成本,加密卡必須要批量生產,廠商一般不會對低價值的軟件一下投入這麽大的資金。由於種種問題,這種加密技術現在已經難得一見了。

        3、軟件鎖加密

        軟件鎖加密是在國外首先出現的,它是一個插在計算機打印口上火柴盒大小的設備,國內俗稱為加密狗。在加密鎖內部存有一定的數據和算法,計算機可以與之通訊來獲得其中的數據,或通過加密鎖進行某種計算。軟件無法離開加密鎖而運行。由於它不像卡加密那樣需要打開計算機的機箱來安裝,但又像加密卡那樣可以隨時訪問,而且訪問速度很快,所以一推出就受到軟件開發者們的青睞,很快成為當今世界上主流的加密方案。目前,所有的加密鎖都提供了可編程的接口。用戶可以控製加密鎖中的內容,在程序中通過加密鎖的接口任意訪問加密鎖。國外加密鎖一般僅提供若幹種算法,但好的加密鎖不但可以向客戶提供加密算法,也容許客戶根據自己的意願自定義加密算法,容許客戶自定義用戶ID號……比如:彩神彩票誠信科技公司推出的ROCKEY-IV鎖就是一種加密強度很高產品。但加密鎖也是有一定缺欠的,由於加密鎖利用的是計算機的打印口,而打印口原來是為打印機而設計的,軟件鎖一方麵要保證用戶加密操作的正確,同時也要保證打印機工作的正常。但由於打印機驅動程序設計上千差萬別,沒有任何一家的加密鎖能夠完全做到這一點。

        但這一問題隨著技術的進步有希望得到徹底的解決,那就是 USB 接口的加密鎖。USB 是 Microsoft、Intel、Compaq、NEC 聯合開發的一種全新的硬件接口標準,能夠同時支持 128 個不同的外部設備,而且互相之間沒有衝突,在新的 PII 計算機主版上大多都可以看見兩個小小的長方形接口,那就是 USB 接口。USB 接口的加密鎖不但擁有並口加密鎖的所有優點,而且沒有打印上的問題,其前景十分看好。但美中不足的是隻有 Windows 98 和 Windows 2000 目前能夠支持 USB 設備。在國內市場上,有幾種國外USB加密鎖,但售價很高。彩神彩票誠信科技公司推出的一款ROCKEY-USB加密鎖。其安全性優於國外產品的同時,售價還不足100元,僅是國外產品的一半。

        4、光盤加密

        隨著光盤的普及,光盤幾乎成了軟盤的替代產品。即然有軟盤加密成功在先,為什麽不能有光盤加密呢?有很多人在思考這個問題。但實際操作上確實是有一些問題的,因為光盤有 ISO9660 標準協議規定,其可控製性比軟盤還要嚴格,想找出一種隻能運行而不能複製的方式確實很困難。但現在確實已經有幾家這樣的產品出來了,而且加密方法也不盡相同。其主要原理是利用特殊的光盤母盤上的某些特征信息是不可再現的,而且這些特征信息大多是光盤上非數據性的內容,光盤複製的時候複製不到的地方。因為投入是一次性的,對於大規模的生產這種加密方案可以將成本降得很低。而且軟件數據和加密在同一載體上,對用戶無疑是很方便的。但這是一種較新的加密方案,很多方麵還需進一步驗證。而且由於加密方式所限,不可能在用戶自己刻錄的光盤上實現這種加密,必須是生產線上生產的光盤才能夠實現。這對於一些小規模的軟件生產廠商還是有一定困難的,而且由於光盤的隻讀性,一旦加密有錯是無法修複的。

        二、我們再談談不依賴硬件的加密方案:

        所有的帶有附加硬件設備的加密方案都有一定的加密成本在裏麵,對於那些價格高昂的軟件當然無所謂,但對於那些共享軟件或價格本身就很低的軟件來說,硬件加密成本可能比軟件本身的售價還高,當然不會被考慮了。但不加密,往往就變成了免費軟件,所以近年來產生了很多軟加密方案。

        1、密碼表加密

        在軟件運行的開始要求用戶跟據屏幕的提示信息輸入特定的答案,答案往往在用戶手冊上的一份防複印的密碼表中。用戶隻有輸入密碼正確後才能夠繼續運行。這種加密方案實現簡單,不需要太多的成本。但用戶每次運行軟件都要查找密碼,不免使用戶感到十分的不便。像台灣的遊戲大多采用此加密方式。而且往往有一些有耐心者把整個密碼表輸入到計算機中存成一個文件,同軟件的盜版一同公布出來,讓加密者無可奈何。基本上是一種防君子不防小人的加密方式。

        2、序列號加密

        這種加密方式從某種角度來講不是一套完整的加密方案,現今很多Shareware( 共享軟件 )大多采用這種加密方式,用戶在軟件的試用期是不需要交費的,一旦試用期滿還希望繼續試用這個軟件,就必須到軟件公司進行注冊,然後軟件公司會根據你提交的信息(一般是用戶的名字)來生成一個序列號,當你收到這個序列號以後,並在軟件運行的時候輸入進去,軟件會驗證你的名字與序列號之間的關係是否正確,如果正確說明你已經購買了這個軟件,也就沒有日期的限製了。這種加密方案實現簡單,而且購買過程也完全在 Internet 上實現,無論是開發者和購買者都覺得很方便。不過有心的人可能已經注意到軟件的名字與序列號之間的驗證是在你的計算機上完成的,很多黑客利用這個漏洞找出了名字和序列號之間的換算關係,編寫出一種叫 KeyMaker 的程序,你隻要輸入你的名字,這個程序會幫助你計算出序列號,你再用你的名字和這個序列號輸入進軟件中就變成正版軟件了。而且也沒有什麽更好的方法來阻止用戶擴散他注冊後得到的序列號。

        3、許可證加密

        這種方式在某種角度上說可以是序列號加密的一個變種,你從網上下載的或購買過來的軟件並不能直接使用,軟件在安裝時或運行時會對你的計算機進行一番檢測,並根據檢測結果生成一個你的計算機的特定指紋,這個指紋可以是一個小文件,也可以是一串誰也看不懂的數,你需要把這個指紋數據通過 Internet、Email、電話、傳真等方式發送到開發商那裏,開發商再根據這個指紋給你一個注冊碼或注冊文件,你得到這個注冊碼或注冊文件並按軟件要求的步驟在你的計算機上完成注冊後方能使用。這個方法的買賣也是完全通過網絡來進行的,而且用戶購買的軟件被限製了隻能在他自己的計算機上麵運行,換到其它的計算機上,這個注冊碼或注冊文件可能不再有效。但用戶更換某些硬件設備也可能造成注冊碼的失效,而且用戶得到軟件後在完成注冊工作前會有一段時間無法使用。對於軟件開發商來說服務與管理的工作量無疑也是非常巨大的。網絡上有個 ZIP Download 公司專門替軟件開發商來完成這種加密與服務工作。將來 PIII 處理器內部有了特定的序列號,將會對減少這種加密方案的硬件依賴性,但估計普及起來還有很長的一段時間。

彩神彩票