Как стать автором
Обновить

Комментарии 100

Лень расчеты делать, какова вероятность подбора в зависимости от кол-ва этапов, при постоянном «щелчке» по центру, не смотрели?
Тот же вопрос на языке вертелся. И плюс еще очень хотелось бы посмотреть, насколько данный метод парольной защиты удобен для пользователя. И при запоминании иконок, и при их визуальном поиске на экране.
Я выложил малую часть своего диплома, хотел поделиться самим методом аутентификации. По поводу удобности, был проведен метод экспертных оценок, различным пользователям было предложено оценить трудность поиска парольных иконок на панели аутентификации при степенях её заполнения от 40% до 100%. И пользователи по 10 бальной шкале оценили трудность поиска парольных иконок, по усредненным оценкам было видно, что самая оптимальная удобность поиска иконок лежит в интервале от 40%-до 60%.
По поводу клика в центре экрана, вероятность взлома не выяснял. на досуге проверю
проверьте распределение вашего ГПСЧ, гистограмма которого скорее всего является Гауссовским, то есть парольная иконка всегда будет всегда ближе к центру
Обычно, программные ГПСЧ, всё же, равномерные.
А вот сильно поднять вероятность взлома анализом треугольников, по-моему, совсем не сложно.
НЛО прилетело и опубликовало эту надпись здесь
Лень расчеты делать, какова вероятность подбора в зависимости от кол-ва этапов, при постоянном «щелчке» по центру, не смотрели?

Самый банальный способ кликанья и один из самых эффективных по взлому, вероятность взлома увеличилась в 2 раза. Выход здесь только один, привязать логику к появлению парольных иконок, т.к. в данный момент их расположение подчиняется равномерному закону.
Мне кажется при привязке к паролю возможна ситуация, когда алгоритм привязки станет известен, что приведёт только к ускорению взлома. Лучше исходить из того, что алгоритм уже заранее известен взломщику (по аналогии с алгоритмами шифрования / хеширования).
Опять же, сейчас провел замер на 1000000 кликов, если программным способом ломать, то да, вероятность взлома возрастает в 2 раза.
Ещё можно изначальный набор сделать 4 иконки, тогда для 4-х выборов пользователя каждая комбинация 3-х иконок не будет похожей на предыдущую. Ещё можно и одинаковые иконки показывать.

И я бы ещё рассмотрел вариант полностью замостить поле иконками и просто знакомыми иконками окружать с трёх сторон искомую.
По сети передается только координаты щелчка мышкой в окне ввода пароля
примерно так работают некоторые клиент-банки, предлагающие ввести пароль с виртуальной клавиатуры (порой c нестандартной раскладкой). Только это скорее защита от кейлоггеров, чем от перехвата по сети (транспортные вопросы гораздо эффективнее решать другими методами)
Кроме того, пароль невозможно подсмотреть, так как, даже стоя у пользователя за плечом, нельзя узнать, внутри какого треугольника он кликнул. Следовательно, единственным возможным способом взлома иконографической защиты является случайный щелчок в окне ввода пароля.
Несколько наивно. Наблюдателю с видеокамерой и компьютером задача проблемы не составит.
По сценарию пользователь несколько раз тыкает в треугольник, образованный одними и теми же пиктограммами.
Число всех возможных треугольников не столь уж и велико. Для 100 элементов возможно всего 161700 сочетаний по 3.
По нескольким выборам пользователя вполне реально определить пиктограммы, образующие искомый треугольник.
А если учесть психологические факторы (кликанье в центр), то задача еще упростится.
Искомых иконок может быть гораздо больше трёх. При установке такого пароля можно просить пользователя задать, например, 10 ключевых иконок, из которых для каждого этапа будет выбираться 3-4 случайных.
Кем выбираться?
Пользователем? (на экран всегда выводится полный набор иконок, а пользователь в уме выбирает, какие из них он будет использовать на этот раз). Отличный план: анализ вы конечно затрудните, но не принципиально. Зато вероятность ложноположительного срабатывания возрастет весьма сильно: сервер-то не знает, какие иконки выбрал пользователь, поэтому за правильный ответ будет засчитываться попадание в ЛЮБОЙ из возможных треугольников.

Сервером? (сервер заранее выводит на экран случайный набор иконок). Вообще шикарный план, дающий возможность узнать «пароль» без всякого подглядывания за пользователем, пользуясь лишь подсказками со стороны сервера. Какими подсказками? Набор иконок выводится случайный, но в нем ВСЕГДА присутствуют РОВНО три составляющих «пароль». Обновляйте страницу, собирайте статистику, анализируйте.
Выбираются сервером. На каждом этапе по крайней мере в моей реализации выводился не полный набор иконок, а может процентов 20 каких. При этом искомых могло быть не только три, но и 4, никто не запрещает и 5 выводить. Правда, при достаточно большом количестве статистических данных всё равно наверняка можно догадаться какие иконки искомые. Со стороны сервера разве что можно как-то пробовать бороться с автоматизированным сбором статистики в таком случае.
> При этом искомых могло быть не только три, но и 4, никто не запрещает и 5 выводить
Мешают примечания к первому варианту: чем больше «парольных» иконок выводится, тем выше вероятность ложноположительного срабатывания: выводя 5 пиктограмм вместо трех за правильный ответ сервер обязан засчитать любой из 10 возможных «верных» треугольников. Какой процент площади они покроют — прикидывайте сами.
В любом случае, сервер обязан вывести не меньше трех «парольных» пиктограмм. Это позволяет одним статистическим анализом успешно определить парольные «пиктограммы». Пятничным вечером не готов делать расчеты, но по интуитивным прикидкам для практически применимых количеств пиктограмм для определения парольных (или по крайней мере очень вероятно парольных) будет достаточно всего-навсего десятка-другого наборов пиктограмм от сервера.
мне кажется, речь шла об одной «парольной» зоне из 3-4-5 иконок
Да? Которой из? Треугольник-то из трех точек строится один, а вот с четырьмя и более вершинами возможны варианты
Конечно, сервером. Есть сильное ощущение, что задача «подобрать 10 иконок так, чтобы в каждом наборе из выборки встречалось ровно 3 из них» — очень сложная задача, даже на большой статистике. Полный набор иконок большой, на каждой картинке их несколько десятков. Брутфорсится нелегко: например, если иконок всего лишь 100, то вариантов наборов по 10 штук — примерно 10^13, если меня не обманывает калькулятор. Без брутфорса вообще непонятно как подступаться.
не нужен здесь брутфорс, совсем не нужен
для затравки хватит банального частотного анализа
Не хватит. С ходу, алгоритм как обмануть любой частотный анализ: Берём ещё набор из 10 неправильных иконок и на каждой картинке рисуем по 3 из них тоже. У этих 10 вся статистика будет точно такая же, как и у правильных 10.
Отлично. Здесь действительно без брутфорса не обойтись: придется проверить целых ДВА пароля :)
Ок, два мы пробрутфорсим. Но мы можем вообще все неправильные иконки отдавать с такими же частотами, как и правильные. Какой вообще частотный анализ мы можем провести? Считать встречаемость каждой отдельной иконки? А мы их все будем с одинаковой частотой отдавать, это элементарно сделать правильно подобрав размеры множеств. Встречаемость пар, троек? Троек у нас слишком много. Пары мне кажется не дадут ценную информацию, при том что их тоже многовато. Из-за того, что показываются случайные 3 из 10, статистическую зависимость между ними проследить очень сложно.
> каждой отдельной иконки?
малоперспективно

> Встречаемость пар, троек?
Естественно. Частота появления троек из «парольных» символов драматически выше, чем непарольных.

> Троек у нас слишком много
Вы же не в уме задачу решать собрались? Если иконок всего 200, то возможных троек всего 1313400, несколько мегабайт оперативки.

> Пары мне кажется не дадут ценную информацию
Дадут, дадут. Разница в вероятностях не такая драматичная, как у троек, но все же значительна.

> при том что их тоже многовато
19900. влезет даже в некоторые микроконтроллеры.

Так. Действительно, пятница вечер, мне уже числа кажутся бОльшими, чем они есть на самом деле :) Но тем не менее, из 10 элементов можно составить 120 троек. То есть чтобы у нас какая-то тройка встретилась 10 раз (совсем небольшая статистика), нам надо иметь больше тысячи картинок-образцов. Казалось бы, не так уж и много. Но это даёт две возможности защититься от таких атак: не выдавать больше сотни картинок в одни руки :) Если человек с сотого раза не может пройти авторизацию, то что-то тут не так. И выдавать неправильные иконки с неравномерно распределёнными частотами. Почаще выдавать тройки, включающие в себя одну правильную и две неправильные иконки. Или например разбить все иконки на 10 групп, чтобы в каждой группе была 1 правильная, и каждый раз показывать 3 группы. Или ещё лучше, 4 группы, но в каждой только 3/4 иконок. Тогда по итогам частотного анализа мы сможем только восстановить это разбиение на группы, и у нас останется 1000 вариантов пароля (если иконок всего было 100), которые мы по этим картинкам уже никак не проверим.
В общем может быть я опять что-то путаю в цифрах, но я уверен, что частотный анализ можно обмануть, если выдавать неправильные иконки не совсем случайно.

Не понимаю, в чем тут затруднения для взлома… даже если предположить, что сценариев выбора иконок будет больше (например, целевые иконки лежат не в вершинах треугольника, а на сторонах, использование более сложных паттернов и тд и тп), все равно имея данные об единократном вводе пароля (расположение иконок, траектория движения и т.п.) позволяет злоумышленнику свести перебор до довольно небольшого числа комбинаций...

По сценарию пользователь несколько раз тыкает в треугольник, образованный одними и теми же пиктограммами.

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

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

UPD: VEG меня опередил.
Это годно для капчи, но никак не для пароля
По сценарию пользователь несколько раз тыкает в треугольник, образованный одними и теми же пиктограммами.
Число всех возможных треугольников не столь уж и велико. Для 100 элементов возможно всего 161700 сочетаний по 3.
По нескольким выборам пользователя вполне реально определить пиктограммы, образующие искомый треугольник.


Если было б все так просто, при каждом клике, иконки перемешиваются и на экране уже появляется совсем другой набор иконок, а если еще учитывать, что у пользователя пароль из 5 иконок, то на экране будут всегда видны три иконки из общего пароля. И даже если следить за монитором пользователя, вычислить истиные парольные иконки практически невозможно.
Моя задача была не спорить, хорош ли этот способ аутентификации или нет, моя задача была провести аналитический и статистический анализ и показать вероятность взлома.
при каждом клике, иконки перемешиваются и на экране уже появляется совсем другой набор иконок
именно это делает возможной описанную атаку.
а если еще учитывать, что у пользователя пароль из 5 иконок, то на экране будут всегда видны три иконки из общего пароля
В зависимости от того, что именно под этим подразумевается, вы получите либо большую вероятность ложноположительных срабатываний, либо создадите канал утечки «пароля» с сервера. Почитайте дискуссию выше.
моя задача была провести аналитический и статистический анализ и показать вероятность взлома.
и поставить рядом табличку: «методами, отличными от рассмотренных ломать категорически запрещается» :)
=)
В студенчестве, лет 8 назад, тоже был вдохновлён такой статьёй и писал реализацию этой аутентификации для сайтов в качестве курсача. Приятно было вспомнить :)
Вот и мне понравилась эта тема =)
А какова вероятность промахнуться мимо треугольника, начать всё заново и промахиваться снова, пока не задолбает искать иконки и плюнуть на это метод?
Я не издеваюсь, меня интересует вопрос применения на практике — насколько жизнеспособен такой способ, где баланс между удобством и криптостойкостью?
Поддержу вопрос. Пароль, я смогу набрать с закрытыми глазами в любом состоянии даже с учетом его смены раз в 90 дней. Тут же, когда я пару раз «промахнусь» планшет полетит разлочиваться об стенку.
парольный треугольник не будет слишком «маленьким», при формировании координат иконок по равномерному закону распределения т.е. вершин треугольника, было условие, что площадь не должна быть меньше определенной, сильно на вероятность взлома это не повлияло, более того, было проведено стат моделирование и оказалось, что площади треугольников подчиняются не равномерному, а экспоненциальному закону распределения, т.е. чем больше площадь треугольника, тем реже она появляется, соответственно чем меньше площадь, тем чаще.
Ну т.е. делая несколько снимков экрана с каждой итерацией ввода мы очень быстро поймём что за иконки, ибо они будут ближе к зоне нажатия. А учитывая что пользователь будет тупить, выискивая нужные (не будем брать вариант водящего по экрану пальцем в игре «найди 100500 отличий») — это не будет чем-то невероятным. Графический ключ так, конечно, ещё легче ловится, но он и вводится моментально.
Я когда-то не стал регистрировать e-mail на aol.com, потому что не смог пройти их капчу.
Серьёзно.
(Правда, мне мыло нужно было для технических целей, чё-то там проверить хотел.)
Ну как для диплома — неплохо. Только вот с этим бы я поспорил:
При иконографическом способе парольной защиты, пароль, как таковой, по сети не передается, даже в зашифрованном виде. По сети передается только координаты щелчка мышкой в окне ввода пароля, и только сервер решает, попадает ли эта точка внутрь треугольника, заданного парольными иконками. Следовательно, даже полный перехват всей информации обмена терминала с сервером, не дает дополнительных данных для взлома пароля. Кроме того, пароль невозможно подсмотреть, так как, даже стоя у пользователя за плечом, нельзя узнать, внутри какого треугольника он кликнул. Следовательно, единственным возможным способом взлома иконографической защиты является случайный щелчок в окне ввода пароля.


Если перехватывать всю информацию — мы получим и расположение иконок и координаты щелка. Очень хорошо что у нас будет пять-шесть таких пар на каждую аутентификацию. Если зломышленник стоит за плечом — он сможет снять процес аутенфикации на видео.
В любом случае у нас будут данные для анализа. Дальше, например, чисто статистически можно отсеять иконки стоящие по углам.

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

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

Да, надо исходить из того, что именно записывает.
Во время ввода пароля перед каждым этапом поворачиваться на 90 градусов всем телом вместе с девайсом.
Проблемой будет только камера, спрятанная на одежде жертвы.
Хотя как можно со стороны подглядеть и записать? Углы обзора не такие уж и фантастические у устройств, да и расстояние играет свою роль. Если только сверху снимать.
можно снимать смотреть фотографировать, только комбинаций слишком много, да плюс при каждом щелчке мыши, все иконки перемешиваются какие то исчезают какие то новые появляются, панель динамически изменяется, что и затрудняет поиск пароля.
> какие то исчезают какие то новые появляются, панель динамически изменяется, что и затрудняет поиск пароля.
упрощает
На самом деле не обязательно, из этого исходить. Например на android есть защита через графический пароль и там достаточно мельком посмотреть и ключ понятен, плюс на стекле видно путь пальца.
Я бы с удовольствием заменил стандартный графический пароль на тот который описан в статье.

В последнее время это правда менее актуально т.к. почти на всех устройствах доступ по отпечатку.
Возможно я чего то не понимаю.
Обычно пароль хранится в голове у пользователя и нигде более.
На сервере храниться только его хэш.
Пользователь ввел пароль — сервер хэшировал и проверил совпадение хэша.

Я не вижу как это возможно в случае с множественным перебором иконок.
Получается в случае такой аутентификации сервер должен хранить пароль?
Поскольку метод с иконками мне здорово напоминает капчу, то скорей всего, ему и практическое применение правильное было бы как у капчи. Т.е. это метод предварительного допуска к сеансу авторизации, а не сама авторизация.
> На сервере храниться только его хэш.
Учитывая, что почти все распространённые криптографические хэш-функции уязвимы к коллизионным атакам, данной степенью защиты можно в принципе пренебречь. Она эффективна только от обычного SELECT'а из таблицы паролей.
Уязвимы к теоретическим атакам? 4da8c2a8381c7084a2388c6bb6b0b11c — md5, довольно слабый, вперед, найдите коллизию!
В принципе, можно последовательность картинок представить как пароль, а потом его хешировать. Другими словами, нажали на картинки с индексами 1, 2, и 3, на выходе получили текстовый пароль вида 123, потом его хешируем и больше на сервере не храним. Другой вопрос, что криптографическая стойкость такого очень низка.
А как узнавать, что передать на сервер / как трактовать координаты, когда юзер кликнул внутрь потенциальных стапятисот треугольников?
Мда, не те уже нынче дипломные работы.
с точки зрения пользователя совершенно не удобный способ. юзеры стремятся к упрощению, а не к решению логических задач.
Задача стояла именно в том, чтобы не в массовый рынок этот способ выпускать, а для тех приложений где при прохождении аутентификации кто то может за вами наблюдать и в итоге пройти аутентификацию за вас, наконец чем отличается авторизация и аутентификация, тем что я авторизоваться могу при помощи твоего пароля и имейла за тебя, а вот аутентификация это удостоверение личности, т.е. то, что известно только тебе, аналогии идентификаций, отпечаток пальца, скан сетчатки глаза и т.п.
Было бы интереснее если сторонний наблюдатель даже имея видео процесса не смог бы его повторить. Т.к. сторонний наблюдатель не сможет повторить и обычный пароль, набранный на клавиатуре с высокой скоростью (если не рассматривать аутентификацию на телефоне, но в таком случае и попасть по треугольнику будет проблематично). Но имея видео процесса аутентификации не сложно будет определить пароль, тем более что количество этапов будет служить тут минусом. Единственный плюс, на мой взгляд, это то, что пароль открыто не передаётся, но даже в этом случае, если подразумевать, что злоумышленник имеет доступ к каналу связи, он будет иметь доступ и к координатам переданных иконок, соответсовенно это даже будет лучше чем видео запись и сможет с большой вероятностью найти нужные иконки.
Единственный плюс, на мой взгляд, это то, что пароль открыто не передаётся
это гораздо проще, эффективней и надежней решается традиционными методами.
Нет никаких проблем на яваскрипте реализовать вариацию на тему CHAP'а с преферанс солением и pfs.
Но тут пароль вообще никуда открыто не передаётся, даже яваскрипту.
А что со взломом?
Не пробовали составить алгоритм, который на основе N наборов (картинка; координаты щелчка) будет строить возможные треугольники и затем выдавать вероятные ключевые иконки? (думаю, это невозможно только в случае, если иконки не повторяются в N наборах)
Наверно распределение не-ключевых иконок тоже должно быть неслучайным, чтобы затруднить такую атаку. У вас некоторые иконки повторяются местами, значит они — не-ключевые?
У вас некоторые иконки повторяются местами, значит они — не-ключевые?

Верно, в этом проект сырой, в идеале иконки не должны повторяться.
Идея напоминает пароль на Blackberry 10. На практике он не так удобен как обычный, так как его нельзя вводить вслепую и падает скорость.
Хотя есть ситуации, где невозможность узнать пароль наблюдателю решает.
Во первых, соглашусь с предыдущими ораторами, что сюда просится оценка сложности подбора такого пароля с учётом наличия современных технических средств фиксации процесса (или перехвата).
А во вторых, я на первом абзаце надеялся, что речь пойдёт про динамическую биометрическую аутентификацию на основе физиологических особенностей конкретного индивидума, например по отслеживанию траектории движения мышки в окне ввода. Возможно, для такого случая даже попадание в треугольник, трудность которого так обеспокоила некоторых комментаторов, не обязательно. Например, в новостях проскакивали варианты аутентификации по особенностям походки (на смартфоне с использованием датчика ускорений), по клавиатурному подчерку и тому подобное.
Но я вероятно слишком много хочу от дипломной работы. :)
Идея отличная. Но боюсь за год написать не успел бы, плюс протестировать нужно было.

А как насчет такого алгоритма:
Программа показывает 10 иконок.
Пользователь смотрит на иконки и жмет на кнопку с количеством иконок, которые он выбрал ("0", "1", "2 и больше"). Это повторяется, скажем, 5 раз. Если все 5 раз пользователь ответил верно, значит аутентификация прошла.

Это ещё более простая и легковзламывая схема, чем у ТС.
Если несколько усложнить систему, то все реализуется даже на минимальном банке выбранных иконок.

При создании профиля человек дополнительно выбирает, хочет он кликнуть ВНЕ или ВНУТРИ треугольника.
Соответственно, получается схема типа ВНЕ, В, В, ВНЕ, ВНЕ. Можете посчитать вероятность вычисления паттерна, но мне кажется, она минимальна.
А ещё с какой попытки пользователь сможет логиниться правильно.
Я почему-то предположил вначале, что при задании пароля пользователь вносит какие-то сведения о иконке (ну например наличие красного угла и ещё нескольких признаков, а потом программа случайно подбирает из миллионов иконок набор разных, при этом только в нескольких присутствуют признаки…
Считается что у нас есть такая же программа и мы можем посмотреть список допустимых признаков. Сколько их будет? Ну наверное сотню-две я смогу придумать. Этого очень мало.

По грубым прикидкам система получается очень слабой. Я сделал оценку для случая трех парольных иконок. Для поля 10x10 при заполнении 50% достаточно около пяти подглядок, чтобы с большой вероятностью вычислить все три элемента. То есть достаточно пронаблюдать всего за одним (!) актом аутентификации.


Идея очень проста — рассмотрим множество всех троек на экране (пусть их будет N штук) и будем выбрасывать те, которые не составляют треугольник, содержащий указанную пользователем точку. На каждом шаге это множество сокращается, нужно лишь оценить, насколько. В статье утверждается, что вероятность, случайно ткнув, попасть в нужный треугольник составляет 10% (я не проверял, но верится). Значит, наше множество подозрительных троек сократится в среднем в 10 раз, когда пользователь сделает первый шаг. Дальше есть существенная корреляция между шагами, которую трудно учитывать, но если ей пренебречь, то за k шагов область поиска сузится примерно в 10k раз. Получаем такое уравнение: 10-kN ~ 1, откуда выражаем k. При этом требуемое количество подглядок (k) логарифмически зависит от размера поля, так что тупое увеличение размера бесполезно.


Можно было бы попробовать увеличить N настолько, чтобы тройки не лезли ни в какую память, но и это тоже не годится, поскольку N зависит от размера поля всего лишь как O(x6).

В 80-х писал дипломную работу с похожими требованиями по задаче — «человек стояший рядом не узнает пароля. Графических дисплеев у нас не было. Машина — ИБМ 370. Терминалы с зелеными буквами и цифрами. вопрос был решен так: Екран запонаятся ма 90% случайными цифрами.Пользователь знает координаты (не помню уже, кажется 5). Вводит эти 5 цифры которые находятся в этих координатах.
Ну реально, есть механизмы ну ПОЛНОСТЬЮ нерабочие — на примере капчи, «выберите 3 картинки с тортиками» — и оно не срабатывает. А со множествами массивов так и вообще…

А если сделать не по трем иконкам, а по двум. Область куда нужно кликнуть будет меньше и выглядеть будет примерно так: image

тут и так жалобы были что кому то неудобно будет «попадать в треугольник», а в этом случае область попадания и того меньше
Надо проверять, может быть неудобство именно в оценке середины треугольника. С прямой может стать лучше. Тем более область можно сделать ромбом или эллипсом для уменьшения попаданий мимо.
НЛО прилетело и опубликовало эту надпись здесь
Может тогда не точно в воображаемую линию, а просто в перпендикулярную секущую? Т.е. на данной картинке можно было бы нажать даже внизу между иконкой с глазом и красно-зелёным V.
И каждый раз эта секущая будет то вертикальной, то горизонтальной, то по диагонали.
Чем сложнее злоумышленнику авторизоваться случайно, тем больше информации о пароле получит злоумышленник, который подглядывает за авторизацией. От этого никуда не уйдешь. По настоящему надежный вариант придумать сложно, я не уверен, что он в принципе возможен.
Тогда вы сразу «спалите» наблюдателю две парольные иконки.
По-моему какая-то сложная схема, не проще ли перевести это в более понятную форму, когда сервер выдает матрицу чисел, а в пароле участвует число, и надо вместо своего числа ввести сумму к примеру и стойкость может увеличиваться до бесконечности в зависимости от размерности чисел и проверять вычисления проще.
Если пользователь вводит значение y функции y=f(x,k) от входных данных x и своего ключа k, желательно, чтобы обратная функция k=g(x,y) трудно вычислялась. Сумма здесь явно не подходит, поэтому придётся сказать «привет» методам хэширования с солью.
Неправильно, наоборот пользователь должен вычислить в уме и ввести это число, чтобы подсматривающий не догадался, а хеш вычисляться для отправки к серверу. Сервер может ограничить кол-во попыток принятия такого пароля.

Обратную функцию в простом понимании не возможно вычислить кроме как перебором, k — секретное число, x — это массив чисел, функция как сумма абсолютно нормально подходит. Вопрос только в том, сколько человек будет подсматривать. Хорошо бы после 2-3 таких попыток менять секретное число k.
>Неправильно, наоборот пользователь должен вычислить в уме и ввести это число
Это и будет хэширование с солью k, если взять нормальную хэш-функцию.

Менять секретное число после нескольких попыток — это уже ближе к одноразовым блокнотам, чем к вашей схеме. Но одноразовые блокноты гораздо надёжнее.
У вас (с суммой) после 2х подсмотренных попыток уже можно делать предположения, чему равно k.
Но одноразовые блокноты гораздо надёжнее.

Мягко сказано)
Думаю идея та же самая, грубо говоря это вырожденная схема, вы меняете свое число, когда вы знаете, что за вами подсматривают. Если за вами все время подсматривают, то схема вырождается в одноразовый блокнот, который все время держится в голове. Но это совсем другая задача.

