天天看點

軟加密 vs. 硬加密

前言

       軟加密指不需要額外硬體的軟體保護方式,一般采取序列号或許可證檔案的授權方式。通常軟加密方案采用與計算機軟硬體特征綁定的方式,如CPU、BIOS、硬碟、MAC、計算機名、使用者名等。軟加密這個概念其實不準确,它很多時候是跟計算機硬體特征綁定,隻是因為沒有使用額外的硬體裝置,是以可以認為是一種“軟加密”方案。

       硬加密是指需要額外硬體裝置軟體保護技術,目前主要的硬加密方案是加密鎖技術。根據加密鎖所用CPU的不同分為普通加密鎖和智能卡加密鎖。

一、軟加密

       軟加密主要有三種實作方式:

       第一種軟加密方式是軟體授權不與計算機硬體特征綁定,具體還分為兩種:一是采用與一個軟資訊,如使用者名等綁定的方式,一般用于個人使用者授權;二是不綁定任何資訊,隻要序列号或授權檔案驗證通過,軟體可以在任何機器上使用,通常用于大客戶批量授權。授權的驗證方式有直接比較、算法變換比較等方式。

       第二種軟加密方式是軟體授權與計算機硬體特征綁定,綁定的計算機硬體特征主要有CPU序列号、BIOS序列号、硬碟序列号、網卡MAC位址等。這種保護方式的許可證檔案是在獲得了計算機的硬體特征以後,由授權伺服器将硬體特征與授權内容綁定後生成的。這種綁定計算機硬體的加密方式,如果使用類似網銀數字證書的公私鑰保護機制,是很難破解的。

      第三種軟加密方式是軟體授權與網際網路上的授權伺服器綁定,是雲計算模式的授權方案,也稱雲授權。雲授權的安全強度非常高,甚至比加密鎖還要高。這是因為加密鎖随軟體賣出去後是無法跟蹤和監測的,黑客可以花任意長的時間去破解它,而且一旦破解了可以大批量複制。而授權伺服器有防火牆和完善的入侵檢測技術,任何非法的通路和異常情況都可以監測得到,安全性要高的多。伺服器授權也便于實作授權軟體的跟蹤管理、破解補救和更新更新。

       軟加密的優點是:

  • 沒有硬體和物流,可實作軟體的電子化發行
  • 易于管理和維護,有助于提高授權效率和改善使用者體驗
  • 可以友善實作“先試後買”和“按需購買”,為開發商創造更多赢利模式
  • 降低軟體開發商整體的軟體保護、發行和管理成本,提高其競争力

二、硬加密

       硬加密是指要保護的軟體與硬體加密鎖綁定,一些重要資訊,如加密密鑰、敏感資料、授權檔案、自定義算法等都存儲在加密鎖中。加密鎖從接口類型來分,有并口和USB口兩種,從CPU類型來說也分兩種,一種使用單片機作CPU,另一種智能卡晶片作CPU。單片機硬體本身容易被破解和複制,是以中高端的加密鎖越來越多地使用智能卡晶片作CPU,以防止硬體被破解。但智能卡加密鎖的破解也越來越多,一是因為晶片分析技術和儀器越來越先進;二是智能卡程式寫好後要交給晶片廠去制造,在這個環節程式有可能被洩漏出去,造成大批量複制。

       硬體加密雖然具有比較高的安全強度,但也有不少缺點:

  • 适用于傳統的一次性永久授權,無法友善實作試用版本和按需購買
  • 硬體的存在帶來了生産、初始化、物流、安裝和維護的成本
  • 無法實作基于網際網路的電子化發行
  • 安裝驅動和用戶端元件以及額外的硬體裝置影響了客戶的使用體驗
  • 難以進行更新、跟蹤及售後管理

繼續閱讀