質問

Dropbox APIを使用しています。サンプルアプリには、これらの行が含まれています。

// Replace this with your consumer key and secret assigned by Dropbox.
// Note that this is a really insecure way to do this, and you shouldn't
// ship code which contains your key & secret in such an obvious way.
// Obfuscation is good.
final static private String CONSUMER_KEY = "PUT_YOUR_CONSUMER_KEY_HERE";
final static private String CONSUMER_SECRET = "PUT_YOUR_CONSUMER_SECRET_HERE";

私はマントラの「秘密がセキュリティではない」ことをよく知っていますが、難読化は、キーを抽出するのに必要な労力をわずかに増やすだけです。私は彼らの声明に「悪用は良い」と同意しません。鍵を保護するにはどうすればよいですか?悪用は良いです 足りる, 、または、もっと手の込んだ何かを考えるべきですか?

役に立ちましたか?

解決

あなたはそれを助けることはできません。ユーザー(攻撃者)が保護されたデータと非保護を行うコードを持っている場合、ユーザーは最終的にデータにアクセスできます。それはそれと同じくらい簡単です。適切なタイミングでデバッガーとブレークポイントが必要です。それ、そしてたくさんの自由な時間と決意。

秘密があなたの目的に十分であるかどうかは、あなたのビジネスの詳細次第です。しかし、一般的にモバイルの世界では、顧客がデータが盗まれていることを心配している場合、高レベルの盗難と損失のコントロールを実装します。リモートワイプ、必須のスクリーンロックなどのようなもの。すべてのものを複製するのはアプリケーションプログラマー次第ではないと思います。

他のヒント

セキュリティは決して完璧ではないので、あなたがやりたい仕事の量を決定するのはあなた次第です。消費者の秘密を複数の文字列に分割して、最小限の追加セキュリティを提供する単純な変更を提供するか、別の方法で秘密を表すアルゴリズムを作成することができます(文字列内のすべてのXスペースを使用していない文字を挿入することからおそらく数値表現に基づいて、各文字を変更します)。

仕事と利点を考慮する必要があります。これがあなたと数人の友人が使用するアプリである場合、それはおそらくそれほど重要ではありません。これが1,000万人が使用するアプリになる場合、セキュリティは明らかに懸念事項です。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top