2016-07-06 8 views
2

Я хочу хранить некоторые конфиденциальные данные (Обновить токен) в Android KeyStore.Xamarin.Android Secure Strorage (Keystore)

Я собирался использовать Xamarin Labs Пример реализации ISecureStorage

KeyVaultStorage

Но они используют идентификатор устройства в качестве пароля .... это не может быть безопасным способом ?!

И в их Xamarin.Auth библиотека, которая использует Android KeyStore ... они пароль зашиты

AndroidAccountStore

Что здесь происходит ?! Я что-то упускаю?

На iOS его гораздо проще, так как KeyChain полагается на экран PIN-кода, который применяется на iOS. Какое решение для Android? Не сообщайте об общих предпочтениях. Мне нужно что-то более безопасное (KeyStore !!)

ответ

0

Твердое значение осталось для обратной совместимости, но добавлен API, поэтому пользователь может отправить произвольный пароль в виде строки. Если пароль не передан, будет использоваться старая жесткокодированная строка, что является проблемой безопасности.

Планируется добавить [Устаревший] атрибут к небезопасному API.

Пользователь должен решить, как будет генерироваться/передаваться пароль (пользовательский интерфейс или не такой безопасный, как в указанном вами DeviceID).

Относительно лабораторий: эти лаборатории от Evolve16 preconference training?

Если да. Ядро этих лабораторий теперь интегрировано в Xamarin.Auth, поэтому пользователь может использовать SecureStorage и другие утилиты (CryptoUtilities) непосредственно с Xamarin.Auth.

+0

Какова рекомендация по предоставлению пароля здесь. Похоже, что многие примеры были счастливы просто передать идентификатор устройства. Есть ли причина этого? i.e Доступен ли KeyStore только для потока приложений, который его создал? так что даже если у вас есть пароль, это не имеет значения? .... – AhmedW

+0

ключевое управление всегда является проблемой; если вы передаете идентификатор устройства, вы практически кладете ключ рядом с шкафчиком, поэтому в основном единственный безопасный способ - использовать ввод от пользователя, чтобы разблокировать его. – Roy

+0

Спасибо, Рой! Как собственный Android Keystore Provider преодолеет это ограничение? – AhmedW