Hasła Androida używane we wbudowanej aplikacji Email są przechowywane jako zwykły tekst w bazie danych SQLite. Jest to sprzeczne z aplikacją Gmaila , która korzysta z tokenów uwierzytelniania zgodnie z opisem w odpowiedzi Sachina Sekhara .
W przypadku Jelly Bean lokalizacja bazy danych to:
/data/system/users/0/accounts.db
Powyższa lokalizacja różni się w zależności od wersji Androida
Ta lokalizacja na niezrootowanym urządzeniu jest chroniona i chroniona przez system operacyjny.
Na zrootowanych urządzeniach użytkownicy już technicznie złamali swoje zabezpieczenia, a nawet gdyby nie był to zwykły tekst, odszyfrowanie byłoby trywialne, ponieważ klucz musi istnieć gdzieś na urządzeniu, aby to zrobić.
Członek zespołu programistów Androida opublikował wyjaśnienie, które do dziś obowiązuje:
Teraz w odniesieniu do tej szczególnej troski. Pierwszą rzeczą do wyjaśnienia jest to, że aplikacja e-mail obsługuje cztery protokoły - POP3, IMAP, SMTP i Exchange ActiveSync - i z nielicznymi, bardzo ograniczonymi wyjątkami, wszystkie te są starszymi protokołami, które wymagają od klienta przedstawienia hasła do serwera na każdym połączeniu. Te protokoły wymagają od nas przechowywania hasła tak długo, jak długo chcesz korzystać z konta na urządzeniu. Nowsze protokoły tego nie robią - dlatego niektóre artykuły kontrastują na przykład z Gmailem. Nowsze protokoły pozwalają klientowi jednorazowo użyć hasła do wygenerowania tokena, zapisania tokena i odrzucenia hasła.
Zachęcam do zapoznania się z artykułem, do którego prowadzi komentarz nr 38 , który jest dobrze napisany i zawiera wiele informacji. Zapewnia to bardzo dobre tło różnic między „zaciemniającymi” hasłami i czyniącymi je „bezpiecznymi”. Zwykłe zasłanianie hasła (np. Base64) lub szyfrowanie go kluczem przechowywanym w innym miejscu nie zwiększy bezpieczeństwa Twojego hasła ani danych. Atakujący nadal będzie mógł go odzyskać.
(W szczególności zgłoszono pewne twierdzenia, że niektóre inne klienty poczty e-mail nie przechowują hasła w postaci jawnego tekstu. Nawet jeśli jest to prawda, nie oznacza to, że hasło jest bezpieczniejsze. Prosty test: czy można uruchomić urządzenie i zacznie otrzymywać wiadomości e-mail na skonfigurowanych kontach, a następnie hasła nie będą naprawdę bezpieczne. Są zaciemnione lub zaszyfrowane innym kluczem przechowywanym w innym miejscu).
Dodatkowo, ponieważ wydaje się, że ten problem przeszkadza wielu użytkownikom Androida, możesz również śledzić tę dyskusję w Slashdot - dane hasła do Androida przechowywane jako zwykły tekst .