|
0
|
| David Brown Muad'Dib · 技术社区 · 16 年前 |
|
|
1
1
你不能。只要你把信息放在一个不受控制的地方,你就必须假设信息会被传播。加密实际上并不适用,因为基于加密的方法只涉及在客户端保留密钥。 唯一真正的解决方案是将服务的价值放在服务本身中,并使桌面客户机成为访问该服务的低价值方式。MMORPG这样做:你可以免费下载游戏,但你需要注册才能玩。值在服务中,连接到服务的能力由服务控制(它在玩家首次连接时对其进行身份验证)。 或者,你只是因为太痛苦而无法破坏安全。例如,通过在每个方法的开始和结束处放置一个凭证检查。而且,因为最终会有人创建一个二进制文件来修补所有这些检查,从服务器加载应用程序的片段。有了凭证和时间戳检查,并为每个下载使用不同的内存布局。 您的评论提出了一个更简单的场景。公司有更强烈的动机来保护对服务的访问,并且如果他们不能保护访问,将有有效的法律协议来保护您的责任。 最简单的方法是Amazon所做的:提供一个密钥,并要求所有客户机使用该密钥进行加密。是的,那些公司里的流氓员工可以带着这个秘密离开。所以你给公司一个选择(或者可能要求他们)来定期更改密钥。也许每天。 您可以通过对所有访问进行IP检查来增强这一点:每个客户都将向您提供一组有效的IP地址。如果有人带着桌面软件出去,他们仍然不能使用它。 或者,您可以要求公司代理您的服务。如果只从企业防火墙内部访问服务,这一点尤其有用。 |
|
2
0
加密(密钥),硬编码,然后混淆程序。对Web服务使用HTTPS,这样网络嗅探器就不会捕获它。 |
|
|
3
0
使用硬件规范ID(处理器ID、MAC地址等)生成密钥。考虑确定性GUID。 然后你可以加密并通过电线发送。 |
|
|
user755806 · 从Rest服务返回JSON响应? 7 年前 |