【问题标题】:Protecting Flash AS3 code + secure communication with server保护 Flash AS3 代码 + 与服务器的安全通信
【发布时间】:2012-06-26 14:29:44
【问题描述】:

我需要我的 Flash 客户端与服务器安全通信(通过二进制套接字)。为此,我考虑在 AS3 代码中嵌入一个预共享密钥,并通过自定义协议交换异或数据。

有人告诉我,SWF 反编译器在使所有嵌入代码清晰可见和可读方面做得很好。这是否意味着我不能真正隐藏我的密钥?

如果这种方法不切实际,还有哪些其他选择?我尝试了 as3crypto,却发现它充满了缺点并且缺乏严肃的文档。

【问题讨论】:

  • 我相信你能得到的最好的结果是使用 SSL 作为传输数据的安全协议。请注意,这仍然不会阻止用户设置接受您的证书的代理,然后向客户端发出另一个以解码传输,因此它也不是完全证明,但它是客户端/服务器最安全的解决方案至少会阻碍入侵系统的能力的通信。也就是说,它将保护您的最终用户/服务器通信免受外界的影响,但不能保护您免受最终用户的伤害。
  • 因为下面的答案让一个人在客户端和服务器之间的通信中间捕获将最终允许某人编写一个生成与在 mim 监控期间看到的相同类型的通信的客户端.以 Kinect 被黑为例,该协议没有发布,也没有启动数据流的信号,但是一个 USB 加密狗和一个数据转储,然后你在巴西有一些人对数据进行逆向工程在 youtube.com/watch?v=ZNApxghIQLw
  • 总而言之,服务器不应该完全信任从外部进入它的通信。您唯一可以真正保护的是在服务器上执行的代码,而真正保持安全的最佳方法是让服务器位于物理上安全的位置,并且不要将其挂接到任何不必要的网络中。祝你好运...好问题,只是没有好的答案。

标签: actionscript-3 flash protection decompiler data-protection


【解决方案1】:

您根本无法隐藏您的密钥 - SWF 完全不受信任,可以轻松反编译。处理 SWF 的安全性非常困难,因为它们在客户端上运行并且不受信任。

这可能具体取决于您尝试通过安全通信实现的目标。例如,如果您试图保护一个高分系统,这几乎是不可能的,因为游戏在客户端(SWF)上运行,他们可以操纵它向服务器吐出他们想要的任何分数。这是一个很好的阅读:What is the best way to stop people hacking the PHP-based highscore table of a Flash game

如果您只能将 SWF 用作前端 UI 并且所有逻辑都发生在后端,那么您可以保护您的应用程序(使用上面的高分示例,如果游戏不是 AS3 游戏但实际上在服务器本身上运行,保护起来会容易得多,因为后端是受信任的,用户不能修改或查看),但如果逻辑发生在 SWF 上,那么你就很不走运了。

【讨论】:

    猜你喜欢
    • 2010-09-29
    • 1970-01-01
    • 1970-01-01
    • 2017-08-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-14
    相关资源
    最近更新 更多