Форум программистов, компьютерный форум, киберфорум
Наши страницы
C# для начинающих
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 4.55/22: Рейтинг темы: голосов - 22, средняя оценка - 4.55
Энтомолог
94 / 148 / 44
Регистрация: 25.04.2012
Сообщений: 2,397
1

Логин и пароль пользователя в десктоп приложении

04.04.2013, 21:45. Просмотров 4223. Ответов 37
Метки нет (Все метки)

Для начала работы с программой требуется подключение к бд для загрузки профиля.
Как правильно хранить логин и пароль пользователей вне бд и проверять их при входе, чтобы все это было устойчиво ко взлому ?
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.04.2013, 21:45
Ответы с готовыми решениями:

Как в консольном приложении можно ввести набор символов в окна логин-пароль?
Доброго времени суток всем! Подскажите, пожалуйста, как в консольном...

Система регистрации логин-пароль
Добрый вечер! Помогите кто умеет с созданием системы регистрации и входа...

Заполнение полей Логин и Пароль
есть код webBrowser1.Navigate("https://login.aliexpress.com"); //...

Логин/Пароль администратора внутри программы
Добрый день. Такая проблема: Мне нужно использовать SocketType.Raw, который в...

Создать приложение, запрашивающее логин и пароль
Мне нужно сделать программу, существует ли аккаунт(логин) или введен ли...

37
Wolfdp
868 / 778 / 202
Регистрация: 15.06.2012
Сообщений: 3,051
Записей в блоге: 1
Завершенные тесты: 1
06.04.2013, 20:28 21
Цитата Сообщение от A1exSun Посмотреть сообщение
Мое мнение - свой велосипед изобретать не нужно. Он будет лишь жалким подобием и с множеством уязвимостей, взять те же коллизии.
Ну к примеру: делаем хэш пароля (password), потом делаем хэш пароля в обратном порялке (drowssap), потом просто делаем побитовое ИЛИ. Думаю, колизий тут явно нет. А вот ваш стандартный словарь уже можно выкинуть.
0
A1exSun
C#
55 / 55 / 5
Регистрация: 09.03.2013
Сообщений: 216
06.04.2013, 20:44 22
Цитата Сообщение от Wolfdp Посмотреть сообщение
Ну к примеру: делаем хэш пароля (password), потом делаем хэш пароля в обратном порялке (drowssap), потом просто делаем побитовое ИЛИ. Думаю, колизий тут явно нет. А вот ваш стандартный словарь уже можно выкинуть.
Зачем словарь выбрасывать? При переборе просто сверять с hash() | hash(reverse(word))
Вашу мысль я понял. md5 обычно тоже не так просто используют, а вместе с солью как минимум. В движке этого форуме например, если мне не изменяет память, md5(password, salt). Так же в каком-то популярном движке видел md5(md5(password, salt)).
0
Wolfdp
868 / 778 / 202
Регистрация: 15.06.2012
Сообщений: 3,051
Записей в блоге: 1
Завершенные тесты: 1
06.04.2013, 20:49 23
Цитата Сообщение от A1exSun Посмотреть сообщение
При переборе просто сверять с hash() | hash(reverse(word))
Соглашусь, вот только вся проверка займет в разы дольше, чем обычная. Плюс, ещё нужно знать, о том, что в сервисе идет именно такая проверка. Вполне возможна такая ситуация: хакер получает часть таблицы, где хранятся пароли, видит в них md5-подобные записи и думает "ага! это же хэши паролей! где-то у меня есть словарь для перевода..." Запускается поиск соответствий(который ой какой долгий), генерируются входные пароли. И потирая руки, пытается зайти - а не тут то было.
0
A1exSun
C#
55 / 55 / 5
Регистрация: 09.03.2013
Сообщений: 216
06.04.2013, 21:44 24
Цитата Сообщение от Wolfdp Посмотреть сообщение
Соглашусь, вот только вся проверка займет в разы дольше, чем обычная. Плюс, ещё нужно знать, о том, что в сервисе идет именно такая проверка. Вполне возможна такая ситуация: хакер получает часть таблицы, где хранятся пароли, видит в них md5-подобные записи и думает "ага! это же хэши паролей! где-то у меня есть словарь для перевода..." Запускается поиск соответствий(который ой какой долгий), генерируются входные пароли. И потирая руки, пытается зайти - а не тут то было.
В 2 раза, не так и много.
Узнать тип хэширования тоже возможно, в случае с веб-сайтом, имея доступ к БД мы наверняка имеем доступ и к коду, в случае с десктопным ПО есть дизассамблер. Или регистрируем своих пользователей и потом анализируем полученные хэши наших паролей.

