Comments 40
Возможно у меня совсем уже ночь, но я верно понял, что единственная вещь, которая действительно неизвестна злоумышленнику — четырехзначный пин?
Идея необычная и интересная, но лично я вижу тут концептуальную проблему: вы считаете, что информация о пароле не хранится нигде, но на самом деле, информация о пароле хранится везде, но не вся(пин у вас в голове).
Я не очень понял про координаты. Это ваши координаты или сервера? В первом случае, они будут меняться, как и пароль. Во втором — они доступны всем в интернетах.
А теперь досадная часть: вы когда-нибудь перебирали пароли? Не брутфорся сайт, а имея базу хэшэй. Я писал простенькую софтину, которая перебирала пароли для одной базы(не злого умысла ради, а чсв для), где люди таки научились к 2013-му году делать hash(hash(pass)+user_id). Хоть это и заставило меня брутить месяц(мне лень было использовать gpu), но я получил более 80% паролей.
Скорее всего, Hashcat или кто-нибудь еще так умеют(мне сильно мешал id юзера и мне приходилось перебирать сильно больше, чем если бы была обычная соль), да еще и на gpu, но не суть.
Идея в том, что брутфорсить можно долго и упорно. В вашем случае это не так сложно. Я бы впал в депрессию, если бы узнал, что есть целая база подобных паролей. Ну и писал бы свой брутфорсер.
Но, опять же, возможно я неверно понял концепцию, тогда извиняюсь
Идея необычная и интересная, но лично я вижу тут концептуальную проблему: вы считаете, что информация о пароле не хранится нигде, но на самом деле, информация о пароле хранится везде, но не вся(пин у вас в голове).
Я не очень понял про координаты. Это ваши координаты или сервера? В первом случае, они будут меняться, как и пароль. Во втором — они доступны всем в интернетах.
А теперь досадная часть: вы когда-нибудь перебирали пароли? Не брутфорся сайт, а имея базу хэшэй. Я писал простенькую софтину, которая перебирала пароли для одной базы(не злого умысла ради, а чсв для), где люди таки научились к 2013-му году делать hash(hash(pass)+user_id). Хоть это и заставило меня брутить месяц(мне лень было использовать gpu), но я получил более 80% паролей.
Скорее всего, Hashcat или кто-нибудь еще так умеют(мне сильно мешал id юзера и мне приходилось перебирать сильно больше, чем если бы была обычная соль), да еще и на gpu, но не суть.
Идея в том, что брутфорсить можно долго и упорно. В вашем случае это не так сложно. Я бы впал в депрессию, если бы узнал, что есть целая база подобных паролей. Ну и писал бы свой брутфорсер.
Но, опять же, возможно я неверно понял концепцию, тогда извиняюсь
+4
Возможно у меня совсем уже ночь, но я верно понял, что единственная вещь, которая действительно неизвестна злоумышленнику — четырехзначный пин?
Нет. Имя пользователя, пин, размер пароля (долгота и широта опционально), даже последовательность может быть разная. Ну и кусок от хэша с любого индекса. Причем пин вы можете придумать скольугодно длинный буквенно-цифровой
Я не очень понял про координаты
Координаты вы можете выбрать сами, какие вам нравятся. Например лбимое вам место.
где люди таки научились к 2013-му году делать hash(hash(pass)+user_id)
Смотрите, в данном случае, pass на сайте это наш сгенерированный пароль, который так-же является результатом некой хэш-функции.
Но, опять же, возможно я неверно понял концепцию, тогда извиняюсь
Концепция — перестать хранить пароли
0
Ну, тогда я все верно понял. Единственная действительно неизвестная вещь это пин и, раз уж вы настаиваете, то формат.
Проблема в том, что большинство людей очень похожи. И будут придумывать одинаковые комбинации.
Перебрать это все не такая уж и проблема. Зависит от того как люди будут придумывать это все. Будет ли у них код, в котором они это велосипедят? Или будет менюшка гуевая с настройкой всего.
Но в любом случае 80% оставят дефолтные настройки.
Но человек снизу верно сказал, что это security through obscurity. К тому же, тогда частью хранения пароля является их формирование(ваш скриптец, который будет свой у каждого юзера)
Упрем скрипт(который юзер будет непонятно_как синхронизировать между тоннами девайсов) — получим доступ к его аккаунтам. Учтем еще, что юзеры, поверевшие в безопасность всей системы, будут использовать пин(или все другие заменяющие пароль вещи) как пин, а не как пароль и будут делать его слабым, надеясь на остальную магию. А потом будут удивляться как за 7 секунд сбрутили акк.
В итоге, вы придете к тому, что вместо пина должен быть полноценный пароль, а все остальное не гарантирует безопасность.
Вы не ушли от хранения паролей. Вы ушли от хранения паролей старыми способами. По факту, хватило бы и мастер-пароля(он будет един и у вас, тут вы его назвали ПИН) + PBKDF2 для генерации сотен паролей для других сервисов
Проблема в том, что большинство людей очень похожи. И будут придумывать одинаковые комбинации.
Перебрать это все не такая уж и проблема. Зависит от того как люди будут придумывать это все. Будет ли у них код, в котором они это велосипедят? Или будет менюшка гуевая с настройкой всего.
Но в любом случае 80% оставят дефолтные настройки.
Но человек снизу верно сказал, что это security through obscurity. К тому же, тогда частью хранения пароля является их формирование(ваш скриптец, который будет свой у каждого юзера)
Упрем скрипт(который юзер будет непонятно_как синхронизировать между тоннами девайсов) — получим доступ к его аккаунтам. Учтем еще, что юзеры, поверевшие в безопасность всей системы, будут использовать пин(или все другие заменяющие пароль вещи) как пин, а не как пароль и будут делать его слабым, надеясь на остальную магию. А потом будут удивляться как за 7 секунд сбрутили акк.
В итоге, вы придете к тому, что вместо пина должен быть полноценный пароль, а все остальное не гарантирует безопасность.
Вы не ушли от хранения паролей. Вы ушли от хранения паролей старыми способами. По факту, хватило бы и мастер-пароля(он будет един и у вас, тут вы его назвали ПИН) + PBKDF2 для генерации сотен паролей для других сервисов
+4
Ну, тогда я все верно понял.
Почему только пин, прочитайте параметры [ url.origin, username, pin, size, expired, latitude, longitude ];
Так же можно добавить гироскоп, акселератор и кучу других параметров
0
Это все информация, которая от чего-то зависит. Она не рандомная. Ее можно узнать и ЗНАЧИТЕЛЬНО упростить брутфорс.
url.origin — адрес сайта
username — юзер
expired — год/дата(сьрутить дату очень просто)
latitude/longtitude — какие-то места. И их не много. У людей будет список мест, которые они будут выбирать. Не у каждого будет лично свое место.
Вся эта информация не абсолютно рандомна. Ее можно сбрутить, потому что она от чего-то зависит. Например, часть людей будет юзать кремль. Достаточно поиметь 10к локаций и мы будем чаще всего угадывать.
Люди — не генераторы рандомных чисел и склонны генерировать одинаковые данные. С паролями мы более-менее обучились, но чтобы понять какие ошибки будут совершать люди с координатами(например), надо провести еще множество исследований, а потом еще и обучить людей новым правилам.
Одним из правил создания хорошего пароля является "не использовать личных данных", а у вас на этом много завязано.
Вам нужен password derivation(https://en.wikipedia.org/wiki/PBKDF2) и один мастер-пароль. Но и это сомнительно с точки зрения безопасности.
url.origin — адрес сайта
username — юзер
expired — год/дата(сьрутить дату очень просто)
latitude/longtitude — какие-то места. И их не много. У людей будет список мест, которые они будут выбирать. Не у каждого будет лично свое место.
Вся эта информация не абсолютно рандомна. Ее можно сбрутить, потому что она от чего-то зависит. Например, часть людей будет юзать кремль. Достаточно поиметь 10к локаций и мы будем чаще всего угадывать.
Люди — не генераторы рандомных чисел и склонны генерировать одинаковые данные. С паролями мы более-менее обучились, но чтобы понять какие ошибки будут совершать люди с координатами(например), надо провести еще множество исследований, а потом еще и обучить людей новым правилам.
Одним из правил создания хорошего пароля является "не использовать личных данных", а у вас на этом много завязано.
Вам нужен password derivation(https://en.wikipedia.org/wiki/PBKDF2) и один мастер-пароль. Но и это сомнительно с точки зрения безопасности.
+1
По-моему, это security through obscurity. Нужно исходить из того, что злоумышленнику известно о вас все — ваши алгоритмы для создания паролей, имя, фамилия, местоположение, сайты на которые вы ходите, день рождения вашей мамы и тп.
У вас получается, что секретом для злоумышленника в таком случае остается только ваш короткий пин. Который еще выходит и одинаковый для разных сайтов?
И да, последний уровень паранойи — считайте, что и ваше оборудование тоже находится под полным контролем злоумышленника. =)
У вас получается, что секретом для злоумышленника в таком случае остается только ваш короткий пин. Который еще выходит и одинаковый для разных сайтов?
И да, последний уровень паранойи — считайте, что и ваше оборудование тоже находится под полным контролем злоумышленника. =)
+7
Я повторюсь, что координаты — это значение, которое указывается вручную, например через гугл карты, размер пина — это двойка в степени уровня вашей паранойи и символы вы вольны использовать какие угодно, но поверьте, у вас даже с цифрами ничего не выйдет
0
Насколько я понимаю, то вы используете координаты, которые возвращаются гуглом по определённому поисковому запросу. Не знаю, как гугл, но я сталкивался с изменениями координат для запроса (проще говоря, центра города) на какие-то там пару метров. Если я правильно понимаю, то в таком случае резко херятся все пароли ко всем ресурсам. То же самое для смен урлов или даже http на https, но локально — придётся менять пароль на самом ресурсе.
В целом, идея интересна с точки зрения самого интереса. Насколько это целесообразно — уже много раз писалось.
В целом, идея интересна с точки зрения самого интереса. Насколько это целесообразно — уже много раз писалось.
+2
Насколько я понимаю, то вы используете координаты, которые возвращаются гуглом по определённому поисковому запросу.
Как я понял, это не так. "Координаты" задаются пользователем ручками, по смыслу это аналог пина, просто задаётся не сразу цифрами, а через гуй на карте.
0
Совершенно верно, хоть кто-то понял
0
Ну хорошо, допустим логика такая: вводим название города, получаем координаты -> вписываем вручную в нужное поле.
Открываем другой комп (новый, взамен украденного/потерянного/переустановка системы/etc) — вводим название города (координаты-то не помним), используем найденные — а они оп, и изменились. Вот о чём речь, нестабильно это как-то, тем более если речь идёт о генерации паролей.
Открываем другой комп (новый, взамен украденного/потерянного/переустановка системы/etc) — вводим название города (координаты-то не помним), используем найденные — а они оп, и изменились. Вот о чём речь, нестабильно это как-то, тем более если речь идёт о генерации паролей.
0
все происходит визуально, вы перетаскиваете маркер на карте в нужную точку. Все абсолютно интерактивно.
Посмотрите это
0
Генерация пароля по рандомным датам, получаемым тыканьем в произвольную точку, не подходит для повторного ввода этого же пароля — невозможно ткнуть мышкой в точно ту же координату. Следовательно, придётся 1) порезать карту на достаточно крупные клетки (ограничить разрядность координаты) чтобы нивелировать точность позиционирования (юзер не захочет ломать голову попал ли он в нужный квадрат получив сообщение "введеённые вами данные не подходят"), и 2) пользователю таки придётся помнить куда он ткнул — для каждого ресурса человек неспособен помнить координаты для каждого из них, следовательно будет использовать 1, 2 максимум 3 места.
Я до сих пор не понимаю, как пара цифр будет надёжнее дополнительных пары символов из более широкого словаря в обычном пароле.
Я до сих пор не понимаю, как пара цифр будет надёжнее дополнительных пары символов из более широкого словаря в обычном пароле.
0
1, 2 максимум 3 места.
Если ввести адрес (город, улица, дом) то маркер попадет в то же место с теми же координатами. Конечно, я получаю их не с точностью до метра, но тем не менее, сколько вы помните различных адресов с точность до дома? Я уверен что десятки.
0
> маркер попадет в то же место с теми же координатами.
Вы можете гарантировать, что это будет так в течение хотя бы года, и что при очередном апдейте карт координаты дома не съедут? Вы же в курсе, что карты основываются и периодически обновляются на базе множества источников данных — аэрофотография, спутниковые снимки, вклад добровольцев на Google Map Maker, возможно импорт данных с Wikimapia, OpenStreetMap где тоже добровольцы вносят редакции?
Чтобы сделать проблему более выпуклой: какую сумму денег вы бы поставили на кон за то, что координаты не станут причиной массовой утери паролей?
Вы можете гарантировать, что это будет так в течение хотя бы года, и что при очередном апдейте карт координаты дома не съедут? Вы же в курсе, что карты основываются и периодически обновляются на базе множества источников данных — аэрофотография, спутниковые снимки, вклад добровольцев на Google Map Maker, возможно импорт данных с Wikimapia, OpenStreetMap где тоже добровольцы вносят редакции?
Чтобы сделать проблему более выпуклой: какую сумму денег вы бы поставили на кон за то, что координаты не станут причиной массовой утери паролей?
0
Адресов помню на память буквально парочку — остальные я помню как добраться, но не почтовый адрес. Потому что письма (бумажные) давно не пишу никому, а в гости — захаживаю :)
0
Мне кажется, что часть вопросов к статье отпадёт, если сказать что пин — это не обязательно 4х-значное число, а вполне себе может быть неким очень непростым мастер-паролем.
Я как раз использую похожий метод хренения паролей, вместо пина — мастер пароль (сам по себе хороший и рандомный — это единственное что надо запомнить). Только в результирующем пароле использую шестнадцатеричные цифры — при достаточном количестве символов секурность не уменьшается, а набирать пароль на разного рода мобилках становится в разы проще.
Я как раз использую похожий метод хренения паролей, вместо пина — мастер пароль (сам по себе хороший и рандомный — это единственное что надо запомнить). Только в результирующем пароле использую шестнадцатеричные цифры — при достаточном количестве символов секурность не уменьшается, а набирать пароль на разного рода мобилках становится в разы проще.
0
Автор, да ты гений! Это ведь теперь вместо пароля можно запоминать не последовательность символов, а любое место на земле. Подобрать в этом генераторе уникальную настройку и брутфорс таких параметров становится совсем нерациональным. А если ещё и пинкод менять относительно времени с какой-нибудь привязкой. То всё, про брутфорс забываем, будто его и не существует.
Мне вот было лень задумываться о своей паранойи, но с таким методом я пожалуй подтяну свою информационную безопасность.
Мне вот было лень задумываться о своей паранойи, но с таким методом я пожалуй подтяну свою информационную безопасность.
-6
Как будут обрабатываться такие сценарии:
* ресурс поменял адрес (пример: «odnoklassniki.ru» >> «ok.ru»)
* один и тот же аккаунт используется на нескольких родственных ресурсах, но там нет единого федеративного логона
* пользователь не стал записывать longitude/latitude на бумажке, надеясь на гуглмап, а однажды ночью наши учёные чуть-чуть изменили гравитационное поле Земли, после чего гуглмап внёс небольшие поправки в свои карты, и теперь потаённое место пользователя имеет слегка другие координаты (ну тут просто: надо ограничить точность координат).
* пользователь плагина замучался каждый раз искать на карте село Гадюкино, в котором он когда-то жил, творил и создавал пароли, и решил использовать координаты Кремля. Нужно перегенерить пароли, но страница смены пароля имеет другой адрес, нежели страница входа — например, у гугла вход на accounts.google.com, а смена пароля — на myaccount.google.com.
* ресурс поменял адрес (пример: «odnoklassniki.ru» >> «ok.ru»)
* один и тот же аккаунт используется на нескольких родственных ресурсах, но там нет единого федеративного логона
* пользователь не стал записывать longitude/latitude на бумажке, надеясь на гуглмап, а однажды ночью наши учёные чуть-чуть изменили гравитационное поле Земли, после чего гуглмап внёс небольшие поправки в свои карты, и теперь потаённое место пользователя имеет слегка другие координаты (ну тут просто: надо ограничить точность координат).
* пользователь плагина замучался каждый раз искать на карте село Гадюкино, в котором он когда-то жил, творил и создавал пароли, и решил использовать координаты Кремля. Нужно перегенерить пароли, но страница смены пароля имеет другой адрес, нежели страница входа — например, у гугла вход на accounts.google.com, а смена пароля — на myaccount.google.com.
+6
вам никто не запрещает изменить пароль, или брать его со своего домена, например https://google.bronx.me, а вставлять куда захотите
0
Получается основные вопросы к плагину, а не к концепту?
0
Скорее наоборот, вопросы к концепту, потому что в его основании лежит генерация секрета на основе данных, которые
а) можно угадать, близко зная человека (домашний адрес), а остаток секрета (пин, срок годности, которые пользователь наверняка будет использовать многократно) легко забрутфорсить
б) являются эфемерными (URL сервиса, который может измениться; координаты, выдаваемые сторонней и неподконтрольной службой).
Плюс не учитывается садистская изощрённость админов, придумывающих всё новые и новые дурацкие политики для паролей. Пароли, сгенерённые без учёта местной политики сайта, будут часто упираться в ошибку валидации («недопустимый символ», «недопустимая длина», «недопустимая комбинация» и т.п), а способа подсказать плагину правильный алгоритм на лету — нету. Если плагин покрывает 80% случаев, но оставшиеся 20% придётся делать вручную и помнить самостоятельно, то лучше всё сразу делать вручную, чем запоминать, где пароль автоматический, а где нет.
а) можно угадать, близко зная человека (домашний адрес), а остаток секрета (пин, срок годности, которые пользователь наверняка будет использовать многократно) легко забрутфорсить
б) являются эфемерными (URL сервиса, который может измениться; координаты, выдаваемые сторонней и неподконтрольной службой).
Плюс не учитывается садистская изощрённость админов, придумывающих всё новые и новые дурацкие политики для паролей. Пароли, сгенерённые без учёта местной политики сайта, будут часто упираться в ошибку валидации («недопустимый символ», «недопустимая длина», «недопустимая комбинация» и т.п), а способа подсказать плагину правильный алгоритм на лету — нету. Если плагин покрывает 80% случаев, но оставшиеся 20% придётся делать вручную и помнить самостоятельно, то лучше всё сразу делать вручную, чем запоминать, где пароль автоматический, а где нет.
0
А как вы меняете пароли?
И что будете делать, если злоумышленник узнает ваш способ генерации паролей?
И что будете делать, если злоумышленник узнает ваш способ генерации паролей?
0
А как вы меняете пароли?
У меня пароль использует временную метку и спустя заданный период, он меняется, от чего необходимо сбрасывать его через стандартную форму сброса паролей.
И что будете делать, если злоумышленник узнает ваш способ генерации паролей?
Пока не случалось (за 3 года), но думаю изменю алгоритм генерации
-1
На этом сайте справа есть генератор паролей. Суть: придумываем ключ и вводим его (один для всех ресурсов) и URL. Пароли для каждого URL генерятся разные. Но для пары ключ-URL пароли одинаковые. Можно пользовать для запоминания паролей на всяких форумах и прочих не содержащих финансовую информацию сайтах.
0
Пользователи KeePass уже давно перестали париться, и только все остальные всё продолжают что-то выдумывать...
+4
третья стадия
-1
Или, как вариант, keepassx, только вопросы синхронизации базы между устройствами и удобной интеграции с браузерами для автозаполнения остаются открытыми.
0
Извиняюсь за ссылки на себя, но вот предложение для интеграции со всем, чем угодно: https://habrahabr.ru/post/276967/
А вот синхронизация напрямую влияет на безопасность уже, к сожалению.
А вот синхронизация напрямую влияет на безопасность уже, к сожалению.
0
> Где функция sha512 — генерирует хэши алгоритмом sha512, а функция Base85 — преобразует шестнадцатеричную систему счисления в восьмидесятиричную
Надо не «из шестнадцатеричной», а бинарный сырой хеш брать и переводить. А то бредом попахивает.
Надо не «из шестнадцатеричной», а бинарный сырой хеш брать и переводить. А то бредом попахивает.
-2
Что если мне надо сменить пароль? Не через месяц и не через год, а уже, потому что он утёк. В любой паролехранилке я это сделаю, а тут — нет. Что если сайт придумал какие-то свои требования для сочетания символов в пароле? 2 больших буквы, 2 маленьких, 2 кириллических и т.п.? Паролехранилка справится, штука из статьи — нет. Что если в штуке сменилась соль по времени, а на нужном сайте как раз сломался сброс паролей? На него будет не зайти, пока не починят, а мне надо экстренно, срочно.
Вывод — придумана глупость. Поставьте кипасс на криптодиск, в экселе наколдуйте парольную карточку 10х20 на миллион комбинаций, туда впишите мастер-пароли диагональю или змейкой и не морочьте себе голову.
Вывод — придумана глупость. Поставьте кипасс на криптодиск, в экселе наколдуйте парольную карточку 10х20 на миллион комбинаций, туда впишите мастер-пароли диагональю или змейкой и не морочьте себе голову.
+1
я не предлагаю конкретный подход, это всего лишь идея, ваша аггрегирующая функция может быть какой вам угодно и генерировать по вашему желанию то, что вы захотите, хоть 10 запятых подряд
Вывод — Вы не поняли ничего
Вывод — придумана глупость.
Вывод — Вы не поняли ничего
-1
Вы странный. У меня никакого «желания» нет, это у разных сайтов разные требования к паролям. Которые принципиально противоречат друг другу, так что универсальной функции для генерации пароля для любых сайтов быть не может. При всём желании. О чём я и написал. На одном сайте максимальная длина пароля 8 символов, на другом минимум 12, на одном требуют кириллицу, на другом это запрещено.
+1
UFO just landed and posted this here
Sign up to leave a comment.
50 оттенков паранойи или как хранить пароли не сохраняя