?

用戶信息資源對軟件加密的實現方法

2012-04-29 00:44王丹張文波
科技創新導報 2012年34期
關鍵詞:算法

王丹 張文波

摘 要:密碼學是一門古老而又年輕的學科。說它古老,是以為早在幾千年前,人類就已經有了通信保密的思想,并先后出現了易位法和置換法等加密方法。因特網的飛速成長為共享軟件的快速發展提供了前所未有的機遇,面向各個領域的軟件都孕育而生。而軟件又因其數字產品的獨特屬性又使得其復制品可以做到和原品一模一樣。每一天,全世界由于軟件被盜版而造成的損失不小于9000萬美元。軟件的盜版問題,已經成讓軟件業面臨著生死存亡的重大考驗,而加密手段也就成了唯一的選擇。在軟件產品的研制成功、推向市場之前,如何進行軟件版權保護,防止非法用戶盜版,直到現在依然是開發商不斷攻關的課題。該文介紹了軟件加密的背景和方式。論述了通過硬件信息的方法對共享軟件進行加密的原理及方法。

關鍵詞:軟件加密 硬件信息 算法 注冊碼

中圖分類號:TP309 文獻標識碼:A 文章編號:1674-098X(2012)12(a)-00-01

1 軟件加密的背景和現狀

軟件加密方法是20世紀80年代初期在Commodore64,Amiga這樣的單機游戲上首先開始試驗運行的。隨著PC機和DOS系統的興起,軟件產業得到了極速的突破,大量的游戲軟件、各種各樣的商業軟件、辦公軟件相繼問世,而軟件加密的理念也隨之繼承。這一時期的加密辦法主要是軟盤加密,主要因為在那個時代,軟盤是軟件流通的唯一載體。

Windows 95的出現終結了DOS一統天下的時代。光盤驅動逐漸成為了計算機的標準配置。光盤加密是軟盤加密技術的一種延續,雖然加密技術有所不同,但原理同軟盤加密是一致的。常見的光盤加密的方法有SecuROM電子指紋技術、Sony的Key2Audio技術等。

隨著Windows XP的普及,計算機開始進入我們現在的互聯網時代。當國家和地區的差異不再受到限制以后,一種新的經營模式也應運而生,那就是共享軟件。共享軟件是一種先使用后購買的銷售模式,軟件從網站上下載以后直接就可以使用,當用戶在使用這個軟件一段時間并覺得該軟件不錯以后,再決定是否購買。這個新的模式直接導致了軟件加密模式的改變,軟件注冊機制就成為了共享軟件的主要加密手段。其流程就是用戶決定購買軟件后通過匯款或者網上支付方式進行購買此軟件,而軟件開發商會通過網絡發給該用戶一個注冊碼,在用戶使用了注冊碼后,才能使用這個軟件所有功能。

還有一種辦法就是硬件加密,因為硬件是很不容易被盜版的,由于它本身的生產成本很高并且復制有很大的技術難度。所以這個加密辦法的目的只有一個,那就是利用硬件的不可復制性,來保證軟件的不可盜版。方法是在并口、串口等接口上安裝硬件電路,同時有一套使用于各種語言的接口軟件和工具軟件。這種辦法,今天被稱為“加密狗”。

2 軟件加密后的使用效果

(1)無法運行:在密碼沒有被通過的情況下,直接退出運行狀態。(2)次數或時間限制:一般共享軟件會有15 d或30 d的試用期,過了這個期限不能再使用了。(3)功能限制:如果沒有注冊,在使用時軟件只可以使用一小部分功能。(4)水?。菏褂脮r,處理完成的文件一般會帶有軟件開發商的標志,如影片或圖片上都有商標一類的水印。

3 加密方案整體設計

3.1 基于硬件信息對軟件加密法的研究

用戶從網上下載一個軟件后,安裝時會從用戶的機器上取得該機器的一些硬件信息(如硬盤序列號、BOIS序列號等),然后把這些信息和用戶的序列號、用戶名等進行計算,從而將軟件和硬件綁定。用戶需要把這一序列號用Email、電話等方法提供給軟件提供商,軟件開發商利用注冊機產生該軟件的注冊號發送給用戶即可以使用。

