Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/flash/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Actionscript 3 保护闪存AS3代码+;与服务器的安全通信_Actionscript 3_Flash_Protection_Decompiler_Data Protection - Fatal编程技术网

Actionscript 3 保护闪存AS3代码+;与服务器的安全通信

Actionscript 3 保护闪存AS3代码+;与服务器的安全通信,actionscript-3,flash,protection,decompiler,data-protection,Actionscript 3,Flash,Protection,Decompiler,Data Protection,我需要我的Flash客户端与服务器安全通信(通过二进制套接字)。为此,我考虑在AS3代码中嵌入一个预共享密钥,并通过自定义协议交换XORD数据 我听说SWF反编译器在使所有嵌入代码清晰易读方面做得很好。这是否意味着我真的无法隐藏我的钥匙 如果这种方法不切实际,还有什么其他选择?我试过使用as3crypto,结果发现它有很多缺点,并且缺乏严肃的文档。你根本无法隐藏你的密钥-SWF完全不可信,可以轻松地反编译。使用SWF处理安全性是相当困难的,因为它们在客户端上运行并且不受信任 这可能具体取决于您试

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

我听说SWF反编译器在使所有嵌入代码清晰易读方面做得很好。这是否意味着我真的无法隐藏我的钥匙


如果这种方法不切实际,还有什么其他选择?我试过使用as3crypto,结果发现它有很多缺点,并且缺乏严肃的文档。

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

这可能具体取决于您试图通过安全通信实现的目标。例如,如果您试图保护一个高分系统,这几乎是不可能的,因为游戏在客户端(SWF)上运行,他们可以操纵它向服务器吐出他们想要的任何分数。以下是一篇关于这方面的好文章:


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

我相信,您最好使用SSL作为传输数据的安全协议。请注意,这仍然不能阻止用户设置一个代理,该代理接受您的证书,然后向客户端颁发另一个证书,以便解码传输,因此它也不是完全可靠的,但它是客户端/服务器通信的最安全解决方案,至少会阻止入侵系统的能力。这将使您的终端用户/服务器通信从外部用户安全,但不能保护您不受终端用户的影响。下面的答案避开了中间人,捕获客户端和服务器之间的通信将最终允许某人编写与MIM中所见相同类型的通信的客户端。监测。以Kinect如何被黑客攻击为例,协议没有发布,启动数据流的信号也没有发布,但是一个USB加密狗和一个数据转储之后,巴西的人在<24小时内对数据流进行反向工程。另一个例子Cain和Able在这里的总体观点是,服务器永远不应该完全信任从外部传入的通信。唯一可以真正安全的是在服务器上执行的代码,而保持这种安全的最佳方法是让服务器处于物理安全的位置,并且不让它连接到任何不必要的网络。祝你好运。。。好问题,只是没有好答案。