如何保证服务器收到的邮件来自运行我的应用程序的客户端?

时间:2014-01-27 22:54:15

标签: security encryption cryptography client-server message

我想知道如何保证服务器收到的邮件肯定是来自在智能手机上运行我的应用程序的客户端。

运行我的应用程序的客户端发送的消息将通过SSL加密来保护,那么一个好的解决方案是包含存储在设备和服务器上的某种秘密密钥,然后嵌入到消息体中? (但是这个密钥很容易通过逆向工程发现)

1 个答案:

答案 0 :(得分:1)

嗯,不,如果您不能信任您的代码,并且您无法访问某种受保护的密钥存储区(执行自己的加密,例如TPM等),那么任何人都可以窃取该密钥。如果您需要身份验证,您当然可以使用常规身份验证方法,例如用户密码。

如果您需要保护邮件,则可以从密码中导出密钥(例如,使用PBKDF,例如PBKDF2),用它解密私钥并使用它来签名邮件。如果速度太慢,您可以使用私钥加密会话密钥,并使用消息验证代码。