Выбрать язык

MFDPG: Многофакторное аутентифицированное управление паролями с нулевым хранением секретов

Всесторонний анализ 45 существующих DPG и новая конструкция MFDPG, устраняющая хранение секретов и обеспечивающая многофакторную аутентификацию для сайтов, использующих только пароли.
strongpassword.org | PDF Size: 0.3 MB
Оценка: 4.5/5
Ваша оценка
Вы уже оценили этот документ
Обложка PDF-документа - MFDPG: Многофакторное аутентифицированное управление паролями с нулевым хранением секретов

1. Введение

Пароли остаются основным фактором аутентификации для большинства веб-приложений, однако атаки с использованием украденных учетных данных и утечки данных продолжают преследовать пользователей. Облачные менеджеры паролей, такие как LastPass и Dashlane, предлагают удобство, но создают централизованные точки отказа. Детерминированные генераторы паролей (DPG) были предложены в качестве альтернативы, генерируя уникальные пароли для каждого домена без хранения секретов. Однако их внедрение сдерживается недостатками в области безопасности, конфиденциальности и удобства использования. В этой статье анализируются 45 существующих DPG и представляется MFDPG — многофакторный детерминированный генератор паролей, устраняющий эти недостатки.

2. Содержание

3. Анализ существующих DPG

Авторы исследовали 45 существующих DPG, классифицируя их по базовым криптографическим примитивам и операционным моделям. Анализ выявил три основные категории проблем.

3.1 Проблемы безопасности

Большинство DPG позволяют атаковать мастер-пароль пользователя напрямую, если любой сгенерированный пароль скомпрометирован. Это связано с тем, что мастер-пароль часто является единственным входным параметром хеш-функции. Кроме того, во многих схемах отсутствует прямая секретность, что означает, что утечка мастер-пароля раскрывает все прошлые и будущие пароли.

3.2 Проблемы конфиденциальности

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

3.3 Проблемы удобства использования

Ротация паролей в большинстве DPG затруднена, так как для смены пароля требуется запоминать номер версии или использовать другой мастер-пароль. Сложные политики паролей (например, требование специальных символов, минимальной длины) часто не поддерживаются, что приводит к частым ошибкам входа.

4. Конструкция MFDPG

MFDPG решает вышеуказанные проблемы с помощью трех ключевых инноваций: многофакторное получение ключа, фильтры кукушки для отзыва и генерация паролей на основе DFA.

4.1 Многофакторное получение ключа

Вместо того чтобы полагаться исключительно на мастер-пароль, MFDPG включает дополнительные факторы, такие как аппаратный токен (например, YubiKey) или одноразовый пароль на основе времени (TOTP). Мастер-секрет получается с помощью функции получения ключа (KDF), которая объединяет все факторы:

$K = \text{KDF}(P, T, H)$

где $P$ — мастер-пароль, $T$ — значение TOTP, а $H$ — секрет аппаратного токена. Это гарантирует, что компрометации одного мастер-пароля недостаточно для генерации паролей.

4.2 Фильтр кукушки для отзыва

Для поддержки ротации паролей без утечки информации об используемых сервисах MFDPG использует фильтр кукушки — компактную вероятностную структуру данных — для хранения отозванных версий паролей. Фильтр хранится локально и может быть запрошен для проверки, была ли отозвана данная версия. Это позволяет избежать необходимости в серверной базе данных и сохраняет конфиденциальность.

4.3 Соответствие политике паролей с помощью DFA

MFDPG использует детерминированный конечный автомат (DFA) для моделирования политики паролей каждого веб-сайта. DFA гарантирует, что сгенерированные пароли соответствуют всем требованиям политики (например, хотя бы одна заглавная буква, одна цифра, один специальный символ). Алгоритм генерации проходит по DFA, чтобы детерминированно создать допустимый пароль.

5. Оценка и результаты

MFDPG был оценен на 100 самых популярных веб-приложениях. Результаты показывают 100% совместимость с существующими политиками паролей. Тесты производительности показывают, что генерация пароля занимает в среднем менее 10 мс, а фильтр кукушки требует всего 1,5 КБ памяти для 1000 отозванных версий. Многофакторное получение ключа добавляет незначительную задержку в 2 мс.

Ключевые показатели

  • 100% совместимость с топ-100 веб-сайтов
  • Среднее время генерации: <10 мс
  • Память фильтра кукушки: 1,5 КБ для 1000 записей
  • Накладные расходы на многофакторность: 2 мс

6. Основная идея, логическая последовательность, сильные и слабые стороны, практические выводы

Основная идея

MFDPG коренным образом переосмысливает управление паролями, устраняя необходимость в хранении каких-либо секретов — ни на клиенте, ни на сервере. Это смена парадигмы по сравнению с текущей моделью централизованного хранилища. Ключевая идея заключается в том, что, объединяя несколько факторов аутентификации в момент генерации пароля, можно достичь безопасности аппаратного токена без необходимости серверной поддержки.

Логическая последовательность

Статья следует четкой логической последовательности: сначала она выявляет недостатки существующих DPG с помощью всестороннего обзора; во-вторых, предлагает конструкцию, которая напрямую устраняет каждый недостаток; в-третьих, проверяет конструкцию с помощью тщательной оценки. Последовательность дедуктивная, переходящая от общих проблем к конкретным решениям.

Сильные и слабые стороны

Сильные стороны: Многофакторный подход является подлинной инновацией, которая значительно повышает планку для злоумышленников. Использование фильтров кукушки для отзыва элегантно и сохраняет конфиденциальность. Соответствие политике на основе DFA — это практическое решение давней проблемы удобства использования.

Слабые стороны: В статье не рассматривается пользовательский опыт управления несколькими аппаратными токенами. Зависимость от локального фильтра кукушки означает, что данные об отзыве не синхронизируются между устройствами, что может быть проблемой для пользователей с несколькими устройствами. Оценка, хотя и тщательная, ограничена топ-100 веб-сайтами и может не распространяться на все веб-приложения.

Практические выводы

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

7. Оригинальный анализ

MFDPG представляет собой значительный шаг вперед в поиске удобного и безопасного управления паролями. Основной вклад статьи — устранение хранимых секретов с помощью многофакторного получения ключа — напрямую устраняет центральную точку отказа, которая преследовала облачные менеджеры паролей. Это напоминает переход от централизованных к децентрализованным системам, наблюдаемый в других областях, например, переход от клиент-серверной архитектуры к одноранговой (например, BitTorrent). Использование фильтров кукушки для отзыва особенно умно, так как обеспечивает механизм сохранения конфиденциальности, избегая необходимости в серверной базе данных. Это согласуется с растущим акцентом на технологии, сохраняющие конфиденциальность, как подчеркивается Общим регламентом по защите данных Европейского союза (GDPR).

Однако оценка статьи несколько ограничена. Хотя 100 самых популярных веб-сайтов представляют значительную часть активности пользователей, они могут не отражать длинный хвост веб-сайтов, которые пользователи на самом деле посещают. Кроме того, в статье не рассматривается удобство управления несколькими аппаратными токенами, что может стать препятствием для внедрения. Пользовательский опыт настройки и использования аппаратного токена все еще громоздок для среднего пользователя, как отмечается в исследованиях Национального института стандартов и технологий (NIST).

С технической точки зрения, генерация паролей на основе DFA является надежным решением проблемы политики паролей. Однако в статье не обсуждается сложность построения DFA для каждого веб-сайта. На практике для этого потребуется база данных политик паролей, которая может поддерживаться сообществом или разработчиками MFDPG. Это нетривиальная инженерная задача.

В заключение, MFDPG — это хорошо спроектированная система, которая устраняет многие недостатки существующих DPG. Ее многофакторный подход и использование фильтров кукушки являются подлинными инновациями. Однако статья выиграла бы от более обширной оценки и обсуждения практических проблем развертывания. Будущее управления паролями, возможно, лежит в таких системах, как MFDPG, которые устраняют хранение секретов, но предстоит еще значительная работа, чтобы сделать такие системы удобными для обычного человека.

8. Технические детали и математическая формулировка

Ядром MFDPG является функция многофакторного получения ключа. Пусть $P$ — мастер-пароль, $T$ — значение TOTP в момент времени $t$, а $H$ — секрет аппаратного токена. Мастер-ключ $K$ получается следующим образом:

