2011-10-22 31 views
1

我正在开发网站和应用程序(iOS和Android),这些应用程序应通过https传输数据。我不希望应用程序客户端拦截这些服务器消息,但我想在应用程序内解密这些数据。 所以:请求后,加密消息(比如说高达400kb的消息)(第一次加密),通过https发送(ssl加密)(第二次加密)。 接收到解密ssl后,在客户端解密加扰消息。 (我不希望一些机器人通过https嗅探我的数据库,伪装我的应用程序)。 您认为我应该如何解决这个问题?在应用程序层上加密数据,位于SSL上

https是好的,我的意思是,但如果有人发送的请求,而不是应用程序,整个事情将是无用的,因为我想保护数据库数据。

有什么建议吗?想法?

谢谢

回答

3

所有你需要的是HTTPS/SSL与客户端身份验证。添加第二层加密实际上并没有增加任何安全性。客户端的PKI认证。

0

正如EJP所说,SSL客户端认证将有所帮助,但它要求您的应用包含嵌入式私钥,如果有人真的需要您的数据,他们可以分析您的应用并提取该密钥。

这是不是你可以彻底解决:您的服务器无法可靠真实的客户端应用程序分清,假货一个人谁逆向工程的真正的模仿它的设计。

根据应用程序,您可能可以将一些工作转移到服务器端。换句话说,不要将原始数据暴露给应用程序,只是暴露允许应用程序显示的部分。这样一来,攻击者就无法通过欺骗他们无法通过使用真正的应用程序而获得的应用程序来获取任何内容。

0

我实际上想出了加密请求而不是响应的想法。 这样用户不能欺骗并向db发送请求。 我只是认为再次进行加密可能会做太多太少。

相关问题