作者:徐建祥([email protected])
時間: 2006/05/14
來自:http://www.anymobile.org
軟件保護技術是指軟件開發人員或軟件廠商爲了保護軟件的合法性和完整性,採用的加密措施。
序列號驗證 :驗證用戶信息與序列號之間的數字映射關係,傳統、便於開發。
缺陷:破譯者通過跟蹤程序的註冊過程推算出數學映射關係;一個合法的序列號可在多臺機器上安裝、使用。
解決方法:根據本地硬件信息,通過網上驗證和在線升級的軟件保護方案。
網上驗證 :指通過互聯網,對產品或證書的真僞進行認證,如學歷證書驗證。
軟件的網上驗證:指軟件在安裝註冊時,將軟件序列號和用戶計算機的相關硬件信息上傳到服務器,服務器驗證序列號的真僞,記錄硬件信息,並根據付款情況下傳想要的信息,驗證通過後即可正常使用軟件;軟件升級後,服務器根據用戶機器的硬件信息識別用戶身份,並對合法用戶提供升級服務。
1、 多層分佈式系統結構
被分割成在不同機器上協同運行的邏輯單元。各邏輯單元通過局域網或 Internet 共享數據和通信。
三層結構:
a、 客戶端應用程序在用戶機器上提供用戶界面。
b、 應用程序服務器位於可連接到所有客戶端的中央網絡位置,並提供公共的數據服務。
c、 遠程數據庫服務器提供數據庫關係系統( RDDBMS )。
MIDAS(Multi-tier Distributed Application Suite) 即多層分佈式應用程序解決方案,是 Inprise 提供的集成了多種技術規範的多層分佈式數據庫解決方案,是由Borland C++ Builder ( BCB ) /Delphi 用來開發多層應用系統使用的中介透明引擎,它具有在客戶端無需任何數據庫工具可以讀取遠程數據、網絡通信量小、多線程、數據庫自動約束及平衡負載的特點。
2、 動態 IP 解決方案
a、 服務器啓動時將服務器 IP 地址上傳 IP 地址到網站(固定域名);
b、 客戶端訪問網站獲取服務器 IP 地址;
c、 客戶端註冊安裝程序與服務器連接。
本地加密 :網絡認證後的二次加密,防止多機拷貝。
基本原理:在軟件安裝時取得本機特有的硬件信息,經過一定的變換,將加密後的郵件信息作爲密文公開存放在文件 Keyfile 中;每次運行時,軟件經過解密密文得到明文,將此信息與實際讀取的硬件信息相比較,從而驗證用戶的合法身份。
計算機的唯一硬件標識:網卡的 MAC 地址、硬盤序列號、硬盤分區表等。
網卡 MAC 地址:即網卡物理地址, 6 字節地址,時 Ethernet 協議使用的地址。
硬盤序列號:操作系統格式化硬盤或軟盤時喜糖都會給它分配一個四字節的序列號。
操作步驟 :
a、 動態 IP 解析:應用程序服務器註冊到網站。
b、 序列號驗證:客戶端到服務器驗證本地的序列號,返回查下結果。
c、 讀取和驗證本地硬件信息:客戶端通過網絡驗證、成功註冊時,將本機硬件信息經加密後上傳至服務器,並保存到本地硬盤文件( Keyfile )中,應用程序在執行或升級時將此信息與實際讀取的硬件信息相比較,從而驗證用戶身份,確保程序只能在安裝時的機器上執行和升級。