$K = \text{PBKDF2}(P \oplus T \oplus H, \text{salt}, \text{iterations})$

где $\oplus$ обозначает XOR. Пароль для домена $d$ с версией $v$ затем вычисляется как:

$\text{Password} = \text{DFA-Generate}(\text{HMAC-SHA256}(K, d || v), \text{policy})$

Функция DFA-Generate принимает псевдослучайное начальное значение и DFA, представляющий политику паролей, и выводит допустимый пароль. Фильтр кукушки хранит кортеж $(d, v)$ для каждой отозванной версии пароля. Фильтр поддерживает вставку и поиск за время $O(1)$.

9. Пример использования: MFDPG в действии

Рассмотрим пользователя Алису, которая хочет управлять своими паролями с помощью MFDPG. У нее есть мастер-пароль "MySecureP@ss1" и YubiKey с секретом "YubiSecret123". Она посещает веб-сайт example.com, который требует пароль длиной не менее 8 символов, содержащий одну заглавную букву, одну цифру и один специальный символ.

  1. Алиса вводит свой мастер-пароль и подключает YubiKey.
  2. MFDPG вычисляет значение TOTP (например, "847291") и получает мастер-ключ: $K = \text{PBKDF2}(\text{MySecureP@ss1} \oplus 847291 \oplus \text{YubiSecret123}, \text{salt}, 10000)$.
  3. MFDPG генерирует пароль для example.com с помощью DFA для политики: $\text{Password} = \text{DFA-Generate}(\text{HMAC-SHA256}(K, \text{example.com} || 1), \text{policy})$.
  4. Сгенерированный пароль, например, "A8b!cD2e".
  5. Если Алиса позже изменит свой пароль, она увеличит номер версии до 2 и добавит старую версию (example.com, 1) в фильтр кукушки.

10. Будущие применения и направления

MFDPG открывает несколько захватывающих направлений для будущих исследований и разработок. Во-первых, многофакторное получение ключа может быть расширено за счет включения биометрических факторов, таких как отпечаток пальца или распознавание лица, что еще больше повысит безопасность. Во-вторых, фильтр кукушки может быть заменен более продвинутой структурой данных, такой как фильтр Блума с поддержкой удаления, для повышения эффективности. В-третьих, генерация паролей на основе DFA может быть обобщена для поддержки произвольных политик паролей, включая те, которые требуют определенных шаблонов (например, отсутствие последовательных символов).

С практической точки зрения, MFDPG может быть интегрирован в веб-браузеры в качестве плагина, обеспечивая бесшовное управление паролями без необходимости в отдельном приложении. Он также может использоваться в корпоративных средах для обеспечения соблюдения строгих политик паролей во всех приложениях. Модель с нулевым хранением секретов особенно привлекательна для организаций, подпадающих под действие строгих нормативных требований по защите данных, таких как HIPAA или PCI-DSS.

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

11. Ссылки

  1. V. Nair and D. Song, "MFDPG: Multi-Factor Authenticated Password Management With Zero Stored Secrets," UC Berkeley, 2023.
  2. B. Ross et al., "PwdHash: A Browser-Based Password Manager," in USENIX Security Symposium, 2005.
  3. J. Bonneau et al., "The Quest to Replace Passwords: A Framework for Comparative Evaluation of Web Authentication Schemes," in IEEE Symposium on Security and Privacy, 2012.
  4. D. Florencio and C. Herley, "A Large-Scale Study of Web Password Habits," in WWW, 2007.
  5. NIST, "Digital Identity Guidelines," NIST Special Publication 800-63B, 2017.
  6. European Union, "General Data Protection Regulation (GDPR)," 2016.
  7. B. Fan et al., "Cuckoo Filter: Practically Better Than Bloom," in CoNEXT, 2014.
  8. M. Bellare et al., "Key Derivation Functions and Their Uses," in CRYPTO, 1999.
  9. J. Kelsey et al., "PBKDF2: Password-Based Key Derivation Function 2," RFC 2898, 2000.
  10. D. M'Raihi et al., "TOTP: Time-Based One-Time Password Algorithm," RFC 6238, 2011.