我正在我的应用程序中实施一个“锁定”系统,以保护我的应用程序不被非法复制和使用。系统检查基于硬件的代码的签名,并期望使用只有我公司拥有的私钥对其进行签名。(该应用程序已获得用于验证签名的公钥。)
我想确保没有人更改我在应用程序中的锁定机制,所以我想签署我的应用程序程序集,我认为这是有道理的。
- 由于我从未见过 CLR 谈论过程序集的签名无效,因此我想确保该系统确实有效。可以?我应该怎么做才能让它工作?
- 攻击者能否将精力集中在 CLR 上,使其不关心我的签名?也就是说,如果他不能因为我已经签名而篡改我的代码,他可以篡改CLR吗?
- 一般来说,我想知道您对此类安全防护和保护技术的经验。任何人都可以提出其他建议吗?