Pull to refresh

Comments 27

Мне кажется самое неверное здесь -- мастер-пароль. Единая точка отказа. Это не только "One Ring to rule them all." Это еще и "One for the Dark Lord ". Когда надежность хранения твоего мастер пароля и всех с ним связаных зависит от программы, которую ты не контролируешь.

Избежать необходимости запоминать сложный пароль - это запоминать (записывать и хранить в разных местах) простые и генерировать на основании них сложные.

Вы абсолютно правы, и я именно об этом и пишу, если у нас одно кольцо (мастер пароль) управляет всеми (обычными паролями) то все риски сосредотачиваются в одном месте.

И как вы и сказали во второй части вашего комментария, ровно это и делает схема разделения секрета Шамира. Мой недочёт в том что я не объяснил больше деталей в статье, как она работает думая что все понимают этот момент, хотя большинство скорее всего видят её впервые

Я говорю, если есть внешняя программа которую ты не контролируешь - это уже зло. Надо чтобы генерация проходила в мозгу + доступные в любом месте свои скрипты. А можно еще и публично доступный текст воспринимать как огромный шифроблокнот.
100500 разных решений миллиона пользователей лучше чем одна программа, которую можно взломать.
Другой вопрос эти 100500 решений по хорошему тоже нужно проверить на уязвимость. Поэтому тему генерации паролей стоит обсуждать... А вот давать некую панацею идея так себе.

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

Примеры:
- скачиваете любой sha256 генератор на телефон, берете ваш пароль: 321, вгоняете его в программу и он вам выдает супер мега надежный пароль: 8d23cf6c86e834a7aa6eded54c26ce2bb2e74903538c61bdd5d2197997ab2f72
- или более интересные варианты:
* открываете мой сайт, или альтернативный
* отключаете интернет
* вводите пароль, программа генерирует QR коды, сохраняете их или распечатываете
* закрываете страничку, подключаете интернет
в такой схеме невозможно у вас ничего украсть, и не надо мозг использовать в качестве калькулятора.

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

Самый эффективный способ хранения паролей - это иметь возможность их восстановления при утрате. Пусть лучше вы потратите время на восстановление сложного ("надежного") пароля и злоумышленникам будет сложно заполучить их, чем иметь мастер пароль и всякие удобства.

Безопасность обратно пропорционально удобству.

Да, восстановление это самый критичный параметр наравне с защитой от взлома. Поэтому мы и хотим улучшить сразу несколько параметров: резервное копированиес мастер-пароля с репликацией, аналог двухфакторной аутентификации для восстановления мастер пароля, хранение паролей только на устройствах пользователей(как у оффлайн менеджеров паролей), end to end encryption услиливающий безопасность тем что расшифровать сообщение посланное одним устройством другому может только устройство получатель, ну и классическое симметричное шифрование chacha20 poly 1305.

Но об этом будет в следующей статье

Если вместо мастер-пароля часто используется биометрия, то риск забыть мастер-пароль увеличивается.

А теперь представим ситуацию: человек находится в путешествии. При нём только 1 девайс - телефон. При попытке сфотографировать город, телефон случайно падает на землю и перестаёт работать. Билет на самолёт был в электронном виде. Его можно распечатать в отеле, но надо войти в аккаунт. Из-за стрессовости именно в этот момент мастер пароль вылетает из головы.

Даже при наличии второго девайса, в экстренной ситуации доступ не восстановить.

Так для таких событий существует в подовляющем виде ф-ия "Восстановления пароля", особенно если аккаунт к номеру телефона как второй фактор привязан, то проблем нет и делается считанные минуты

Применение второго фактора авторизации в качестве единственного необходимого для «Восстановления пароля» превращает этот дополнительный фактор в единственный достаточный для авторизации.
Потеря контроля над этим вторым фактором (номером телефона) даже на короткое время (банальное оглашение четырёх цифр из смс незнакомым) равнозначно потере контроля над всеми аккаунтами привязанными к этому второму фактору и использующими только его для «Восстановления пароля».

Так я и не говорил, что единственная. Могут дать выбор: e-mail или телефон.
По поводу "потеря контроля над этим вторым фактором", ну поэтому существуют договрённость де-факто об умалчивании некоторых моментов безопасности. На это и на целены социальная инженерия. Многие момент просто приходят рано или поздно к тому, что ну это вот так дожно работать, дальше уже некуда, иначе уже не user-friendly и геморрно для пользователя, и тут уже вся надежда на тебя и твоё молчание. Это что про всякий кода по смс, токены авторизации, сессионные куки и многое другое.

Вы предложили использовать номер телефона, уже привязанный как второй фактор, в процедуре «Восстановления пароля» в качестве достаточного фактора для решения всех проблем и дополнительно ещё расширяете это выбором или e-mail или телефон, но никак не вместе. Получение контроля над любым таким достаточным фактором множит на ноль существование первого фактора (пароля) и любых других необязательных факторов. Добавление любой публично доступной, в том числе в результате утечек, информации в процедуру восстановления не сильно усложняет направленный перехват управления.
Потерять контроль над номером телефона можно очень разными способами: телефон попал в руки постороннего человека добровольно (попросили позвонить, лежал на столе без внимания и т.д.) или принудительно (украден в метро, ограблен в подворотне, изъят для досмотра), смс перехвачен на этапе доставки как в сети оператора так (уязвимости протоколов) и до попадания в сеть оператора (взлом смс-шлюза, как было с сигналом), симка перевыпущена по доверености или номер возвращён оператором в пул номеров после неуплаты. Именно по этому и нужны несколько независимых факторов.
Безопасность и удобство никогда не были на одной стороне и всегда искался некоторый компромисс или осознанная готовность пойти на определённые неудобства ради повышения безопасности.

