2012-07-10 60 views
2

我想使用RSA保護應用程序中的許可證文件。這個想法如下:使用RSA保護許可證文件

  1. 創建一個許可證文件(明文)。
  2. 創建一個RSA密鑰對。
  3. 使用公鑰來加密許可證文件。
  4. 將私鑰放入應用程序的二進制文件中。
  5. 應用程序可以解碼許可證文件並開始運行。

問題是我必須將私鑰發送給我的應用程序。如果我保留公鑰的祕密,這是一個問題嗎?

如果不是,還有什麼其他的好(足夠)的方案來創建許可證文件系統?

回答

4

可以從私鑰中恢復公鑰,因此將私鑰嵌入到應用程序中就像以明文方式發佈私鑰和公鑰一樣好(模仿將黑客私鑰竊取的二進制)。

許多人在這些情況下訴諸混淆。其他解決方案可能是硬件令牌,網絡身份驗證或現成的許可證管理系統。

這可能會提供有關其他人是如何使用公鑰加密創建許可證文件系統的一些想法:http://www.codeproject.com/Articles/203840/RSA-License-Protection

+0

我也是這麼想的。也許數字簽名可以更好地工作? ...(編輯:我應該先讀,這似乎是你在這個環節建議; -P) – 2012-07-10 12:43:00

+0

是的,那肯定會是另一個好的解決方案。我認爲鏈接中的RSA方案至少會經常試圖繞過它。 – Gian 2012-07-10 12:45:14