人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

FLASH→Webサーバ間の通信について質問です。

例えばFLASH上で生成したデータを、Webサーバに送信して保存したとします。
この時パケットを解析されたり、SWFファイルを逆アセンブラ(*1)されると、ユーザーが勝手に生成したデータをサーバに送りつけることが可能だと思います。


このような場合に、以正規のFLASHが生成したデータかどうかを、サーバサイドで判定する(PHP、Perlなど)ことは可能でしょうか?また可能な場合考えられる手法を教えてください。よろしくお願いします。


*1 ... ActionScriptへ戻すことだとお考えください。FLASHの場合なんて言うのでしょう(^^;

●質問者: munyaX
●カテゴリ:インターネット ウェブ制作
✍キーワード:ActionScript Flash Perl PHP swf
○ 状態 :終了
└ 回答数 : 3/3件

▽最新の回答へ

1 ● hijk05
●14ポイント

>以正規のFLASHが生成したデータかどうかを、サーバサイドで判定する(PHP、Perlなど)ことは可能でしょうか?

不可能

◎質問者からの返答

具体的な内容も書いていただけると助かります。

「100%はムリだが、9割可能」

「ある程度は可能だが、厳密に防ぐのはムリ」

「こういったライブラリがあるが、完全ではない」

「○○で議論されているが、決定打となる解決策は得られていない」

「××で研究されており、最近発表された技術があるが枯れていないため信頼性の評価が難しい」

などなど。


2 ● JULY
●40ポイント

厳密には無理、というあたりかなぁ。

アイデアとしては、

  1. Flash が最初にアクセスしてきた時に、サーバはランダムな文字列を返す。
  2. Flash 側は、サーバからもらったランダムな文字列と、事前に組み込まれたパスワード情報から、実際のデータの暗号化に使う鍵を作成する。
  3. 前項で作成した鍵を使って送信する内容を暗号化して送る。
  4. サーバは、自分が 1 番で Flash に送ったランダムな文字列を覚えていて、Flash と同様に、ランダムな文字列と組み込まれているパスワード情報(Flash に組み込まれたものと同じもの)から鍵を作成して、Flash から送られてきた暗号を復号化する。

というのを思いついたのですが、パケットキャプチャに対しては耐性はあるけど、swf から逆アセンブルするようなことをされると、「組み込まれたパスワード」と暗号化の鍵を作るアルゴリズムが分かってしまい、偽装可能になります。

実は、DRM の類も似たような仕組みで、ソフトウェアの中に「組み込まれたパスワード」があって、それと鍵の生成方法や暗号化方式が分かると、DRM を回避できることになります(そんなに単純ではないけど)。ただ、一般的なアプリケーションで、それを逆アセンブルして解析するのは容易ではないのですが、swf だと、ActionScript の抽出ツールとか、簡単に入手できるので、難易度は一般的な DRM に比べるとはるかに低くなってしまいます。

ポイントは、どうやって「組み込まれたパスワード」を隠して、どうやって鍵の作成過程を隠すか、になってしまいますが...。

◎質問者からの返答

ありがとうございます。

私もワンタイムパスワード的な秘密鍵を利用する方法は検討する中で思いついたのですが、JULYさんのおっしゃる通りソースを見られると知識のある人には分かっちゃうんですよね。


やはり定石的な方法はないんですね(^^;

プログラムで「ホトンド」防いで、「一部」は運用でカバーしていくという感じでしょうか。


分かりやすい回答ありがとうございました。

DRMのロジックも色々調べてみたいと思います。


3 ● okmt_masaaki
●26ポイント

SSLの中で

PHPで鍵生成>Flashで鍵読み込み>データと鍵を一緒に送信>鍵判定して正しければデータ保存

すれば求めるアルゴリズムができると思われます。

また、AS3からByteArrayが使えるので暗号化swfが使えるなどの記事を見かけたことがあります。

これならデコンパイルされる心配もないのではないでしょうか??

どのように実装するか私もよくわかりませんが、技術的にはできそうな感じです。

http://www.be-interactive.org/index.php?itemid=5

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