【发布时间】:2011-08-01 11:22:00
【问题描述】:
我需要能够将数据从 Flash 浏览器应用程序传输到 Web 服务器上的 PHP 文件,在保护和验证数据的同时尝试防止未经授权创建消息。 (我想尝试确保消息来自应用程序,而不是用户通过其他方式发送消息)。
在 C++ 应用程序中,我会对数据进行加盐处理,并将数据的哈希值连同它一起发送,然后根据数据验证哈希值以确保完整性和来源。
但是,在 Flash(和 Java)中,可以对应用程序进行反编译,以便查看源代码。因此,如果我使用这种方法,有人可以(相对)轻松地找到盐,然后创建自己的“有效”消息以发送到应用程序之外。
有什么方法可以“隐藏”这个盐代码以帮助保护传输?是的,我知道有代码混淆器,但它们并没有完全隐藏代码,只是添加了另一个层。
或者是否有另一种完全可以用于在 PHP 端传输数据并验证源和内容的方法?
【问题讨论】:
-
C++ 二进制文件也可以被反编译。您不能在二进制文件中“隐藏”某些内容。使用 SSL 进行此类方式并确保服务器证书有效。
-
我同意上述观点,但即便如此,SSL 也只能保护从客户端到服务器的通信。即使使用 SLL,用户也可以修改客户端创建的流量。
-
SSL 不是 100% 安全的,如果中间有人操纵第一次握手然后他可以查看和操纵发送的任何数据。但时机必须正确。
标签: java flash security hash salt