3

それで、Android用のUrbanAirshipと統合しました。

サンプル コードでは、.propertiesファイルを使用して API キーとシークレットを保存します。APK を展開した後、これらのファイルに簡単にアクセスできるため、これは非常に憂慮すべきことでした。

アプリに機密データを保存することについて議論を始めるつもりはありません。このようにキーを保存することが受け入れられないかどうかを知りたいだけです。

もしそうなら、どちらがより安全ですが簡単なアプローチですか? 現在、独自の API キーを静的変数としてグローバル ファイルに保存しています。

4

3 に答える 3

2

APKの内容は暗号化されていないため、文字列はコンパイルされたクラスからよりも.propertiesファイルから簡単に抽出されます。Globalsクラス内に暗号化して保存することで、抽出を少し難しくすることができますが、ユーザーに出荷するものが秘密のままになることは期待しないでください。

于 2013-03-12T12:39:32.010 に答える
0

都市飛行船に関して; .properties ファイルに配置するキーとシークレットは、本質的に分析呼び出し用であり、実際の「プッシュ」用ではありません。ただし、API 呼び出し用のマスター シークレットも提供されます。これは、保護する必要があるアプリ シークレットの値です。これが、Urban Airship がアプリ キーとマスター シークレットを必要とするデバイスからのプッシュを推奨しない理由です。Urban Airship のアプリ キーとシークレットのみを保存する場合は、セキュリティ上の問題はありません。

于 2013-11-05T01:01:13.510 に答える
0

キーをメモリに安全にロードする方法が必要な場合は、実行時に安全なチャネルを介して独自のサーバーからキーを要求します。プログラムからのみアクセスできる共有設定/データベースにキーを保存した場合でも、ルート化されたデバイスはすべてのファイルにアクセスできるため、それを回避できます。Class / Dex ファイルはいつでもリバース エンジニアリングできます。

dexguardなどのツールもご覧ください。これは、proguard よりも難読化、セキュリティ機能を提供します。

于 2013-03-12T12:50:43.693 に答える