微軟的SLP軟件加密保護服務
SLP代碼保護器(SLP Code Protector)
眾所周知,使用微軟的.NET開發的應用軟件,編譯之后的EXE和DLL文件,可以使用Lutz Roeder's .NET Reflector很方便的進行反編譯,使得一些核心代碼的安全性受到威脅。這時就可以使用“SLP代碼保護器”(SLP Code Protector)對.NET的代碼進行保護,使得其核心的函數經過了加密,無法使用反編譯工具進行反編譯。
SLP代碼保護器是免費產品,可以免費在.NET開發中使用。
SLP置換器(SLP Permutation)
如果要進行加密商用加密處理,需要和各個不同的企業使用不同的算法,因此使用SLP置換器(SLP Permutation),把現有代碼通過置換算法轉換為安全虛擬機(SVM,Secure Virtual Machine)語言,然后代碼的入口處就會增加一小段代碼,也就是SVM,代碼無論是被瀏覽還是被執行都要先執行這段代碼,這就實現了將關鍵核心的算法的代碼進行了內容上的替換,實現了軟件許可的認證和保護功能。
SLP在線服務(SLP Online Service)
軟件被保護后,軟件的許可證可以通過在線服務進行動態打包,SLP服務網站定義了產品許可證的不同特性(Feature),可以針對不同的個人進行靈活發放。
SLP服務器(SLP Server)
軟件開發商需要單獨搭建一臺自己的服務器并創建軟件授權-基于機器、時間(軟件訂閱和試用)、用戶或功能-針對它們的產品。服務器會創建激活碼,用戶可以通過激活碼進行數字授權,激活他們的軟件。
SLP激活(SLP Activation)
客戶軟件的激活可以通過兩種方式激活:在線激活和離線激活方式。激活時候客戶輸入激活碼,然后SLP會收集客戶的硬件信息(硬盤、CPU、主板等),通過這些硬件信息生成一個客戶獨有的硬件指紋,然后連接到SLP服務器上獲取License文件并引入客戶軟件系統。
總的來說,微軟的這一套軟件授權保護系統還是比較完善的,從產品開發、許可管理到銷售等主要的業務流程都可以走通,是軟件企業用于保護自身軟件的一個不錯的工具,價格也不算貴,好像只有幾萬美元的價格。以微軟的技術實力來看,這套軟件的安全性應該也是不錯的,不過其安全性還是低于硬件加密鎖(加密狗),雖然加密狗被破解也是很常見的。
不過從另一個方面上來看,微軟的Windows幾乎每個版本都被破解過,因為微軟花費巨大精力研究的最尖端的反盜版技術用于保護Windows和Office,但同時全世界最頂級的黑客和破解者也在研究微軟的這套加密保護系統,破解了Windows的加密系統,那么用SLP開發的所有加密系統都會面臨被破解的風險,而一些冷門的加密產品由于利益較少,被關注的也較少,因此可能反而更少人去對其進行破解。