2013-08-10 1 views
3

나는 RSA 공개/개인 키를 만들어서 일부 메시지를 암호화/암호 해독합니다. 문자열로 sharedpreferences에 저장하고 필요할 때 문자열로 만듭니다. 모든 것이 완벽하게 작동하지만 개인 키를 sharedpreferences에 문자열로 저장하는 것이 안전합니다. 이 질문 는 :안전하게 RSA PublicKey/PrivateKey 안전하게 저장

SharedPreferences MODE_PRIVATE security

나는 누군가가 내 된 SharedPreferences에 도달 할 수 있으며, 문자열에서 내 개인 키를 생성 할 수 있음을 알게되었다. 내 개인 키를 내 전화에 저장하는 동안 보안을 유지하려면 어떻게해야합니까?

+1

제목은 공개 키를 묻지 만 개인 키는 묻습니다. 공개 키를 안전하게 저장할 필요가 없습니다. 공개입니다. 개인 키만 안전하게 저장해야합니다. 그 간단한 대답은'java.security.Keystore'입니다. – EJP

+0

답장을 보내 주셔서 감사합니다. –

답변

2

모두 개인/공개 키 쌍의 감도 수준에 따라 다릅니다. 내 생각에, 그것들을 sharedpreferences에 저장하는 것은 나쁜 생각이 아닙니다. 키 쌍은 앱 디렉토리를 기준으로 저장되며 외부 액세스로부터 시스템을 보호합니다. 하지만 '공유'환경 설정이 암시 하듯이 키 쌍이 앱 구성 요소간에 공유됩니다. 따라서 더 나은 보호가 필요한 경우 KeyStore class에 키 쌍을 저장하는 것이 좋습니다. 지금은 키 쌍 보호를위한 최상의 솔루션입니다. 암호 기반 키 보호 기능을 제공합니다.

업데이트 : 안드로이드 키 스토어 및 키 체인 사용에 관한 훌륭한 글이 here입니다.