В общем, что-то мы уже не по теме.
0
Wolfdp
868 / 778 / 202
Регистрация: 15.06.2012
Сообщений: 3,051
Записей в блоге: 1
Завершенные тесты: 1
07.04.2013, 00:17 25
Цитата Сообщение от A1exSun Посмотреть сообщение
Узнать тип хэширования тоже возможно, в случае с веб-сайтом, имея доступ к БД мы наверняка имеем доступ и к коду
Думаю на этом этапе можно смело сказать - безопасность на уровне 0.
0
tezaurismosis
Администратор
Эксперт .NET
8609 / 3895 / 730
Регистрация: 17.04.2012
Сообщений: 8,678
Записей в блоге: 14
07.04.2013, 17:26 26
Цитата Сообщение от A1exSun Посмотреть сообщение
Оригинально. Ознакомься: http://ru.wikipedia.org/wiki/Хеширование и http://ru.wikipedia.org/wiki/Шифрование
И в будущем не говори "расшифровать md5 хэш".
Прелестно, но говорить "расхэширование" я не буду. Ещё раз повторюсь: от этого смысл слова не пропадает. Поэтому: "MD5-хэш сейчас легко расшифровать"
Цитата Сообщение от A1exSun Посмотреть сообщение
Очень ценный материал, раскрыл мне глаза на опасность использования md5. В нем нашли коллизию! Теперь весь интернет под угрозой.
Просто умираю от вашей великолепной саркастичной шутки. Только я это привел в пример совсем другого - это очередная дыра в устаревшем алгоритме.
0
A1exSun
C#
55 / 55 / 5
Регистрация: 09.03.2013
Сообщений: 216
07.04.2013, 17:33 27
Цитата Сообщение от tezaurismosis Посмотреть сообщение
Прелестно, но говорить "расхэширование" я не буду. Ещё раз повторюсь: от этого смысл слова не пропадает. Поэтому: "MD5-хэш сейчас легко расшифровать"
"Расхэшировать" тоже невозможно. Снова посылать в вики?

Цитата Сообщение от tezaurismosis Посмотреть сообщение
Просто умираю от вашей великолепной саркастичной шутки. Только я это привел в пример совсем другого - это очередная дыра в устаревшем алгоритме.
Эта "дыра" совсем не дыра и есть везде. Если очередная, то где предыдущие? Старое не значит плохое.
0
tezaurismosis
Администратор
Эксперт .NET
8609 / 3895 / 730
Регистрация: 17.04.2012
Сообщений: 8,678
Записей в блоге: 14
07.04.2013, 17:40 28
Цитата Сообщение от A1exSun Посмотреть сообщение
Эта "дыра" совсем не дыра и есть везде
Вы говорите про подбор - в других это малюсенькая дыра из-за очень долгого подбора, MD5 сейчас подбирают быстро.
Цитата Сообщение от A1exSun Посмотреть сообщение
Снова посылать в вики?
Сами туда идите, я больше не пойду.
Цитата Сообщение от A1exSun Посмотреть сообщение
Старое не значит плохое.
Старое зачастую плохое, если есть причины. Тут причины есть.
Цитата Сообщение от A1exSun Посмотреть сообщение
Если очередная, то где предыдущие?
См. предыдущие сообщения. Я уже говорил, что есть другие методы.
0
A1exSun
C#
55 / 55 / 5
Регистрация: 09.03.2013
Сообщений: 216
07.04.2013, 17:53 29
Цитата Сообщение от tezaurismosis Посмотреть сообщение
Вы говорите про подбор - в других это малюсенькая дыра из-за очень долгого подбора, MD5 сейчас подбирают быстро.
На том же оборудовании скорость подбора почти равная ко всему.

