Форум программистов, компьютерный форум, киберфорум
Наши страницы

C# для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 23, средняя оценка - 4.87
Alex9
Компьютерщик
51 / 138 / 7
Регистрация: 25.04.2012
Сообщений: 2,209
#1

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

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

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

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

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

Создать приложение, запрашивающее логин и пароль - C#
Мне нужно сделать программу, существует ли аккаунт(логин) или введен ли правильно пароль Логин и пароль хранятся в файлах.txt Помогите...

Разбить сообщение на логин/пароль, записать их в реестр - C#
есть программка клиент сервер,клиент отправляет на сервер логин и пароль void Connect() { try { ...

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

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

37
A1exSun
C#
55 / 55 / 1
Регистрация: 09.03.2013
Сообщений: 216
06.04.2013, 19:06 #16
Цитата Сообщение от tezaurismosis Посмотреть сообщение
Как это ещё можно понимать?
Подбору уязвимо абсолютно все. Вопрос только в том, сколько на него понадобиться времени.

Цитата Сообщение от tezaurismosis Посмотреть сообщение
Не важно, что он из себя представляет: хэш или шифр - функцию свою он выполняет (по крайней мере выполнял) - это защита данных.
Оригинально. Ознакомься: http://ru.wikipedia.org/wiki/Хеширование и http://ru.wikipedia.org/wiki/Шифрование
И в будущем не говори "расшифровать md5 хэш".

Цитата Сообщение от tezaurismosis Посмотреть сообщение
Очень ценный материал, раскрыл мне глаза на опасность использования md5. В нем нашли коллизию! Теперь весь интернет под угрозой.
0
Wolfdp
688 / 681 / 106
Регистрация: 15.06.2012
Сообщений: 2,652
Записей в блоге: 1
Завершенные тесты: 1
06.04.2013, 19:25 #17
Цитата Сообщение от A1exSun Посмотреть сообщение
Очень ценный материал, раскрыл мне глаза на опасность использования md5. В нем нашли коллизию! Теперь весь интернет под угрозой.
md5 - Слегка устаревшая технология. Плюс, так как её используют очень часто, уже многие написали себе списки, наиболее часто используемых паролей (если вообще не на все). Поэтому самый безопасный вариант - ограничить доступ к списку паролей.


Цитата Сообщение от A1exSun Посмотреть сообщение
Подбору уязвимо абсолютно все.
Да, вот только есть разница, взломать через 2 дня или через 20 лет.
0
A1exSun
C#
55 / 55 / 1
Регистрация: 09.03.2013
Сообщений: 216
06.04.2013, 19:35 #18
Цитата Сообщение от Wolfdp Посмотреть сообщение
md5 - Слегка устаревшая технология. Плюс, так как её используют очень часто, уже многие написали себе списки, наиболее часто используемых паролей (если вообще не на все).
Ну так эти списки применимы ко всему, а не только к md5. И разница во времени их перебора для разных алгоритмов не слишком велика.
Цитата Сообщение от Wolfdp Посмотреть сообщение
Поэтому самый безопасный вариант - ограничить доступ к списку паролей.
Использовать пароли которые вряд ли попадутся в каком-то словаре.
Цитата Сообщение от Wolfdp Посмотреть сообщение
Да, вот только есть разница, взломать через 2 дня или через 20 лет.
Здесь зависит все от пароля. Если есть в словаре - 2 дня, нету - 20 лет.
0
Wolfdp
688 / 681 / 106
Регистрация: 15.06.2012
Сообщений: 2,652
Записей в блоге: 1
Завершенные тесты: 1
06.04.2013, 19:46 #19
Цитата Сообщение от A1exSun Посмотреть сообщение
Ну так эти списки применимы ко всему, а не только к md5.
Просто найти на md5 легче и более универсально. Насколько я знаю, при создании БД с пользователями в ASP.NET, там пароли шифруются более хитрым способом, который выдает не просто 32-символьный отпечаток, а ещё и разной длины. То есть к чему всё сводится: придумываем свой способ односторонего преобразоавния - шифруем. Теперь, когда злоумышленик получает список паролей (а этого ни в коем случае нельзя допускать!!!), то ему придется: угадать, что это такое (вероятность близка к нулю); составить список на основе алгоритма преобразования и посмотреть, что там за пароли (который будет где-то пару сотен Гбайт).

Вывод: теоретически это взламывается, на практике - нет.

P.S. Я все это дело бы возложил на ОС. Доступ к файлу - только одной учетной записи, под которой крутится сервис доступа.
1
A1exSun
C#
55 / 55 / 1
Регистрация: 09.03.2013
Сообщений: 216
06.04.2013, 20:10 #20
Цитата Сообщение от Wolfdp Посмотреть сообщение
Просто найти на md5 легче и более универсально. Насколько я знаю, при создании БД с пользователями в ASP.NET, там пароли шифруются более хитрым способом, который выдает не просто 32-символьный отпечаток, а ещё и разной длины. То есть к чему всё сводится: придумываем свой способ односторонего преобразоавния - шифруем. Теперь, когда злоумышленик получает список паролей (а этого ни в коем случае нельзя допускать!!!), то ему придется: угадать, что это такое (вероятность близка к нулю); составить список на основе алгоритма преобразования и посмотреть, что там за пароли (который будет где-то пару сотен Гбайт).

Вывод: теоретически это взламывается, на практике - нет.

P.S. Я все это дело бы возложил на ОС. Доступ к файлу - только одной учетной записи, под которой крутится сервис доступа.
Найти на md5 что? Словари это обычные текстовые файлы со словами через перенос. Или ты про ПО для перебора? Пишется руками. С многопоточностью, блэкджеком и шлюхами
Мое мнение - свой велосипед изобретать не нужно. Он будет лишь жалким подобием и с множеством уязвимостей, взять те же коллизии.
Угадать что это такое тоже зависит от злоумышленника. Там свои способы. На практике взламывается.
А вот когда видно что там md5, сразу все становится ясно и может вообще пропадет желание чего-то подбирать.
В общем, лучше использовать надежные популярные алгоритмы.
0
Wolfdp
688 / 681 / 106
Регистрация: 15.06.2012
Сообщений: 2,652
Записей в блоге: 1
Завершенные тесты: 1
06.04.2013, 20:28 #21
Цитата Сообщение от A1exSun Посмотреть сообщение
Мое мнение - свой велосипед изобретать не нужно. Он будет лишь жалким подобием и с множеством уязвимостей, взять те же коллизии.
Ну к примеру: делаем хэш пароля (password), потом делаем хэш пароля в обратном порялке (drowssap), потом просто делаем побитовое ИЛИ. Думаю, колизий тут явно нет. А вот ваш стандартный словарь уже можно выкинуть.
0
A1exSun
C#
55 / 55 / 1
Регистрация: 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
688 / 681 / 106
Регистрация: 15.06.2012
Сообщений: 2,652
Записей в блоге: 1
Завершенные тесты: 1
06.04.2013, 20:49 #23
Цитата Сообщение от A1exSun Посмотреть сообщение
При переборе просто сверять с hash() | hash(reverse(word))
Соглашусь, вот только вся проверка займет в разы дольше, чем обычная. Плюс, ещё нужно знать, о том, что в сервисе идет именно такая проверка. Вполне возможна такая ситуация: хакер получает часть таблицы, где хранятся пароли, видит в них md5-подобные записи и думает "ага! это же хэши паролей! где-то у меня есть словарь для перевода..." Запускается поиск соответствий(который ой какой долгий), генерируются входные пароли. И потирая руки, пытается зайти - а не тут то было.
0
A1exSun
C#
55 / 55 / 1
Регистрация: 09.03.2013
Сообщений: 216
06.04.2013, 21:44 #24
Цитата Сообщение от Wolfdp Посмотреть сообщение
Соглашусь, вот только вся проверка займет в разы дольше, чем обычная. Плюс, ещё нужно знать, о том, что в сервисе идет именно такая проверка. Вполне возможна такая ситуация: хакер получает часть таблицы, где хранятся пароли, видит в них md5-подобные записи и думает "ага! это же хэши паролей! где-то у меня есть словарь для перевода..." Запускается поиск соответствий(который ой какой долгий), генерируются входные пароли. И потирая руки, пытается зайти - а не тут то было.
В 2 раза, не так и много.
Узнать тип хэширования тоже возможно, в случае с веб-сайтом, имея доступ к БД мы наверняка имеем доступ и к коду, в случае с десктопным ПО есть дизассамблер. Или регистрируем своих пользователей и потом анализируем полученные хэши наших паролей.

В общем, что-то мы уже не по теме.
0
Wolfdp
688 / 681 / 106
Регистрация: 15.06.2012
Сообщений: 2,652
Записей в блоге: 1
Завершенные тесты: 1
07.04.2013, 00:17 #25
Цитата Сообщение от A1exSun Посмотреть сообщение
Узнать тип хэширования тоже возможно, в случае с веб-сайтом, имея доступ к БД мы наверняка имеем доступ и к коду
Думаю на этом этапе можно смело сказать - безопасность на уровне 0.
0
tezaurismosis
Администратор
Эксперт .NET
8246 / 3739 / 506
Регистрация: 17.04.2012
Сообщений: 8,423
Записей в блоге: 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 / 1
Регистрация: 09.03.2013
Сообщений: 216
07.04.2013, 17:33 #27
Цитата Сообщение от tezaurismosis Посмотреть сообщение
Прелестно, но говорить "расхэширование" я не буду. Ещё раз повторюсь: от этого смысл слова не пропадает. Поэтому: "MD5-хэш сейчас легко расшифровать"
"Расхэшировать" тоже невозможно. Снова посылать в вики?

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

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

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

Добавлено через 1 минуту
Цитата Сообщение от A1exSun Посмотреть сообщение
Хэши не расшифровываются.
не расшифровываются, как обычные шифры, но это и не нужно, при проверке по хешу нахождение хешколлизии по хешу легального пароля есть расшифровка хеша.
0
07.04.2013, 18:04
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.04.2013, 18:04
Привет! Вот еще темы с ответами:

Авторизация пользователя. Как хранить логин и пароль - C#
Всем добрый день! Наконец-то добралась до авторизации пользователя. Отсюда вопрос: Где и как хранить логины и пароли? хочется в файле...

Доступ к сетевой папке, указав логин и пароль удаленного пользователя - C#
Приветствую. Столкнулся с таким вопросом - в сети есть папка, доступ к ней есть не у всех. Естественно, когда я обращаюсь к ней из...

Логин;пароль из txt - C#
Есть txt в котором лежит список вида: логин0;пароль0 логин1;пароль1 и т.д. Небходимо использовать их (поочерёдно) в работе...

Программная авторизация на сайте, зная свои логин и пароль - C#
Здравствуйте. Как программно авторизоваться на сайте, например www.cyberforum.ru, зная свои логин и пароль. То есть, я в WebBrowser перешёл...


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

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

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