【发布时间】:2014-03-28 11:06:00
【问题描述】:
我正在构建一个桌面应用程序,它连接到 Web 服务器并通过基于套接字的 API 进行通信。我想确保我只与我的应用程序对话,而不是任何第三方黑客。通信通过 https 加密。此外,私钥/公钥对用于身份验证。基本上时间,私钥和公钥一起被散列并与当前时间和公钥一起发送到服务器。
我担心如果其他人对应用程序进行逆向工程,他们会发现哈希函数、连接 url 和私钥,因为通常字符串在编译后的应用程序中以明文形式存储。
我有两个想法可以缓解这种情况:
- 创建一个函数,使用一系列数学运算生成特定于应用程序的私钥
- 创建一个复杂(长)秘密,然后对该秘密进行一些模运算以发送到服务器(如 Diffie-Hellman 密钥交换算法)。
我在正确的轨道上吗?如何保密?
【问题讨论】:
-
如果客户的私钥被泄露,则无法采取任何措施来防止假冒。无论如何,您不应该相信客户的输入。
标签: security