Именно! Нельзя жертвовать своими паролями ради удобства восстановления. Мир постепенно движется к self custody, только твои данные только твоя ответственность. Когда у тебя есть только твой пароль никто его восстановить не сможет, нужно придумывать системы где у пользователя будет тоже удобство и надежность что и у облачного провайдера но все данные будут у пользователя и это интересная и сложная задача

У google один из методов двухфакторки - это карточка с одноразовыми кодами. Эта карточка печатается, и может быть вложена в бумажник, который при себе почти так же часто, как и телефон. Если добавить к этой схеме ещё и добавить разделение мастер пароля по Шамиру, но в аналоговом виде - на бумажках, то ситуация в путешествием и утратой телефона становится лучше. А если ещё части пароля на бумажках задекорировать в виде списка достопримечательностей, буклета гостиницы, или шпаргалки-разговорника, то помимо того, что злоумышленику придётся получить доступ ко всем вашим вещам, ему ещё потребуется масса времени, что бы понять где важная информация, а где - нет.

У Вас подозрительная активность и попытка входа из Бангладеш поэтому мы заблокируем ваш аккаунт, сейчас на (ваш разбитый и без роуминга)телефон придет СМС и вы сможете разблокировать через 24 часа

ну телефон может сломаться, а симку можно переставить. Сейчас очень многое на номере телефоне завязано, потому что это в 98% доступно и наименее подвержено к критичным ситуациям. Да, те кто на совсем уезжает из своей страны в другую - те столкнуться с этой проблемой.
UPD: Мегафон для таких целей можно использовать VoIP, что уже убирает разделение на роуминг и не роуминг

Номер телефона не принадлежит абоненту, а выдаётся в аренду... Месяца через 3 неактивности, даже с положительным балансом, номера вы лишаетесь, а с ним и всех остальных возможностей, в том числе и по восстановлению паролей. Нужно избегать всего, что вам не принадлежит - номер телефона, dns-имя в обычном интернете и пр.

Тогда я не понимаю тенденцию даже того же FAANG в восстановлении аккаунта по телефону

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

Кстати, а с другой стороны. А почему нас как разработчиков да и даже сам бизнес должно волновать, как рапоряжился с тем же самым телеофном пользователь?Ну, как был пример, с потерей телефона. Ну так это проблемы пользователя. Мы же не может абсолютно все действия его предусмотреть. Наша задача, чтобы данные его не вскрылись, когда кто-то к нам вломится с непринадлежещего пользователю устройства. А то что кто-то, к примеру, потреля телефон и не заблочил симку, ну извините ... "Ваня - он и в Африке Ваня".
Или пользователь выложил данные в открытый доступ. Система разве отвественная за то пользователь свои данные выложил? Никакая система это не предусмотрит. Это тогда излишняя нагрузка на систему, которая не опрадана ничем.
Просто система идёт с пользователм на компромисы. Что вот данные, если их разглашить или передавать 3-м лицам не будете, то мы гарантируем вам безопасность. А то что вы распорядились ими безотвественно, то уже мы ничем не поможем. Система же не подталкивала пользователя к таким действиям

Всегда есть пространство для улучшения, всегда можно попытаться улучшить жизнь человеков, иначе бы на конях ездили бы до сих пор :)

В остальном всё так, конечно же

Билет на самолёт (посадочный) всегда можно распечатать в аэропорту, на стойке регистрации без регистрации и СМС, нужен только паспорт.

логин-пароль это упрощенный доступ к виртуальным данным он не должен быть основным

Есть ли у человека ресурсы мозга для запоминания какой-то фразы или строчки из песни?

Есть ли у человека ресурсы мозга на запоминание небольшого (10-12 символов), и не очень сложного пароля?

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

Короче, всё это есть в расширении, о котором я писал в комменте к прошлой статье.

PwdHash если я правильно понял принцип его работы позволяет как-бы усилить пароль, захешировав его. Так как по хешу невозможно узнать изначальное значение то это добавляет безопасности. Собственно эта идея и лежит в основе безопасности ластпасса, они хешируют пароль а потом хешируют хеш и так 100 тысяч раз, в итоге получается длинный псевдослучайный пароль который взломать невозможно. Но так как современные видюхи неверлятно мощные атака в лоб возможна, я об этом написал в статье. В любом случае пвд хеш не избавляет от необходимости помнить мастер пароль и непонятно как применить этот подход к сид фразам например

Да, к сид-фразам это не применить. Их надо хранить где-то.

А вот пароли от сайтов без проблем генерятся заново.

100 000 раз - это дешёвый маркетинг, хватит и пары раз, хэширование ведь... Обходите стороной, все что мажут медом для привлечения...

100 тысяч раз нужны чтобы замедлить перебор. Брутфорс пары раз очевидно будет в 50 тысяч раз быстрее чем брутфорс 100 тысяч итераций.

Sign up to leave a comment.

Articles