Здравствуйте, Аноним, Вы писали:
А>Добрый день, вероятно вопрос обсуждался: как хранить пароль на ПК пользователя? А>Вероятно справедливо и для реестра виндовс и для файла на HDD.
А>Для в хода в программу используется пароль заданным пользователем.
А>1) Злоумышленник может подменить файл/ключ реестра с паролем (который он установил на своем ПК) и доступ открыт. А>2) Удалить файл/ключ реестра и тогда вход вовсе не возможен. А>3) Удалит все следы ПО (но сохранит данные), установит ПО и создаст новый пароль.
1. Не хранить нигде. Хранить хеш.
2. Шифровать данные с использованием пароля.
Впрочем если злоумышленник имеет физический доступ к компу и привилегии администратора то ничего не поможет.
Здравствуйте, GarryIV, Вы писали:
GIV>1. Не хранить нигде. Хранить хеш. GIV>2. Шифровать данные с использованием пароля.
GIV>Впрочем если злоумышленник имеет физический доступ к компу и привилегии администратора то ничего не поможет.
А, каким образом использование хеша позволит избежать проблем перечисленных автором? Если хеш, как и пароль, хранится в реестре / на диске, его что нельзя удалить, подменить?
На месте автора, я бы не изобретал велосипед, а посмотрел в сторону Windows-based аутентификации и встроенных компонент безопасности (Protected Storage, CryptProtectData / CryptUnprotectData, CryptoAPI и т.д.).
Здравствуйте, <Аноним>, Вы писали:
А>Подскажите как правильнее сделать.
Не хранить пароль. Вводить каждый раз.
Если начинаем хранить, то это дискредитирует саму идею паролей и речи быть не может ни о какой защите от злоумышленников.
Защита при хранении практически невозможна. Можно говорить об удобстве пользователя, которое достигается ценой защищённости.
Можно говорить о защите от дурака, когда пароль кодируется и/или подписывается простейшим образом, чтобы нельзя было считать его простым невооружённым глазом.
Здравствуйте, Джеффри, Вы писали:
GIV>>1. Не хранить нигде. Хранить хеш. GIV>>2. Шифровать данные с использованием пароля.
GIV>>Впрочем если злоумышленник имеет физический доступ к компу и привилегии администратора то ничего не поможет.
Д>А, каким образом использование хеша позволит избежать проблем перечисленных автором? Если хеш, как и пароль, хранится в реестре / на диске, его что нельзя удалить, подменить?
Да пусть себе меняет хеш сколько хочет — до данных он все равно не доберется.
Д>На месте автора, я бы не изобретал велосипед, а посмотрел в сторону Windows-based аутентификации и встроенных компонент безопасности (Protected Storage, CryptProtectData / CryptUnprotectData, CryptoAPI и т.д.).
Я писал в первом приближении. На чем это реализовать — отдельный вопрос и не ко мне а к топикстартеру.
Шифровать данные пользователя с помощью его пароля.
При вводе пароля расшифровываем стандартный заголовок данных, если расшифровали правильно то пускаем, иначе — нет.
Пароль не хранить. Его хэш тоже.
Всё сказанное выше — личное мнение, если не указано обратное.