0

我想許可我的產品。 問題是關於驗證並確保公鑰沒有被更改,證書也是如此(中間人攻擊者)。公鑰完整性 - 中間人攻擊

我到目前爲止計劃的是;

  1. 我給我的EXE提供許可證密鑰和簽名證書(用私鑰簽名)給客戶。
  2. 當顧客進入許可密鑰,我的EXE會使用公鑰(生成散列碼,然後解密證書來獲得其他哈希碼和比較)

現在的問題是驗證它;如果有人對EXE進行反向工程,則使用自己的公鑰更改公鑰,並使用自己的私鑰生成新證書。然後EXE將始終驗證證書,並且我的EXE被黑客入侵。

這可能嗎?如果是的話,有什麼解決方案可以確保我的公鑰沒有改變?

注意:沒有涉及到互聯網連接。

+0

那麼他們可以編輯EXE並使其跳過驗證的位置(假設它始終返回成功)。 – 2014-10-09 02:58:04

回答

1

爲確保某些東西(例如可執行文件)的完整性,請使用私鑰對其進行簽名(或其關鍵部分),並檢查每次啓動應用程序時簽名是否有效。

有足夠時間的人當然可以找出簽名是如何完成的,並替換它。他們可以完全繞過檢查。唯一的解決辦法是加密。但是有足夠時間的人可以制定出解密算法...

常見的方法是保護您的許可證,即將軟件綁定到某些硬件,如USB加密狗,TPM或HDD序列號。這仍然不能保證確定的黑客不會繞過你的許可。

對黑客沒有100%的保護。你所要做的就是讓你的用戶破解它不合算。努力砍價比爲產品收費貴得多。使許可條款非常明確,並警告在違規情況下可能會被起訴。建立懷疑違規的舉報機制,以便你可以追蹤他們。