2013-07-15 7 views
8

私は非常に機密性の高いデータを使ってアプリケーションで作業します。私の定義による難読化はセキュリティが追加されていないので、有限の時間でクラッカーを遅らせるだけです。 Proguardがこれをうまくやっている可能性はありますか?プロガードはリバースエンジニアリングに対してどれだけ安全ですか?

いくつかのネットワークコールが最も敏感です。両方のパスワードを生成し、タイムスタンプで有効性をチェックするので、パスワードを盗聴するのは難しいでしょう。問題は、アプリケーションがリバースエンジニアリングされ、生成アルゴリズムが悪用される可能性があることです。

根付いた電話でクラッカーがファイルを取得できるため、アルゴリズムをファイルにローカルに保存することはできません。クラッカーがアプリケーションをリバースエンジニアリングして、アルゴリズムがどこから取得されたかを見ることができるならば、同じ問題がここに当てはまるので、サーバからアルゴリズムをダウンロードすることはできません。

進め方についてのご意見は大変ありがとうございます。クラッカーは、当社のサーバーに大量のデータを送信しない場合がありますので、

私が保護しようとしていますどのような編集

は生成アルゴリズムです。

+0

安全な_what_?どのような特定の攻撃を防止しようとしていますか? – SLaks

+0

@SLaks私の編集をご覧ください。 –

+0

あなたは最初の行であなたの質問に答えました: "私の定義による難読化はセキュリティが追加されていません"と解決してマークしてください:) –

答えて

12

一般に、クラッカーの寿命をより長くすることができます。あなたがそれを作るのが難しいほど、残ることは少なくなります。特に財政的インセンティブが限られている場合。

あなたのコードの難読化オプションは次のとおりです。

  • 使用ProGuardの、それは当然の完璧な、良い仕事をしていませんが、暗号化することで のように、さらに困難リバースエンジニアリングを行うことができます良い
  • 使用DexGuard、文字列、または
  • C

で重要な部分を書く改ざんコードを検出かかわらず、コードの難読化の、にもハード、ネットワークプロトコルを作りますメッセージの暗号化と署名、メッセージを繰り返したり(時間やシーケンスを使用して)、クライアントを認証しないようにしてください。

機密性の高いクリアテキストはディスクに保存しないでください。

+2

非常に良い点があります。私は本当に "Cで重要な部分を書く"が好きだった。 –

+2

Cでクリティカルな部分を書くのはなぜ良い考えですか? – Micro

関連する問題