【发布时间】:2012-02-25 09:07:55
【问题描述】:
我需要在基于 PHP CodeIgniter 的服务器和 Java 客户端之间传递命令和数据。我正在考虑使用非常简单的加密来加密/解密消息。我在尝试在 Java 端进行非常基本的加密时遇到了很多问题。
我想要一些关于 Crypto 的 Java 方面的帮助,或者想要一个不同的想法来保护客户端和服务器之间的通信。
数据不敏感,可以明文发送,只要我能确保它来自正确的来源。我正在考虑使用基本加密作为不会被重放攻击规避的身份验证措施。但我可能搞错了。
感谢任何帮助或 cmets。
【问题讨论】:
-
如果您需要客户端和服务器之间的安全性,请使用 https.... 这可以为您提供来源保证,尤其是在您检查证书时
-
我可以看到这将如何确保从服务器到客户端的数据得到验证。我将如何使用它来验证 Java 客户端正在发送正确的数据。在这种情况下,Java 客户端可以免费下载。我想尝试防止有人向 PHP 服务器发送无效数据。如果所有 TLS 身份验证都在 Java 客户端中完成,那么它仍然会出错。它更多地是关于验证 Java 客户端是正确的,而不是在传输中保护数据本身。每个 Java 客户端都是不同的实体,我需要分别验证每个客户端的数据。
-
由 PHP 服务器来抵抗滥用,因此验证所有输入是服务器的工作。毕竟,您不能保证有人不会仅仅尝试使用 CURL 会话来攻击系统。不要忘记 PHP 可以接受来自任何软件的连接,这些软件可以使用它支持的协议之一发起连接。
-
您需要消息验证,使用 MAC、HMAC 或签名。加密是为了提供机密性,而不是消息完整性或身份验证。请注意,您需要有一个安全的密钥分发方法,并且您的 Java 客户端运行在一个相对安全的环境中。在执行此类任务之前,您可能需要阅读有关加密的内容。使用 SSL/TLS 可能是更好的选择(但请确保您的密码套件都包含 MAC)。
-
在你的服务器端建立一个 REST 服务,然后你可以通过 http 和 http 身份验证启动 XML 事务。
标签: java php security codeigniter encryption