检查客户的完整性

时间:2014-01-24 19:03:40

标签: java android security

我正在开放协议上开发Android应用程序。

它将是开源的,但我希望服务器(封闭源代码)能够检查客户端是原始应用程序还是修改(由其他人编译)。

这可以在Android上使用吗?

2 个答案:

答案 0 :(得分:3)

不可能证明缺少修改后的代码,并且未修改代码的存在并不意味着未修改的代码是唯一的代码。

想象一下,您的开源应用程序具有以任何方式证明其真实性的代码。任何修改都可以简单地保留,转移或复制此真实性信息。 如果真实性信息实际上检查了程序的代码或数据本身,那么攻击者仍然可以使用好程序的代码/数据并模拟它。

答案 1 :(得分:0)

您可以使用SSL保护服务器端并需要客户端证书。分发源代码时,请不要分发代码用于与服务器通信的证书。然后,修改后的应用程序版本必须创建自己的证书才能与服务器通信,服务器可以确定用于建立SSL连接的证书。