2016-07-06 13 views
2

Android KeyStoreに機密データ(更新トークン)を保存したいとします。Xamarin.Androidセキュアストローク(キーストア)

私は

KeyVaultStorage

Xamarin LabsのサンプルISecureStorage実装を使用するつもりだった。しかし、彼らは、これは安全な方法であることはできません....パスワードとしてデバイスIDを使用します!

とAndroidのKeyStoreを活用して自分のXamarin.Auth図書館、で...彼らはパスワードを持っているが、ここで何が起こっている

AndroidAccountStore

をハードコード!何か不足していますか?

iOSでは、KeyChainがiOSで強制されるPIN画面に依存しているため、はるかに簡単です。 Androidのソリューションは何ですか?共有設定をしないでください。

答えて

0

ハードコードされた値は、下位互換性のために残っていますが、APIが追加されているため、任意のパスワードを文字列として送信できます。パスワードが渡されないと、古いハードコーディングされた文字列が使用されます。これはセキュリティ上の問題です。

[Obsolete] Attributeを安全でないAPIに追加する予定です。

パスワードが生成/渡される方法を決定するのはあなた次第です(UIまたはDeviceIDのように安全ではありません)。

実験室について:Evolve16の予備実験トレーニングのラボはありますか?

「はい」の場合。これらのラボの中核はXamarin.Authに統合されているため、ユーザーはXamarin.AuthでSecureStorageやその他のユーティリティ(CryptoUtilities)を直接使用できます。

+0

ここにパスワードを渡す際の推奨事項を教えてください。多くの例がDevice IDを渡してうれしかったようです。この背後には理由がありますか?すなわち KeyStoreは、作成したアプリケーションスレッドからのみアクセスできますか?あなたがパスワードを持っていても、それは関係ありませんか? .... – AhmedW

+0

鍵管理は常に問題です。デバイスIDを渡した場合は、実際にロッカーの横に鍵を置いているので、基本的に安全な唯一の方法は、ユーザーからの入力を使用してロックを解除することです。 – Roy

+0

ありがとう!ネイティブAndroidキーストアプロバイダはこの制限をどのように克服しますか? – AhmedW