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

Введение

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

Допустим, в настройках мобильного устройства мы указали метод разблокировки – графический пароль. Это значит, что мы придумываем пароль, например «A?BC? » – секретный пароль (постоянный). Введем понятие динамического пароля – пароль, который генерируется на основе секретного(постоянного) пароля.

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

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

Суть разработанного метода состоит в следующем. При нажатии кнопки включения экрана устройства псевдослучайным образом генерируется сетка, состоящая в простейшем случае из букв простого алфавита и других символов, рассмотрим пример пароля – «A?BC? ». Таким образом, в усложненном варианте это может быть сетка с символами, картинками, смайликами, цветные элементы и т. п. Эта сетка выводится на экран устройства. Пример сетки представлен на рис. 1. Среди символов в этой сетке обязательно присутствуют символы нашего постоянного пароля. Рассмотрим работу алгоритма на примере программы, реализующей данный метод .

Для разблокировки устройства в поле «Динамический пароль» необходимо ввести значение динамического пароля, полученное для данной псевдослучайной сетки. В идеале никаких действий, кроме определения значения динамического пароля и его ввода, выполнять не нужно.

1. МЕТОД ОПРЕДЕЛЕНИЯ ДИНАМИЧЕСКОГО ПАРОЛЯ ПУТЕМ МЫСЛЕННЫХ ВЫЧИСЛЕНИЙ

  1. Необходимо найти буквы нашего пароля на сетке.
  2. Мысленно соединить эти буквы линией (рис. 2), двигаясь вверх, вниз,влево или вправо.
  3. Посчитать количество пройденных клеток, последовательно пройдя по всем буквам секретного пароля – в приведенном примере динамический пароль должен получится равным цифре 36. Другими словами: необходимо вычислить расстояние в клетках между буквами постоянного пароля, выведенными среди других букв в сетке. Полученное расстояние будет являться значением динамического пароля.
  4. Ввести значение динамического пароля в поле «Динамический пароль».

2. МЕТОД ОПРЕДЕЛЕНИЯ ДИНАМИЧЕСКОГО ПАРОЛЯ ПУТЕМ ЕГО ОТОБРАЖЕНИЯ НА ЭКРАНЕ

Данный метод можно использовать и в качестве обычного графического пароля. Рассмотрим тот же метод, но с отображением нашего секретного пароля, что является нежелательным моментом, так как основная задача динамического пароля не выдать значение постоянного секретного пароля.

  1. Нам необходимо найти буквы нашего пароля на сетке.
  2. Провести по ним пальцем, устройство само выделяет помеченные пальцем клетки и само вводит цифру 36 в поле «Динамический пароль». На рис. 3 приведены два из возможных правильных способов выделения клеток.
  3. Нажать кнопку «ОК», подтвердив тем самым ввод динамического пароля.
  4. В случае верно введенного динамического пароля устройство будет разблокировано.

3. ПРОВЕРКА ВВЕДЕННОЙ ЦИФРЫ (ДЕЙСТВИЯ НА СТОРОНЕ УСТРОЙСТВА)

  1. Программа (операционная система мобильного устройства) генерирует сетку и выводит на экран.
  2. Дожидается подтверждения пользователем введенного им динамического пароля.
  3. Считывает из памяти пароль, разбивает на буквы.
  4. Находит буквы на сетке.
  5. Сама высчитывает расстояния в клетках между буквами алфавита.
  6. Сверяет вычисленное число с введенным пользователем.
  7. Разблокирует устройство в случае правильного ввода, блокирует устройство и/или возвращается к п. 1.

4. ПРИМЕР ОШИБОЧНОГО ВВОДА

На рис. 4 представлены два примера ошибочного ввода. В попытке подбора или при ошибочном вводе, человек в данном случае вводит цифру 40 или 39, а нужно ввести 36.

5. ВОЗМОЖНЫЕ МОДИФИКАЦИИ

  1. Длинный пароль, соответственно некоторые буквы могут засчитываться дважды – так, как в приведенном примере.
  2. Изменение размера сетки, например 20 х 20.
  3. Трехкратное повторение ввода, для уменьшения вероятности подбора.
  4. Трехкратное повторение ввода, но каждый раз разных паролей(три пароля или три части одного пароля).
  5. Использование различных символов, картинок, цветов, разноцветных картинок вместо обычных символов алфавита.
  6. Использование данного метода в качестве двухфакторной аутентификации (PIN + динамический графический пароль).

В качестве дополнения к алгоритму была разработана программа, реализующая данный механизм. Программа доступна по адресу в Интернете .

ЗАКЛЮЧЕНИЕ

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

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

Список использованной литературы

1. Радион Нигматулин. Динамический пароль [Электронный ресурс]. 2012. – Режим доступа: http://habrahabr.ru/post/136580/ / (дата обращения:26.03.2013).
2. Динамический графический пароль. Пример реализации [сайт]. [Электронный ресурс]. – Режим доступа:https://sites.google.com/site/coolprogramms/ arhiv-besplatnyh-programm (дата обращения: 26.03.2013).

  • итоги на написанную ранее статью
  • еще идеи на её счет
  • расскажу о принципиально другом «динамическом пароле 2.0», лишенном недостатков первого.
  • а так же, скандалы, интриги, расследования идею как задать пароль: который вы сами не сможете набрать в состоянии алкогольного опьянения, который можно набрать на глазах у друга, и состоящий из символов «QQQQQ» и он не сможет его повторить;)
  • Прежде всего, предлагаю не относиться слишком критично к данной статье, оставьте в восприятии толику юмора, ведь это прежде всего идеи, брошенные в море облачного IT-интеллекта;)
    Итоги из статьи Динамический пароль
    Способ реализации - не жесткая последовательность, а конструктор динамического пароля, позволяющий вставить приведенные автором шаблоны в любых местах и в любых количествах в своем шаблоне пароля Сфера применения - не общественные системы для обычного потребителя. В первую очередь идея может быть использована в закрытых системах и организациях, которые хотят усложнить механизм обычного ввода пароля, но не задействовать доп железо (телефоны, токены, смарт-карты и тд) Недостатки - невозможность хранить на сервере в виде хеша, придется часть шаблона пароля оставлять в открытом виде. Сложность, надо потратить немного времени что бы подготовить пароль по известному вам шаблону и, как следствие, слабая применяемость «в народе». Преимущества - бесполезность идеи взлома пароля методом перебора (пока идет перебор паролей, сабж может стать тем, который уже был использован генератором ранее). Защита от «подглядываний» пароля (точный пароль, набранный через минут может оказаться уже неактуальным)
    Идеи и пояснения
    Меня, как и некоторых других Хабра-юзеров, посещала идея динамического пароля еще несколько лет назад. Тогда, я сформулировал её для себя следующим образом: Есть шаблоны: MM, YY, DD и т.д. перечисляем сюда все шаблоны из форматера дат и указанные автором в парент-топике и еще кучу на свой вкус. Что бы задать пароль надо совместить статический текст пароля, с динамическим, что бы это сделать, выбираем обрамляющие символы которые будут указывать где начинается и оканчивается шаблон. Например можно использовать двойные квадратные скобки "[[....]]", по принципу наклонной черты в java "". Несколько примеров шаблонов пароля сформированные таким образом:
  • "qqq[]qqq " (верный пароль «qqq+2х-значная минута+qqq»)
  • "[] тысяч обезьян в [] сунули банан " (:-))
  • "2+2=[[M]] " (верный пароль - «2+2=первая цифра текущей минуты»)
  • "[][][[M]][][] " (пароль, завязанный на секунды, потребует предварительной его подготовки к определенной секунде и минуте в будущем;-))
  • Можно даже предусмотреть вычисление внутри "[[...]]", например:
  • k1s$a[][][][][] (пароль, это «k1s$a»+ повторяющиеся 4 раза цифры текущей минуты, к которым прибавляем цифры вашего года рождения)
  • [] (пароль true или false, в зависимости четная минута или нет)
  • [] (пароль, это текущая минута с погрешностью +- 2 минуты)
  • [][][[ MM+-2]][][] (развитие предыдущего пункта - пароль (например 1920222120) может состоять из разных цифр в пределах погрешности и никто не догадается что базовая цифра, это текущая минута - 20 в моем случае)
  • В-общем, фантазия безгранична, главное в этом деле, рассказать юзеру в режиме конструктора все необходимые шаблоны и правила, а так же обратить его внимание, что время или еще какие-либо динамические параметры нужно формировать исходня из таймзоны GMT например, а еще лучше, выводить время на которое надо ориентироваться в будущем где нибудь ненавязчиво в пределах логин страницы.
    Динамический пароль 2.0
    Вот и подошла очередь описать принципиально новый «Динамический пароль 2.0». Включаем юмор, и оставляем включенной логику;) Представьте ситуацию: Вы видите как ваш друг набирает в поле пароля банальный пароль «QQQQQ» или «11111» и входит, вы говорите ему, что он полный чайник, раз использует подобный пароль, а он в ответ, выходит из программы и предлагает ввести его вам. Вы пытаетесь ввести пароль 5 раз и вас не пускает, после этого вы вспоминаете что когда-то читали статью на хабре и предполагаете что пароль просто перегенерился и, скорее всего, тогда на часах была или 11-я минута или что то еще… Но ваш приятель садится за комп и опять у вас на глазах начинает вводить «11111» и его пускает! В чем секрет? В фразе «Динамический пароль 2.0» основным словом является "динамический ", но не в смысле «изменяемый», а в смысле «динамичный, танцевальный» ;) Помните реакцию винды на неправильный ввод пароля 3 раза подряд? Она не дает ничего вводить пару минут, что бы исключить подбор пароля, а потом, через пару минут снова дает 3 попытки. Что, если контролировать время между введенными символами и использовать его как еще один параметр при входе в систему? Не буду разжевывать то, что вы и так поняли, и сразу приведу шаблон пароля нашего «продвинутого» приятеля: Q[]Q[]Q[]Q[]Q Где [] , говорит о том что между символами должно быть время в миллисекундах большее чем пол секунды, а между предпоследним и последним символами - больше секунды. Включаем фантазию и думаем какие еще правила можно придумать: минимальное/максимальное время ввода всего пароля, больше, меньше, погрешность в миллисекундах, динамическое время основанное на первом промежутке времени между вводом первого и второго символа пароля, и много чего еще… Сразу о преимуществах:
  • легкий набор
  • возможность хранить хеш самого пароля на сервере
  • возможность, при отменной реакции и чувстве такта, задать простейшую мелодию при «настукивании» пароля
  • невозможность подбора, так как время это тоже параметр
  • wow! вы можете рассчитать минимальное время набора пароля (скажем вы легко набираете его за 1.5 секунды), а в случае вашего измененного сознания опьянения, не сможете набрать его с такой же скоростью, так как время реакции сильно пострадало и база защищена вами от вас!))
  • Теперь о недостатках:
  • Сложное программирование, придется точно контролировать время между вводимыми символами, для реализации надо хорошенько подумать что сделать на клиенте, а что на сервере
  • возможно, сложное придумывание шаблона (если шаблон сложнее чем набрать 3 символа, подождать 3 секунды, набрать остальные символы пароля)
  • дополнительное нешифруемое поле в базе в нагрузку к Хешу пароля, для того что бы знать правила контроля времени между символами или общего времени набора
  • Не забываем, всё это концепты, идеи для размышления, не надо сразу прикладывать идею к сайту «Одноклассники» и его хомячков обитателей;) В общем, интересных проектов и удачи Всем!

    Для того чтобы понять, что такое статический пароль в Приват24, давайте для начала рассмотрим процесс регистрации и виды существующих паролей. Регистрация займет у вас пару минут и потребует несколько простых шагов (иногда сотрудники банка регистрируют вас в системе Приват24 самостоятельно):

    1. Зайдите на сайт по этой ссылке https://privatbank.ua/ru/udalenniy-banking/privat24/
    2. Введите действующий номер вашего мобильного телефона в том формате, как указано на примере.
    3. Далее укажите последние четыре цифры номера карты. Он выбит на её лицевой стороне.
    4. Следующим этапом внимательно введите адрес своей электронной почты (или email).
    5. Теперь придумайте код из 6 до 15 символов, содержащий буквы и цифры. Укажите его в нижнем окне формы заполнения. Внимание! Именно эти данные, которые вы указали при регистрации, и есть статический пароль в Приват24.

    Что такое статический и динамический пароль

    Статический пароль — это код который вы вводите при входе в свой личный кабинет в Приват24.

    Динамический пароль – это смс сообщение с цифровым кодом, которое система автоматически высылает на ваш мобильный телефон для того, чтоб удостовериться, что ваш телефон не был украден и это именно вы, а не злоумышленники сейчас заходите в свой аккаунт (электронный личный кабинет в Приват24).

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

    • Запомните! Сотрудники банки не имеют права просить вас предоставить персональные данные с вашей страницы или любые другие данные о вашей карте. Если это происходит, значит, вы имеете дело с мошенниками. В последнее время участились случаи, когда преступники звонят с телефонов ПриватБанк, начинающиеся с цифр +38056
    • Не стоит пытаться запомнить на память статистический код – запишите его. НО сделайте это в блокноте, который будет находиться подальше от посторонних глаз.
    • Не давайте малознакомым людям свое мобильное устройство, так как номер телефона привязан к вашей карте и этим могут воспользоваться.
    • Когда придумываете код при регистрации первый раз, сделайте его более замысловатым для надежности от взлома.

    Проблемы при авторизации

    Каждый раз при входе в ваш личный кабинет, будет запрашиваться сначала номер телефон, а затем статический пароль. Но что делать, если система выдает «неверные данные»?

    1. Посмотрите в правом углу монитор, какая выставлена языковая панель на компьютере.
    2. Проверьте, не включен ли верхний регистр букв или по-другому клавиша «Caps Lock». Тогда вместо прописных букв будут выдаваться заглавные и введенные данные не будут допущене. Если на данной клавише горит индикатор, то он включен. Если подсветка в модели вашего компьютера не продумана, воспользуйтесь любым текстовым приложением (к примеру, Word) и наберите пару букв для проверки.
    3. Если вы все делаете верно, а доступ получить не получается, повторите попытку позже. Сайт может просто «зависнуть» по независящим от вас причинам.
    4. Можно также обратиться в техническую поддержку сайта. Просто кликните справа зеленую кнопку «помощь онлайн».

    На различных тематических информационных ресурсах, посвящённых электронной коммерции и платежным картам, производители и обозреватели рассказывают об инновациях, призванных делать наши покупки в интернете еще безопаснее. В последнее время в интернете появилось множество статей о последней новинке компании Gemalto - пластиковой карте с автоматически изменяющимся кодом проверки подлинности — Dynamic Code Verification или сокращенно DCV. Особо подчеркивается высокий уровень защиты владельцев карт от мошеннических онлайн-платежей.

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

    Традиционный СVV/CVC - трехзначный код на банковской карте

    Любому владельцу банковской платежной карты, который хоть раз оплачивал что-либо через интернет, хорошо известно, что для совершения платежа наряду со всеми реквизитами карты нужно ввести и трехзначный код, напечатанный на ее обратной стороне. В русскоязычном сегменте интернета эти три цифры обычно так и называют «трехзначный код». В англоязычном мире он известен как CVV (Card Verification Value) или CVC (Card Verification Code).

    Изначально CVV/CVC был призван защитить электронную коммерцию от платежей, с использованием похищенных реквизитов банковских платёжных карт. В недавнем прошлом, как минимум лет 20 назад, основным источником хищения карточных реквизитов для интернет-мошенников являлся мир «оффлайна». Номер карты, имя владельца и срок ее действия можно было или подсмотреть и запомнить, когда владелец расплачивался в торговой точке, или скопировать со слип-чеков. А поскольку CVV/CVC просто печатался на обратной стороне карты, увидеть его и похитить было значительно сложнее, чем остальные карточные реквизиты.

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

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

    Эволюция CVV/CVC — динамический трехзначный код

    Динамический код, DCV - это эволюционное развитие устаревших CVV/CVC. В отличие от них, на протяжении всего действия срока карты DCV регулярно меняется через равные промежутки времени (по умолчанию каждые 20 минут) по определенному алгоритму, известному только банку-эмитенту. Для отображения DCV в платежную карту встроен миниатюрный дисплей.

    По замыслу разработчика технологии, DCV делает невозможным использование похищенных карточных реквизитов. Даже если мошенникам удалось получить полный набор данных, как максимум, через 20 минут код изменится, и попытка интернет-платежа с использованием устаревшего трехзначного кода будет отклонена банком-эмитентом.

    Динамический верификационный код или 3-D Secure? Вопросы безопасности, удобства, стоимости.

    Идея DCV понятна, логична и, действительно, обеспечивает более высокую защиту интернет-платежей по сравнению с использованием статичных CVV/CVC.

    Но не опоздала ли технология DCV с выходом на рынок? Сможет ли она составить конкуренцию уже устоявшемуся и общепринятому стандарту в платежной индустрии — верификации владельца карты при совершении интернет-платежа c 3-D Secure? И, наконец, насколько карты с DCV могут быть удобны для эмитентов и конечных пользователей?

    Вероятно, DCV могла бы стать революционно прорывной технологией обеспечения безопасности интернет-платежей, если бы в этой области уже не существовало 3-D Secure. Дело в том, что при всей своей инновационности и технологичности DCV все же уступает 3-D Secure в уровне обеспечения безопасности платежей.

    Да, DCV меняется каждые 20 минут. Но при использовании современных реализаций 3-D Secure, код подтверждения платежа генерируется и сообщается владельцу карты непосредственно в процессе обработки транзакции (платежа). И поэтому, если в случае с DCV у злоумышленника теоретически есть, пусть и очень небольшой, но шанс использовать похищенные карточные данные до очередной смены DCV, то в случае 3-D Secure у мошенника такого шанса в принципе нет.

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

    В случае, если интернет-платежи защищены 3-D Secure, преступник не сможет воспользоваться украденной картой. Но, даже если каким-то образом и сможет (например, интернет-торговец отключил опцию проверки по 3-D Secure для всех своих покупателей), правила платежных систем будут на стороне владельца карты и банка-эмитента. Если транзакция по карте, защищенной 3-D Secure, прошла без проверки плательщика (т.е. у владельца карты в процессе покупки не был запрошен код), то ответственность за такую транзакцию лежит на продавце и банке-эквайере, и в случае мошенничества деньги будут возвращены покупателю.

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

    И также очевидно, что стоимость изготовления карты с DCV должна быть выше, чем карты с обычными CVV/CVC.

    Все эти размышления дают основания полагать, что DCV пока не может на равных конкурировать с уже существующей и проверенной технологией 3-D Secure. А потому вряд ли эта технология получит широкое распространение в банках-эмитентах тех платежных систем, где 3-D Secure уже используется.

    А вот в тех платежных системах, где 3-D Secure по каким-то причинам до сих пор не внедрена (например, БЕЛКАРТ или российской «Мир»), DCV может стать неплохой альтернативой.

    Время покажет. К слову интернет-магазины, принимающие платежи по банковским картам через процессинговую платформу bePaid, надежно защищены от мошенничества технологией 3-D Secure и другими инновационными инструментами безопасности.

    С уважением,

    Давно пришла мне в голову одна идея по поводу улучшения защищенности своих аккаунтов и входа на сайты, где требуется регистрация.
    Хабр я тогда читал без регистрации, поэтому естественно ничего и не писал.

    Кому это нужнее? Наверное Гуглю, подумал я… С трудом нашел адрес одного сотрудника, написал письмо.

    Краткое содержание (Я это я, С это сотрудник):
    Я. У меня есть идея по входу в аккаунт, это повысит секретность и надежность процесса.
    С. Присылайте, я найду кому передать.
    Я. Присылаю (описание будет ниже диалога).
    С. Вынужден разочаровать, но уже сделано (и дает мне ссылку на двухэтапную аутентификацию).
    Я. Это совсем не то! Там предложен метод двухэтапной аутентификации. Для нее нужен телефон (не очень хорошая и надежная привязка), на который шлется код второго этапа аутентификации. Причем код можно поменять лишь один раз в 30 дней…
    С.… (молчок).
    Я. Напоминаю.
    С. Идея плохая, не тратьте время, я ее никому пересылать не буду.

    Если идея плохая, значит так оно и есть, забросил этот процесс.

    Сегодня читаю Хабр. Уже как зарегистрированный пользователь.
    Обращаю внимание на статью «Сезам, откройся!» - вход в аккаунт Google при помощи QR кода.

    Думаю, вот ведь люди, думают как защитить своих пользователей! И вспоминаю свою идею. Может все же кому-то понадобится?

    Теперь про идею подробнее.
    Когда переписывался по ее поводу, то ничего подобного не нашел в Интернете, вполне возможно что плохо искал. Да и этот сотрудник ведь получается - тоже не отыскал!

    Может все же кто-то реализует эту задумку? Как мне кажется, ничего особо сложного тут нет. Обсудите, только я сильно не смогу помочь - не моя стезя.

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

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

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

    Если уж совсем примитивно, то можно привести такой пример:
    Вариант пароля (лучше всего - часть пароля) - текущее время с точностью плюс-минус пару минут.
    Пользователь набирает его, система проверяет допуск (плюс-минус пара минут, мало ли какая точность у пользователя) и пропускает в систему.

    Простейшие примеры привязки динамической части к различным параметрам:
    - Текущий час в одном из часовых поясов.
    - Текущая четверть часа - 1, 2, 3, 4.
    - Текущий десяток минут - 0, 1, 2, 3, 4, 5.
    - Текущая минута - 0 … 59.
    - Порядковый номер дня в году (сколько дней осталось до Нового года) - 0 … 365.
    - Текущий месяц (порядковый номер) - 1, 2, 3, …, 12.
    - Текущий месяц (первая буква названия) - J, F, M, …, D.
    - Буквы имени или фамилии президента страны - A … Z.
    - Время года - зима, весна, лето, осень - win, spr, sum, aut.
    - Последний курс выбранной валюты - ?
    - Количество лет со дня рождения любого выбранного человека - 0 … 2011.
    - Сколько лет осталось до определенного события - 0 …?
    - Температура воздуха в определенном городе по прогнозу выбранного сайта.
    - Перевод числа в двоичный или другой код.

    Пример пароля. 415Med125
    4 - количество десятков минут.
    15 - текущий час в одном из часовых поясов.
    Med - текущий президент.
    125 - порядковый день в году.

    Для запоминания можно придумывать мнемонические правила.
    Для конкретного примера - “Время президента - день”.

    В отличии от двухэтапной аутентификации, в моем варианте код меняется автоматически по заранее определенным правилам. Причем меняться может хоть раз в 10 минут (зависит от того, что использовано в динамической части).
    И для ввода не нужен телефон.

    Результаты.

    1. Мнения разделились. В обсуждении кто-то считает идею так себе, кто-то нашел рациональное зерно.

    6. Появилось дальнейшее развитие идеи Динамический пароль 2.0 автора djvu

    P.S. 2014.
    Идею реализовали для разблокировки экрана смартфона. .