0

Вы уже знаете о нескольких браузерах, предоставляющих возможность хранить учетные данные для входа на веб-сайты. Как они правильно защищают пароль, если он не может быть соленого хэша?, Единственный способ, которым я нашел, - это только его шифрование. Такие сайты, как mint.com, сохраняют учетные данные из нескольких банков. Как они делают это обеспечено (по коду)? Позвольте сказать, что я в пути реализации чего-то подобного, как я могу убедиться, что учетные данные защищены, если они не могут их использовать? Источники:Хранение паролей

+1

Попробуйте загрузить исходный код для менеджера паролей с открытым исходным кодом, например [KeePass] (http://keepass.info/download.html) и посмотреть, как они это делают. – itsme86

+0

См. Http://stackoverflow.com/q/2597047/3303915 для получения возможного ответа. –

+0

Если какой-либо из этих ответов разрешил вашу проблему, вы можете [принять] (http://meta.exechange.com/q/5234/ 266187) один из них. Если это не так, то, пожалуйста, расширьте то, что не так. –

ответ

0

как я могу действительно убедиться, что учетные данные защищены, если косяк хэш их?

Вы не можете; Вы не можете гарантировать, что сохраненный пароль (или любые другие данные) защищен на 100%.

При использовании hash, чтобы хранить пароль (грубо говоря) он просто предотвращает (или попытки предотвратить) исходное значение из вычисляется из значения хэш-функции.

Возможно, вы захотите изменить свой вопрос на что-то вроде Каковы наилучшие методы безопасного хранения зашифрованных данных от кражи.


Я не эксперт по вопросам безопасности, но если бы я имел данные, которые я хотел бы сохранить для других пользователей, которые я не хочу, чтобы получить доступ без пользователя настоящего (физически или входа в систему), я бы, вероятно, сделайте что-то вроде того, чтобы создать мастер-пароль. Я бы создал уникальную соль для каждого пользователя, и это все, что я хотел бы хранить (вместе с зашифрованными данными). Затем я буду шифровать данные с помощью SHA3-512 (хэш) главного пароля + Salt. Теоретически у меня нет доступа к данным вообще, даже не для целей восстановления (потому что я не храню хеш и пароль).

Даже в этом случае данные не защищены на 100%. Кто-то может использовать атаку «человек в середине» или компрометировать систему и украсть пароль/хэш. Единственная известная особенность безопасности заключается в том, что было бы чрезвычайно сложно расшифровать украденные данные только с помощью Соли.

0

Храните данные (учетные данные) в базе данных, которая специально защищена и затвердела.

  • Это не должно быть доступно из Интернета, и между ним и интернетом должно быть много уровней косвенности.

  • Он должен быть доступен только из двух конкретных систем. Один из них уполномочен читать базу данных, а другой должен также вносить изменения. Таким образом, для этой базы данных вам понадобится выделенный брандмауэр. Ознакомьтесь с несколькими уровнями demilitarized zones.

  • Убедитесь, что все ваши машины правильно исправлены. Если вы решите использовать специальное программное обеспечение, обязательно подпишитесь на необходимые каналы, чтобы быстро получить информацию о доступных исправлениях и возможных эксплоитах и ​​быстро применить их/найти исправления.

  • Настройте только минимальное количество разрешений для администраторов, необходимых для работы с инфраструктурой. Не просто отдавайте эти разрешения всем, кто спрашивает в вашей компании.

  • После того, как вы все это сделали, шифрование этих данных не обеспечивает большой защиты. Это просто обфускация в этот момент, потому что ключ, который шифрует данные, должен быть близок к данным.