2016-07-06 6 views
2

Android KeyStore에 민감한 데이터 (새로 고침 토큰)를 저장하고 싶습니다.Xamarin.Android Secure Strorage (Keystore)

내가 ISecureStorage 구현

KeyVaultStorage

샘플 자 마린 랩을 사용하는 거라고하지만이 암호로 장치 ID를 사용

는 ....이 안전한 방법이 될 수 없습니다!

그리고 안드로이드 키 스토어를 활용하여 자신의 Xamarin.Auth 도서관에서

... 그들은 암호는 여기에 무슨

AndroidAccountStore

를 하드 코딩했다?! 내가 놓친 게 있니?

iOS의 경우 KeyChain이 iOS에서 시행되는 PIN 화면을 사용하기 때문에 훨씬 간단합니다. Android 용 솔루션은 무엇입니까? 공유 환경 설정을 말하지 마십시오. 더 안전한 것이 필요합니다 (KeyStore !!)

답변

0

하드 코딩 된 값은 이전 버전과의 호환성을 위해 남아 있지만 API가 추가되므로 임의의 암호를 문자열로 제출할 수 있습니다. 암호가 전달되지 않으면 보안 문제로 오래된 하드 코드 된 문자열이 사용됩니다.

[Obsolete] Attribute를 비보안 API에 추가 할 계획이 있습니다.

암호가 생성/전달되는 방식을 결정하는 것은 사용자의 몫입니다 (UI 또는 DeviceID 에서처럼 안전하지는 않음).

실험실 관련 : Evolve16 사전 회의 교육의 실험실입니까?

예인 경우. 이러한 실험실의 핵심은 이제 Xamarin.Auth에 통합되어 있으므로 사용자는 SecureStorage 및 기타 유틸리티 (CryptoUtilities)를 Xamarin.Auth와 직접 사용할 수 있습니다.

+0

여기에 암호를 입력 할 때 권장 사항은 무엇입니까? 많은 예제가 Device ID를 전달하기 만하면 기뻤습니다. 이것의 뒤에 이유가 있습니까? 즉 키 저장소는 키 저장소를 만든 응용 프로그램 스레드에서만 액세스 할 수 있습니까? 암호가 있어도 문제가되지 않습니까? .... – AhmedW

+0

키 관리는 항상 문제입니다. 장치 ID를 전달하면 실제로는 사물함 옆에 열쇠를 둡니다. 기본적으로 유일한 안전한 방법은 사용자의 입력을 사용하여 잠금을 해제하는 것입니다. – Roy

+0

고마워요! 기본 Android Keystore Provider는이 제한 사항을 어떻게 극복합니까? – AhmedW