Цитата Сообщение от tezaurismosis Посмотреть сообщение
См. предыдущие сообщения. Я уже говорил, что есть другие методы.
Перебор по словарю, Brute-force и RainbowCrack - уязвимы все алгоритмы.
0
taras atavin
4205 / 1768 / 211
Регистрация: 24.11.2009
Сообщений: 27,565
07.04.2013, 18:04 30
Цитата Сообщение от A1exSun Посмотреть сообщение
Дешифровки чего? md5 это хэш.
И что?
Цитата Сообщение от A1exSun Посмотреть сообщение
Скажи, что здесь было: 6c594fca60c658a835340e29a267bba5
Первая же хеш-коллизия будет принята вместо истинного пароля.

Добавлено через 3 минуты
Цитата Сообщение от Wolfdp Посмотреть сообщение
(то есть пароль "123" становится эквивалетный 32-х символьному.)
Какой бы хеш ты не использовал, простой пароль всё равно вскрывается перебором самого пароля.

Добавлено через 1 минуту
Цитата Сообщение от A1exSun Посмотреть сообщение
Хэши не расшифровываются.
не расшифровываются, как обычные шифры, но это и не нужно, при проверке по хешу нахождение хешколлизии по хешу легального пароля есть расшифровка хеша.
0
A1exSun
C#
55 / 55 / 5
Регистрация: 09.03.2013
Сообщений: 216
07.04.2013, 18:05 31
Цитата Сообщение от taras atavin Посмотреть сообщение
И что?
Понятие "расшифровать" просто не применимо к хэшам. Ибо хэш это ну вы знаете что. А расшифровать означает получить оригинал данных.
Цитата Сообщение от taras atavin Посмотреть сообщение
Первая же хеш-коллизия будет принята вместо истинного пароля.
Какая вероятность ее найти?
0
taras atavin
4205 / 1768 / 211
Регистрация: 24.11.2009
Сообщений: 27,565
07.04.2013, 18:05 32
Цитата Сообщение от Wolfdp Посмотреть сообщение
Насчет хэша: как по вашему это должно выглядить? Клиент-приложение отправляет на сервер хэш, вместо логина-пароля?
А где хоть слово о клиент-сервере?
0
A1exSun
C#
55 / 55 / 5
Регистрация: 09.03.2013
Сообщений: 216
07.04.2013, 18:06 33
Цитата Сообщение от taras atavin Посмотреть сообщение
при проверке по хешу нахождение хешколлизии по хешу легального пароля есть расшифровка хеша.
Да, а как с этим на практике?
0
taras atavin
4205 / 1768 / 211
Регистрация: 24.11.2009
Сообщений: 27,565
07.04.2013, 18:13 34
Не того хакера спрашиваешь, я ломаю код по обезьяньей методе, а не вдумчиво пароли. Потому и в статусе приставка "недо".
0
Энтомолог
94 / 148 / 44
Регистрация: 25.04.2012
Сообщений: 2,397
28.04.2013, 21:00  [ТС] 35
C#
1
System.Security.SecureString
Как насчет этого объекта для хранения пароля ?
0
tezaurismosis
Администратор
Эксперт .NET
8609 / 3895 / 730
Регистрация: 17.04.2012
Сообщений: 8,678
Записей в блоге: 14
28.04.2013, 21:42 36
Цитата Сообщение от Alex9 Посмотреть сообщение
Как насчет этого объекта для хранения пароля ?
А почему бы и нет. Я почитал декомпилированный код этого класса, если я правильно понимаю, данные помещаются в защищённую область памяти - я думаю это будет посложнее взломать
0
Энтомолог
94 / 148 / 44
Регистрация: 25.04.2012
Сообщений: 2,397
28.04.2013, 21:49  [ТС] 37
А как посмотреть код такого класса ?
0
tezaurismosis
Администратор
Эксперт .NET
8609 / 3895 / 730
Регистрация: 17.04.2012
Сообщений: 8,678
Записей в блоге: 14
28.04.2013, 21:54 38
Цитата Сообщение от Alex9 Посмотреть сообщение
А как посмотреть код такого класса ?
Декомпилятором, dotPeek, к примеру.
1
28.04.2013, 21:54
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.04.2013, 21:54

Разбить сообщение на логин/пароль, записать их в реестр
есть программка клиент сервер,клиент отправляет на сервер логин и пароль void...

Зашифровать только логин и пароль к БД в ConnectionString в app.config
Здравствуйте. Находил массу решений по шифрованию всей строки подключения, или...

Как в xNet подключить прокси с авторизацией логин, пароль?
вопрос собственно в названии.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
38
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru