[Из песочницы] «Плавающий» пароль

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

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

высокой сложностью; периодической сменностью; надежностью хранения. Все эти требования можно выполнить, применив описанную ниже схему.Пример 1. Генерация пароля на стороне пользователя с периодичностью 1 год:2014 год — текущий пароль: 12@i4Wednesday2015 год — текущий пароль: 12@i4Thursday2016 год — текущий пароль: 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 — официальный курс австралийского доллара на предыдущую дату без запятой. «Плавающая» часть может быть привязана практически к любому источнику периодически меняющихся и структурированных данных, вплоть до первого слова заголовка топовой статьи новостного сервиса.Возможное развитие системы плавающего пароля:

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

© Habrahabr.ru