Przeczytałem wiele, wiele, wiele postów o tym, jak „prawdopodobnie źle przechowujesz hasła”. Zawsze odnoszą się do przechowywania haseł na serwerze, na którym loguje się użytkownik; w zasadzie odmieniają (zamierzone słowa) wszechobecne porady, takie jak upewnij się, że słone hasła itp. itp. Jednak nigdy nie widziałem artykułu na temat najlepszych praktyk dotyczących przechowywania haseł na kliencie, aby klient nie musiał się logować ręcznie za każdym razem, gdy chcą się zalogować; funkcja „zapamiętaj mnie”.
Wiele programów ma tę funkcję, od przeglądarek po programy takie jak Dropbox.
Czytałem niedawno stary artykuł o tym, jak Dropbox przechowywał identyfikator na twoim komputerze, który możesz po prostu skopiować / wkleić na innym komputerze i uruchomić Dropbox i zalogować się jako urządzenie, z którego masz identyfikator; bez logowania, bez niczego i pełny dostęp do konta Dropbox. Wygląda to na naprawdę głupi projekt, ale nie mogę wymyślić lepszego sposobu na zrobienie tego.
Nie jestem nawet pewien, jak uniknąć przechowywania czegoś takiego jak plik cookie w postaci zwykłego tekstu. Jeśli go zaszyfrujesz, gdzie przechowujesz klucz, aby go odszyfrować?
Jedyny sposób, w jaki widzę, aby nie wprowadzać luk w zabezpieczeniach, to usunięcie funkcji autologin i zmuszenie użytkownika do wpisania hasła za każdym razem, gdy chce skorzystać z usługi, ale jest to walka o użyteczność i użytkownicy są zepsute, że nie będą musieli tego robić.
Co mogę przeczytać na temat bezpiecznego przechowywania lokalnych poświadczeń w celu wdrożenia funkcji automatycznego logowania? Jeśli zasady są zbyt proste dla całego artykułu, jakie one są? Oprogramowanie, o którym mowa, nie powinno zależeć od funkcji nieobecnych na wszystkich platformach (takich jak „pęku kluczy”, które mają niektóre dystrybucje linuksa).