«Плавающий» пароль

от автора

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

Цель – создание простой и надежной системы идентификации пользователя с использованием постоянно меняющегося пароля.

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

  1. высокой сложностью;
  2. периодической сменностью;
  3. надежностью хранения.

Все эти требования можно выполнить, применив описанную ниже схему.

Пример 1. Генерация пароля на стороне пользователя с периодичностью 1 год:

2014 год — текущий пароль: 12@i4Wednesday
2015 год — текущий пароль: 12@i4Thursday
2016 год — текущий пароль: 12@i4Friday

где:

  • 12@i4 – «базовая» часть, придумывается самим пользователем;
  • Wednesday, Thursday, Friday – «плавающая» часть, которая соответствует названию первого дня недели текущего года.

Генерация на стороне сервера происходит по идентичному алгоритму.
Алгоритм и периодичность смены пароля настраивается самим пользователем, либо администратором, через «конструктор». Сочетание «базовых» и «плавающих» частей пароля может иметь произвольную сложность и последовательность.

Пример 2. Генерация пароля с периодичностью 1 день (усложним алгоритм):

Дата: 12.04.14 — текущий пароль: 12@i4Wednesday335704
Дата: 13.04.14 — текущий пароль: 12@i4Thursday334152
Дата: 14.04.14 — текущий пароль: 12@i4Friday334152

где:

  • 12@i4 – «базовая» часть;
  • Wednesday, Thursday, Friday – «плавающая»» часть, которая соответствует названию первого дня недели текущего года;
  • 335704, 334152, 334152 – официальный курс австралийского доллара на предыдущую дату без запятой.

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

Возможное развитие системы плавающего пароля:

  • отказ от базовой части пароля;
  • отказ от логина.

Преимущества «плавающего» пароля:

  1. относительная простота реализации;
  2. пользователь не обязан помнить пароль, достаточно знать механизм его генерации;
  3. гарантированная периодическая сменность;
  4. средняя/высокая надежность.

Дополнительные ограничения:

  1. необходимость реализации дополнительной службы на стороне сервера;
  2. возможно, потребуется создание источника сводной информации для генерации пароля (страницы/сайта/службы), помогающего пользователю самостоятельно генерировать пароль, а не искать данные по всему Интернету. Например: начальная страница экрана на которой отображена погода в различных городах, курсы валют, календарь, суммы кассовых сборов по кинофильмам и т.д.

Потенциальные риски:

  1. сложный пользовательский интерфейс конструктора для создания «плавающего» пароля на стороне сервера;
  2. дополнительная вычислительная нагрузка на сервер.

ссылка на оригинал статьи http://habrahabr.ru/post/225097/


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *