/iNoPASSaran

Password manager and generator addon for browser

Primary LanguageJavaScript

¡No PASSarán

Download / Install

Стабильная версия

Бета версия

Что это?

Плагин менеджера паролей, который не хранит сами пароли, а генерирует на лету из составляющих по заранее заданному алгоритму. Теперь не надо хранить сотни паролей ни на компе, ни в голове. При этом все пароли уникальные и взломать или украсть их почти невозможно. Достаточно иметь 1 мастер пароль, украв который у злоумышленника всё равно не получится взломать пароли от ваших сайтов.

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

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

Конечно не обязательно иметь один мастер-пароль.

Преимущества

  1. Уникальные пароли для разных сайтов, которые не надо запоминать и даже записывать! (При условие использования в алгоритме переменных для домена)
  2. Украсть почти невозможно. Даже если украдут мастер-пароль, например клавиатурным шпионом, всё равно не зная алгоритма и соли злоумышленники не смогут воспользоваться вашими паролями.
  3. Сложно поддается социальной инженерии. Соль и алгоритм можно составить например из "имя кошечки" и "номер телефона", но людям будет сложно подобрать пару и без мастер пароля не принесет им пользы.
  4. Пароли доступны везде где есть доступ к компьютеру и интернету. Можно в любой момент восстановить пароль даже не имея плагина под рукой (позже будет и онлайн реализация, на случай если вы далеко от дома). Достаточно иметь под рукой компьютер, на котором можно с генерировать MD5 или воспользоваться любым онлайн генератором (на свой страх и риск!!!).
  5. Это плагин для вашего любимого браузера. Больше нет необходимости переключаться в сторонние программы.

Настройка

После установки плагина перейдите в настройки плагина. В Chrome можно сделать нажав "Параметры" возле плагина на странице расширений (Основное меню -> Дополнительные инструменты -> Расширения). В открывшейся странице настроек укажите:

  • Свой язык, если требуется. В настоящее время доступны Русский (ru) и Английский (en);
  • Укажите свою соль. Не обязательно сложную, главное чтобы вы смогли её в будущем вспомнить;
  • Создайте свой уникальный алгоритм, который вы сможете так же в будущем вспомнить.

Как пользоваться

  1. Теперь вам надо перейти на любую страницу, где надо ввести пароль.
  2. Поставить курсор на поле для ввода пароля.
  3. Нажать в панели браузера на значок дополнения
  4. В появившемся окне вбить свой мастер-пароль и нажать ОК

Алгоритмы генерации

Алгоритмы строятся следующим образом. Например мы указали телефон 88005555555, соль Кузя и мастер пароль quaka42ebaka, для сайта example.com. Далее будет три этапа автоматической генерации исходя из алгоритма:

  • Получаем все части (не буду дублировать части):
    • 8 - Первая половина мастер пароля - это quaka4
    • 0 - Доменное имя целиком - это example
    • 5 - Количества символов в зоне - это зона COM, а следовательно 3
  • Полученное складывается в строку, но в начале обязательно добавляется мастер пароль, это дополнительная предосторожность: quaka42ebakaquaka4quaka4exampleexample3333333. Неплохой длины получается пароль, да? Кто сможет прикинуть сколько лет надо на подбор?
  • Последним шагом уменьшаем число лет на подбор, а именно перегоняем эту строку в MD5 => md5(quaka42ebakaquaka4quaka4exampleexample3333333) => f837bab2e4d20a53e884a42e9473708a

Алгоритмы возможно строить двумя способами - базовым и расширенным.

Базовые способ построения алгоритма

Для базового алгоритма доступны все буквы (русские и английские) и цифры, их надо указывать единым "словом".

  • 0 - Доменное имя целиком (alias: a, k, u, а, й, у, э)
  • 1 - Доменная зона целиком (alias: b, l, v, б, к, ф, ю)
  • 2 - Первая половина домена (alias: c, m, w, в, л, х, я)
  • 3 - Вторая половина домена (alias: d, n, x, г, м, ц)
  • 4 - Количества символов в домене (alias: e, o, y, д, н, ч)
  • 5 - Количества символов в зоне (alias: f, p, z, е, о, ш)
  • 6 - Соль целиком (alias: g, q, ё, п, щ)
  • 7 - Мастер пароль целиком (alias: h, r, ж, р, ъ)
  • 8 - Первая половина мастер пароля (alias: i, s, з, с, ы)
  • 9 - Вторая половина мастер пароля (alias: j, t, и, т, ь)

Расширенные способ построения алгоритма

Разумеется их можно и нужно использовать с цифрами из базового алгоритма. Для расширенного способа обязательно использовать цифры разделённые любым символом, кроме цифр и букв. Данные алгоритмы будут дополняться.

  • 10 - Перевернутое доменое имя целиком
  • 11 - Перевернутая доменая зона целиком
  • 12 - Перевернутая первая половина домена
  • 13 - Перевернутая вторая половина домена
  • 14 - нет
  • 15 - нет
  • 16 - Перевернутая соль целиком
  • 17 - Перевернутый мастер пароль целиком
  • 18 - Перевернутая первая половина мастер пароля
  • 19 - Перевернутая вторая половина мастер пароля
  • 160 - Первая половина соли
  • 161 - Вторая половина соли
  • 162 - Перевернутая первая половина соли
  • 163 - Перевернутая вторая половина соли

То есть например 8-800-163-10-13

Уже реализовано

1.5 (beta)

  • Реализована поддержка разных типов шифрования
  • Включена поддержка шифрования "You Shall Pass!"
  • С помощью "You Shall Pass!" появилась возможность применять разный регистр и спец.символы

1.4 (beta)

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

25.04.16

v1.3

  • Проверена работа в Опере (WebKit)
  • Реализована кнопка "показать/скрыть" пароль
  • Реализован режим "гость"
  • Добавлена кнопка "копировать пароль в буфер"
  • Добавлено отображение сгенерированного пароля

v1.2

  • Реализованы настройки для сайтов:
    • Можно отключать поддомены в генерации пароля. Полезно например на сайте стима, где много разных поддоменов, но одна учетная запись
    • Возможно обрезать строку по правилам JavaScript для функции substr().
      Например для строки "abcdefghij" результаты будут такие:
      1 => bcdefghij
      1,2 => bc
      -3,2 => hi
      -3 => hij
      -20, 2 => ab
  • Срабатывание формы по нажитию на клавишу "Enter"

v1.1

  • Реализован плагин под FireFox
  • Расширено количество вариантов алгоритма
  • Созданы алиасы для алгоритма

v1.0

  • Написан плагин под Chrome
  • Реализовано 10 составляющих частей для алгоритма
  • Вставка пароля в активное поле на странице

TODO

  • Исправить работу плагина под Оперу (1.3)
  • Реализовать импорт/экспорт базы и настроек в/из файл(а)
  • Сделать show/hide пароля при вводе (1.3)
  • Добавить базу сайтов-исключений
    • где ограничение на символы (1.2)
    • где необходимы спецсимолы (1.5)
  • Реализовать режим "гость" (1.3)
  • Добавление в алгоритме "md5 пароля" по умолчанию (1.1)
  • Добавить возможность копирования в буфер и отображение результата (1.3)
  • Запоминать и вводить логин
  • Онлайн версия (25.04.16 и 1.4)
  • Добавить горячие клавиши для вызова плагина
  • [Возможно, рассмотреть] Добавить кнопку плагина на поле с паролем на страницах
  • Сделать настройку убирания из алгоритма обязательного мастер-пароль, заодно будет обратносовместима с первой версией
  • Отличные от MD5 шифрования, включить MD5 и другие виды шифрования в алгоритм (1.5)
  • Автозаполнение в один клик
  • Временно копировать пароль в буфер, удаление из буфера через N секунд, предварительно проверив - пароль ли там.
  • Проверить/сделать под мобильные браузеры
  • Приложение