2012-06-26 11 views
5

サーバと安全に(バイナリソケットを介して)通信するにはFlashクライアントが必要です。このために、私はAS3コードの中に事前共有鍵を埋め込み、カスタムプロトコルを通じてXORされたデータを交換することを考えていました。Flash AS3コードの保護+サーバとのセキュアな通信

私は、SWFデコンパイラは、すべての埋め込みコードをはっきりと明瞭にすることに優れていると言われています。これは本当に私の鍵を隠すことができないということですか?

この方法が実用的でない場合は、他にどのようなオプションがありますか?私はas3cryptoを試してみましたが、それは欠点があり、深刻な文書が欠けていることがわかりました。

+0

あなたが得ようとしているのは、データを送信するための安全なプロトコルとしてSSLを使用することです。これは依然としてユーザーがあなたの証明書を受け入れるプロキシを設定してから送信をデコードするためにクライアントに別の証明書を発行するのを妨げるものではないので、決して完全な証明ではありませんが、クライアント/サーバーにとって最も安全なソリューションですシステムをハックする能力を少なくとも妨げる通信を可能にする。つまり、エンドユーザー/サーバー通信を外部から安全に保ちますが、エンドユーザーから保護することはできません。 – shaunhusain

+0

以下の答えは、クライアントとサーバーとの間の通信を途中で捕まえることによって、ミーム監視中に見られるのと同じ種類の通信を生成するクライアントを最終的に書くことができます。 Kinectがいかにしてハッキングされたか、プロトコルが公開されなかったか、データストリームを起動するための信号ではなく、後で1つのUSBドングルとデータダンプがブラジルでデータをリバースエンジニアリングする24時間以内にストリーム。もう一つの例ケインとエイブルここhttp://www.youtube.com/watch?v=ZNApxghIQLw – shaunhusain

+0

全体的なポイントは、サーバーが外部から完全にそれに入る通信を信用すべきではありません。本当にセキュリティで保護できるのは、サーバー上で実行されるコードであり、サーバーが物理的に安全な場所にあり、不要なネットワークに接続されないようにするために、実際にセキュリティを確保する最善の方法です。幸運のベスト...良い質問、ちょうど良い答え。 – shaunhusain

答えて

4

あなたの鍵をまったく隠すことはできません。SWFは完全に信頼できず、容易に逆コンパイルできます。 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あなたは幸運からかなり外れています。

関連する問題