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

Динамический пароль

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

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

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

Краткое содержание (Я это я, С это сотрудник):
Я. У меня есть идея по входу в аккаунт, это повысит секретность и надежность процесса.
С. Присылайте, я найду кому передать.
Я. Присылаю (описание будет ниже диалога).
С. Вынужден разочаровать, но уже сделано (и дает мне ссылку на двухэтапную аутентификацию).
Я. Это совсем не то! Там предложен метод двухэтапной аутентификации. Для нее нужен телефон (не очень хорошая и надежная привязка), на который шлется код второго этапа аутентификации. Причем код можно поменять лишь один раз в 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. Мнения разделились. В обсуждении кто-то считает идею так себе, кто-то нашел рациональное зерно.

2. Aquahawk 17 января 2012, 21:26 и чуть ниже привел примеры 1, 2 и 3, где применен подобный принцип.
Получается, что идея с динамической частью рабочая. Динамическая часть будет работать примерно как Токен RSA SecurID в приведенных ссылках.

Вот еще одна интересная ссылка.
Муртазин сегодня написал про очень интересную банковскую карточку со встроенным дисплеем.

3. MazeFAQa 17 января 2012, 22:10 написал правильную мысль, которую я не смог донести сразу. Пароль, статическая и динамическая часть являются конструктором, который пользователь собирает самостоятельно. Ставит что хочет и где хочет.

4. Похоже, что эта идея так себе и прав был С из диалога…
Спасибо всем, принявшим участие в обсуждении!

5. Оказывается, этот алгоритм уже реализовали.

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

P.S. 2014.
Идею реализовали для разблокировки экрана смартфона. TimePIN: украденный пароль локскрина не поможет уже через минуту.
Теги:
Хабы:
Всего голосов 104: ↑65 и ↓39+26
Комментарии128

Публикации

Истории

Ближайшие события

27 августа – 7 октября
Премия digital-кейсов «Проксима»
МоскваОнлайн
11 сентября
Митап по BigData от Честного ЗНАКа
Санкт-ПетербургОнлайн
14 сентября
Конференция Practical ML Conf
МоскваОнлайн
19 сентября
CDI Conf 2024
Москва
20 – 22 сентября
BCI Hack Moscow
Москва
24 сентября
Конференция Fin.Bot 2024
МоскваОнлайн
25 сентября
Конференция Yandex Scale 2024
МоскваОнлайн
28 – 29 сентября
Конференция E-CODE
МоскваОнлайн
28 сентября – 5 октября
О! Хакатон
Онлайн
30 сентября – 1 октября
Конференция фронтенд-разработчиков FrontendConf 2024
МоскваОнлайн