用戶在使用這種方法時,如果想在另一機器上安裝并且運行,必須再付一份費用并把軟件在這一機器上運行時的序列號,寄給軟件出版商購買注冊密碼。

這種方法的優點是:(1)不同機器注冊碼不同。用戶獲得一個密碼只能在一臺機器上注冊使用軟件。優于目前大部分軟件所采用的注冊方式,即只要知道注冊碼,可在任何機器上安裝注冊。(2)不需要任何光盤或軟盤。(3)可以根據軟件供應商的想法自主選擇控制軟件運行在什么機器、運行次數等。(4)讓軟件在未注冊前運行的功能為演示軟件,只能運行一段時間或部分功能。注冊后才會成為正式軟件。(5)解密者很難探尋到生成注冊碼的規律。(6)方便使用,價格低廉。

3.2 設計框架

基于硬件信息對軟件進行加密,就是要在注冊過程中收集相關的硬件物理信息,比如網卡的硬盤信息、MAC地址等。由于網絡的普及性,所有的計算機主板上都裝有網卡,網卡上的MAC地址是全球唯一性的。根據這些信息計算出來的注冊碼只能在一臺計算機上使用,從而有效地防止了非法注冊。

實現這一技術需要四個模塊:(1)硬件信息偵測模塊:此模塊用于讀取計算機硬件物理信息。(2)注冊狀態監視模塊:此模塊用于判斷該用戶是否是已注冊的合法用戶。(3)注冊接口模塊:此模塊用于向用戶提供注冊接口。(4)遠程注冊模塊:此模塊的主要功能是根據用戶的硬件信息通過加密算法生成用戶注冊密碼。

具體加密流程如下:(1)運行應用軟件,硬件信息偵測模塊啟動并讀取用戶硬件信息。(2)硬件信息偵測模塊把讀取的硬件信息傳送給注冊狀態監視模塊,注冊狀態監視模塊根據獲得的硬件信息與注冊表中的注冊標志進行比較,判斷該用戶是否是已經注冊的用戶。如果是則軟件正常運行,否則激活注冊接口模塊提醒用戶必須注冊。(3)用戶把硬件信息作為軟件授權號通過郵箱或其他方式提交給開發者。開發者接收到用戶發送來的授權號,用遠程注冊模塊得出用戶注冊密碼,并發送給用戶。該用戶接收到開發者發送來的注冊碼,通過應用軟件的注冊接口模塊注冊軟件。

4 結語

信息傳輸的安全是保證計算機網絡正常發展的關鍵問題。實踐證明,數據加密技術是解決網絡上信息安全傳輸的重要手段。如今軟件加密技術已經衍生出各種各樣的結構和理論,基于硬件信息對軟件加密只是電子注冊方法中的一種,現在已經被廣泛的運用于共享軟件的注冊中。硬加密開始風行,并且成為廣泛采用的加密手段。軟件狗、加密卡等也成為了解密技術飛速發展的產物。但是加密與解密的斗爭將伴隨的軟件的飛速發展一直繼續持續下去。軟件加密技術必然在這場沒有硝煙的博弈中不斷得到發展。

參考文獻

[1] 陳愛民.計算機的安全與保密[M].北京:電子工業出版社,1992:223-241.

[2] 王曉華.共享軟件加密的一些誤區[J].電腦編程技巧與維護,2005.

[3] 飛天誠信.軟件加密原理與應用[M].北京:電子工業出版社,2005.

猜你喜歡
算法
基于MapReduce的改進Eclat算法
Travellng thg World Full—time for Rree
進位加法的兩種算法
基于CC2530的改進TPSN算法
基于BCH和HOG的Mean Shift跟蹤算法
算法初步兩點追蹤
基于增強隨機搜索的OECI-ELM算法
一種改進的整周模糊度去相關算法
一種抗CPS控制層欺騙攻擊的算法
Wiener核的快速提取算法
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合