有人可以放下我的想法,看看这个设置是否会验证文件来自我。 关于这是多么安全的想法将是伟大的和任何潜在的攻击向量。
更新是一个exe并将被执行,所以我想确保如果有人替换或篡改它就不会执行。
编辑:更新了第6点,因为公钥实际上并不生成哈希,只是验证它。我认为正是这部分我正在为安全问题而苦苦挣扎。
答案 0 :(得分:1)
你的方法看起来不错。剩下的问题是您的客户端应用程序的安全性。有人可能会篡改可执行文件吗?也许在应用程序资源中切换公钥?
这里有理论,但我建议对第6步进行一些小修改:具体说明你要使用的确切公钥。如果某些攻击者可以在应用程序资源中切换密钥,他可以发送一个更改的包,其中包含另一个私钥的正确哈希。由于攻击者已经修改了您的软件,因此这可能只是一个小问题。但是,如果他只能替换应用程序资源,那么他就没有别的能力让你的应用程序使用他的恶意代码更新自己。