2016-11-16 8 views
6

私はアプリで秘密鍵を持つと仮定firebaseと反応ネイティブアプリを構築しているとしましょう。誰かが鍵を盗むことは可能でしょうか?もしそうなら、私はそれをどのように保護するのですか?レスキュー元のクライアント側に秘密鍵を安全に保存する方法は?

+0

私は同じ質問があります。たとえば、Reactネイティブアプリでhttps://www.npmjs.com/package/react-native-oauthを使用するとどれくらい安全ですか? –

+0

これについての回答も探しています。恩恵を受けていただけますか?私は何らかの理由でUI上で賞品を始めることができません。 –

+1

秘密をデバイスに保存することは、あなたがどれほど難読化しても安全ではありません。秘密鍵を秘密にしておく必要がある場合は、安全なサーバーの背後に置いてください。 – jaws

答えて

1

ソースへのアクセスを制御できないため、秘密情報をデバイスに保存する100%安全な方法はありません。キーのセキュリティを保証する唯一の方法は、最初にデバイスにキーを置かないことです。 this article by Michael Ramirez

によって非常にうまく示され、あなたが欠陥を持つことになります見つける

任意の解決策は、あなたが本当にそれらのキーをする必要がどのように安全なのバランスを取る必要があります。

たとえば、Googleでは、Googleやその他のAPIにはあまり関心のないキーを、バージョン管理にコミットされていないres/values/secrets.xml文字列ファイルに保存しています。誰かにとってはstrings out_app.apiには簡単ですが、すでにこれらの鍵の保護についてはあまり気にしませんでした。

<resources> 
    <string name="google_api_key">OurApiKey</string> 
</resources> 

あなたが保存したいキーの種類に応じて、Androidの&にReactNativeで作業している場合は、私は、これは保存のために働くだろうとは思わないが、あなたはKeystore API を使用してAndroid Keystore Systemを利用することができは、 Firebaseのキー。

関連する問題