Главная вещь, чтобы конечно держать число и функцию в голове, а не открывать блокнот, так как см. пункт 1 за тобой подсматривают.
Потом составят радужные таблицы на это дело (наиболее вероятные патерны выбора иконок типо только круглое, только одного цвета, только котики) и перебор станет еще проще. Или заранее проверять стойкость
А если так к примеру сделать. Составляю алгоритм: круг — прибавить 8, квадтрат — прибавить 44, треугольник — прибавить 3, штрихованый — умножить на 2, сплошной — поделить на 2. Сервер выдает 5 картинок я ввожу число. Такое как подобрать вообще?
Хотя достаточно будет подсмотреть все возможные комбинаций ) недосып сказывается… хотя…
По-моему, в этом и некоторых предыдущих комментариях идет попытка изобретения таблицы одноразовых паролей
Да мой метод не оаботает так как от перестановки слагаемых сумма не меняется. Вариантов перебора будет мало
Вы не рассматривали идею использования букв, или пар букв вместо иконок? Мне кажется так было бы проще запомнить пароль.
На момент уже написания работы, я узнал про другой метод, связанный с авторизацией выбора букв, идея аутентификации та же, что рядом стоящий посторонний человек не сможет понять сам пароль, когда вы выбираете определенные буквы, но увы, меня больше заинтересовала идея с иконками

В смысле? Что-то не могу понять, какая разница между буквами и иконками.

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

Это всё хорошо, но буквы — это всего лишь инконки из известного алфавита.


Про "другой принцип" можно было бы послушать, но содержание алфавитов — ненужные детали.

Предлагаю вариант динамического пин-кода.
Загадываешь 4 числа (или больше/меньше), например 9,8,7,6. Прописываешь их в настройки. Затем при авторизации система выдает рандомное число (менее загаданного). А пользователь должен ввести ответное число, такое чтобы сумма получилась 9. Затем также второе, третье, n-ое.
У нас в армии так было. Только с одним числом.
Проблема в том, что многие пользователи скорее всего обведут мышкой свои парольные иконки и только потом кликнут в центр (или в случае планшета будут водить пальцем над экраном)
Мы же пытаемся не выдать пароль даже случайно.
При этом задача сильно переусложнена. Достаточно разделить экран на 2 части и просить выбрать ту, в которой парольных иконок больше. Но для надежности придется проводить больше раундов.
НЛО прилетело и опубликовало эту надпись здесь
в твоем случае вероятность взлома в 1этап равняется 50 % многовато, придется гораздо больше этапов проводить, в представленном метод вероятность взлома в 1 этап равняется 10% и то, для надежной защиты нужно провести около 7 этапов
11 лет назад писал курсовую про неразглашаемые пароли, но дальше курсовой дело не пошло. Хотя задумка-то интересная, я бы даже сказал, перспективная в некоторых областях.
Идея занятная, но, думаю, не самая удобная в использовании как личный пароль, а вот как каптча — достаточно интересный вариант.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории