Golang LicenseServer授權服務器的設計 與 RSA 密鑰對的應用


//TODO 待寫文章

目錄:

1.為什么要寫授權服務器  LicenseServer 

2.授權服務器的設計思路

3.授權服務器所使用到的加密技術

 

1.為什么要寫授權服務器

為了防止別人拿到二進制后,自己搭建服務器,制作私服而損害公司利益;授權服務器只是增加破解難度而已,逆向破解二進制那也就沒辦法的,這里不考慮逆向。

 

2.授權服務器的設計思路

LS=LicenseServer 

CS=CenterServer 

LS使用HTTP協議,LS與CS之間使用RSA加密數據通信(不用HTTPS,因為要加上自己的密碼)

流程是:

1.啟動LS,監聽HTTP端口 (同時加載 RSA私鑰配置 ) ,LS與CS是完全隔離的。

2.啟動CS,加載RSA公鑰配置,加載程序寫死密碼,構造本機信息,結合寫死密碼首次加密,通過RSA公鑰進行二次加密,發送給LS

3.LS收到消息,通過RSA私鑰進行首次解密,結合寫死密碼二次解密(算法與CS保持一致),獲得CS的啟動信息,本地進行數據庫查詢,驗證是否存在配置,存在返回OK,否則返回失敗,使用RSA公鑰簽名,簽名數據包含CS信息。

4.CS收到消息,通過RSA私鑰,記性簽名驗證,成功,檢查返回結果,OK,則啟動,否則 授權失敗,禁止啟動。

 

 

 

 

LS使用RSA私鑰進行數據的簽名,CS驗證數據合法性;CS發送信息包括RSA公鑰,以及本機信息,和內存中的固定密碼,利用RSA公鑰加密數據,傳送給LS讓LS進行驗證

 

 

 

 

ssh-keygen生成的默認密鑰對格式,pem 和one-line pem格式

 

pkcs#1是什么

PKCS 全稱是 Public-Key Cryptography Standards 

 

 

 

參考鏈接:

PKCS 15 個標准 https://www.cnblogs.com/jtlgb/p/6762050.html

pkcs1與pkcs8格式RSA私鑰互相轉換  https://blog.csdn.net/duan19056/article/details/52104966

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM