Мастер-пароль (алгоритм)
Оригинальный автор(ы) | Мартен Биллемонт |
---|---|
Первоначальный выпуск | 15 июня 2012 г |
Стабильная версия | 2.3
/ 19 апреля 2015 г |
Репозиторий | www |
Написано в | Ява , С , JavaScript |
Операционная система | Microsoft Windows и Unix-подобные , включая OS X , iOS и Android |
Доступно в | Английский |
Тип | Генератор паролей |
Лицензия | Стандартная общественная лицензия GNU |
Веб-сайт | www |
Мастер-пароль — это тип алгоритма, впервые реализованный Маартеном Биллемонтом для создания уникальных паролей воспроизводимым образом. Он отличается от традиционных менеджеров паролей тем, что пароли не хранятся на диске или в облаке, а каждый раз заново генерируются на основе введенной пользователем информации: их имени, мастер-пароля и уникального идентификатора службы, для которой предназначен пароль. for (обычно URL). [ 1 ]
Поскольку пароли нигде не хранятся, этот подход затрудняет их кражу или перехват злоумышленникам. Это также устраняет необходимость синхронизации между устройствами, резервного копирования потенциальных баз паролей и рисков утечки данных . Иногда это называют управлением паролями без синхронизации .
Алгоритм
[ редактировать ]Реализация Billemont включает в себя следующие параметры: [ 1 ]
- name : имя пользователя, используемое в качестве соли . Полное имя пользователя выбрано потому, что оно обеспечивает достаточно высокий уровень энтропии и при этом маловероятно, что его забудут.
- master_password : секрет для генерации главного ключа.
- site_name : уникальное имя службы, для которой предназначен пароль. Обычно простое доменное имя.
- счетчик : целое число, которое можно увеличить, когда служба запрашивает новый пароль. По умолчанию это 1.
- пароль_тип : тип пароля определяет длину и состав результирующего пароля, см. ниже.
Генерация мастер-ключа
[ редактировать ]пользователя В реализации Billemont главный ключ представляет собой глобальный 64-байтовый секретный ключ, созданный на основе секретного главного пароля и дополненный его полным именем. Соль используется для предотвращения атак на основе радужных таблиц . Алгоритм scrypt , намеренно медленная функция получения ключей , используется для генерации главного ключа, чтобы сделать атаку методом перебора невозможной.
salt = "com.lyndir.masterpassword" + length(name) + name
master_key = scrypt(master_password, salt, 32768, 8, 2, 64)
Генерация начального числа шаблона
[ редактировать ]Начальное значение шаблона — это секрет сайта в двоичной форме, сгенерированный из главного ключа, имени сайта и счетчика с использованием алгоритма HMAC-SHA256 . Позже он преобразуется в строку символов с использованием шаблонов паролей. Начальное значение шаблона делает каждый пароль уникальным для веб-сайта и пользователя.
seed = hmac_sha256(master_key, "com.lyndir.masterpassword" + length(site_name) + site_name + counter)
Генерация пароля
[ редактировать ]Затем начальное значение двоичного шаблона преобразуется в один из шести доступных типов паролей. Типом по умолчанию является пароль максимальной безопасности . Можно выбрать и другие, если политика паролей службы не разрешает пароли этого формата:
- Пароль максимальной безопасности (20 печатных символов ASCII )
- Длинный пароль (14 печатных символов ASCII)
- Средний пароль (8 печатных символов ASCII)
- Короткий пароль (4 печатных символа ASCII)
- Основной пароль (8 буквенно-цифровых символов)
- ПИН-код (4 цифры)
Реализации
[ редактировать ]Биллемонт также создал несколько бесплатных программных реализаций алгоритма Мастер-пароля, лицензированных под лицензией GPLv3 .: [ 2 ]
- Приложение для iOS . Реализация iOS была впервые выпущена в 2012 году. [ 3 ]
- Приложение для Mac OS X
- Приложение для Android
- Графическое настольное приложение, написанное на Java.
- Приложение командной строки, написанное на C.
- Плагин . для Firefox и Chromium браузеров [ 4 ] [ 5 ]
- Веб-клиент, написанный на JavaScript . [ 6 ]
Ссылки
[ редактировать ]- ^ Перейти обратно: а б Бильмонт, Мартен. «Алгоритм мастер-пароля» . Архивировано из оригинала 9 декабря 2017 года . Проверено 8 мая 2015 г.
- ^ «Файл лицензии репозитория MasterPassword» . Гитхаб . Проверено 15 мая 2015 г.
- ^ Бильмонт, Мартен. «Выпуск 1.0.0» . Гитхаб . Проверено 15 мая 2015 г.
- ^ Дополнение Masterpassword к Firefox
- ^ Плагин Masterpassword для Chrome
- ^ Бильмонт, Мартен. «Главная страница главного пароля» . Проверено 15 мая 2015 г.