smart-license 是一款用于安全加固的開源項目。 主要服務(wù)于非開源產(chǎn)品、商業(yè)軟件、具備試用功能的付費軟件等,為軟件提供授權(quán)制的使用方式。
名詞解釋:
- License:通過 smart-license 生成的授權(quán)文件,導(dǎo)入至要授權(quán)使用的軟件產(chǎn)品中。
- 源數(shù)據(jù):需要進行 License 加工處理的基礎(chǔ)數(shù)據(jù)。例如,將軟件產(chǎn)品運行的配置文件作為源數(shù)據(jù),經(jīng)由 smart-license 授權(quán)處理后生成 License 文件。
- License源文件:生成 License 的同時,會自動產(chǎn)生一份文件用于記錄:源數(shù)據(jù),授權(quán)時間,過期時間,秘鑰對等信息。由軟件授權(quán)方持有,當(dāng)客戶遺失 License 文件之后可以根據(jù)License源文件重新生成 License。
更新說明:
雖然通過 smart-license 生成的 License 具備防篡改的能力, 但對于有著一定技術(shù)功底的用戶,依舊可以采用某些手段獲得 License 的源數(shù)據(jù), 再通過 smart-license 偽造一份"合法"的 License 。
為此需要提供一種安全加固策略,防止某些不懷好意的人過于輕松的突破 License 的安全防線。
加固的原理如下圖所示,生成License階段采用非對稱加密方式對源數(shù)據(jù)進行預(yù)處理。 而在程序運行時從License中提取到的是密文形式的源數(shù)據(jù),需要通過公鑰解密還原真實內(nèi)容。
軟件提供商大可將公鑰硬編碼至程序中,即便通過反編譯獲得公鑰,也無法以此偽造 License。 再則可在程序中引入代碼混淆機制,增加反編譯的破解難度,強化軟件的安全系數(shù)。
適用場景:
- 非開源產(chǎn)品、商業(yè)軟件、收費軟件。
- 限制產(chǎn)品的傳播性,每個客戶擁有專屬 License。
- 同一款軟件發(fā)行包根據(jù) License 的不同提供不同的服務(wù)能力。
- 限定軟件授權(quán)時效
產(chǎn)品特色:
- 開源,代碼完全公開,License的生成原理是透明的。
- 易用,提供二進制包,直接基于命令行生成 License。
- 安全,生成的 License 在一定程度上具備防篡改能力,破解難度大。
- 安全加固,采用非對稱加密方式對 License源數(shù)據(jù)進行預(yù)處理,防止偽造License。
版權(quán)聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻,該文觀點僅代表作者本人。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如發(fā)現(xiàn)本站有涉嫌抄襲侵權(quán)/違法違規(guī)的內(nèi)容, 請發(fā)送郵件至 舉報,一經(jīng)查實,本站將立刻刪除。