Я читав багато, багато, багатьох дописів про те, як "ви, мабуть, неправильно зберігаєте паролі". Вони завжди мають на увазі збереження паролів на сервері, на який користувач здійснює вхід; вони в основному переспівують всюдисущі поради (наприклад, переконайтеся, що соліть паролі тощо). Однак я ніколи не бачив статті про найкращі практики зберігання паролів на клієнті, щоб клієнту не довелося входити в систему вручну кожного разу, коли вони хочуть увійти; функція "запам'ятати мене".
Багато програмного забезпечення мають цю функцію - від браузерів до таких програм, як Dropbox.
Нещодавно я читав стару статтю про те, як Dropbox зберігає ідентифікатор на вашому комп’ютері, що ви можете просто скопіювати / вставити на інший комп'ютер і запустити Dropbox і ввійти в систему як пристрій, з якого ви отримали ідентифікатор; ні входу, ні нічого, і повний доступ до облікового запису Dropbox. Це здається дійсно дурним дизайном, але я не можу придумати кращого способу зробити це.
Я навіть не впевнений, як уникнути збереження чогось типу файлу cookie у простому тексті. Якщо ви шифруєте його, де зберігаєте ключ для його розшифрування?
Єдиний спосіб, який я бачу, щоб не вводити вразливості безпеки, - це видалити функцію автологічного входу та змусити користувача вводити свій пароль кожного разу, коли він хоче скористатися послугою, але це боротьба за зручність використання, і користувачі розпещені, сподіваючись, що цього не потрібно робити.
Що я можу прочитати про безпечне зберігання облікових даних для безпечного використання функції автоматичного входу? Якщо принципи занадто прості для всієї статті, які вони? Програмне забезпечення, про яке йдеться, не повинно залежати від функцій, наявних на всіх платформах (як, наприклад, "брелок брелоків", які мають деякі дистрибутиви Linux).