Артём Басанец
  • 6 мин
  • 156

Мастер пароль: что это такое и почему в TeamDo его нет

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

Рассказываем подробнее о том, как работает мастер-пароль и почему у менеджера паролей Пароли.TeamDo его нет.

Что такое мастер-пароль?

Мастер-пароль — это главный секретный ключ, который используется для доступа ко всем паролям в менеджере паролей.

Простыми словами, это единственный пароль, который вам нужно запомнить. Вместо того чтобы держать в голове сотни разных комбинаций от сайтов и приложений, вы запоминаете один, но очень надежный мастер-пароль.

Практика «главного пароля ко всем остальным паролям» исторически сложилась со времен первого менеджера паролей. В 1997 г. Брюс Шнайрер выпустил бесплатную утилиту Password Safe. Это была простая программа под Windows, в которой вся база с паролями хранилась в одном зашифрованном файле. В 2002 году был опубликован первый релиз с открытым кодом и менеджер паролей стал доступен для всех разработчиков.

Но, говоря откровенно, с таким паролем есть проблемы. Посмотрите на требования: 

  • Длина: Минимум 12–16 символов. Чем длиннее комбинация, тем сложнее её взломать брутфорсом (перебором).
  • Сложность: Использование букв в разных регистрах (a-z, A-Z), цифр и специальных знаков (@, #, &, !).
  • Отсутствие логики: Пароль не должен содержать ваших имен, дат рождения, клише (например, password123) или словарных слов.
  • Уникальность: Этот пароль нигде больше не используется.

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

Считается, что лучший способ создать пароль, который трудно взломать, но легко запомнить — метод, основанный на мнемонике. Вы придумваете длинную фразу, понятную вам и которую легко держите в голове. Например: Я впервые увидел море в 2018 году! 

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

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

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

Как это работает с технической точки зрения?

Превращение мастер-пароля в ключ

  1. Пароль проходит через  функцию формирования ключа (KDF — Key Derivation Function) К мастер-паролю добавляется случайная криптографическая  «соль» (salt).  Генерируется случайная последовательность байт (обычно 16–32 байта). Она не секретна и хранится рядом с зашифрованным хранилищем. Соль решает две задачи:
    • Два одинаковых пароля у разных пользователей дадут разные ключи.

    • Атака по предвычисленным таблицам (радужные таблицы) становится невозможной.

  2. Пароль + соль прогоняются через хеш-функцию (например, SHA-256) тысячи или сотни тысяч раз. Например, PBKDF2 делает это указанное число итераций (типично от 100 000 до 600 000). На каждой итерации результат предыдущего хеширования снова хешируется вместе с паролем и солью.

    Зачем это нужно? Это сильно замедляет перебор. Если пользователь вводит пароль один раз — он подождёт лишние 0.5–1 секунду. А злоумышленник, укравший хранилище, будет вынужден тратить ту же секунду на каждую попытку. Миллиард попыток превращаются в десятки лет.

  3. На выходе KDF получается массив байт строго заданной длины — например, 256 бит (32 байта) для алгоритма AES-256

  4. Полученным ключом шифруется всё хранилище.  Может использоваться многоуровневая цепочка: мастер-пароль расшифровывает RSA-ключ, тот — ключ сейфа, тот — ключ конкретного пароля. Но на нижнем уровне всё равно всё сводится к мастер-паролю.

Что хранится на сервере

В результате на сервер сохраняется только:

  • Зашифрованное хранилище (набор байт, нечитаемый без ключа).
  • Соль (открыто).
  • Количество итераций KDF (открыто).
  • Верификатор — для проверки правильности пароля без его раскрытия. Он устроен так: 
    Берётся хеш от ключа (или двойной хеш от пароля).
    Сервер хранит этот хеш.
    При входе пользователь присылает этот верификатор (а не пароль и не сам ключ). Сервер сравнивает.

Ни мастер-пароль, ни сам ключ шифрования никогда не сохраняются.

Процесс разблокировки (обратный)

При вводе мастер-пароля:

  • Программа считывает соль и количество итераций (из сохранённого файла или от сервера).
  • Заново прогоняет введённый пароль через ту же KDF.
  • Если полученный верификатор совпадает с сохранённым — пароль верен.
  • Полученный ключ используется для расшифровки хранилища в оперативной памяти.
  • После использования ключ и мастер-пароль стираются из памяти (перезаписываются нулями).

Какие менеджеры паролей используют мастер-пароли?

Мастер-пароль есть в российских и западных менеджерах паролей: Bitwarden, KeePass / KeePassXC, 1Password, LastPass, Dashlane, Keeper, Enpass, Roboform, Sticky Password, Zoho Vault.

Российские менеджеры паролей так же используют мастер-пароли: BearPass, Менеджер паролей Касперского (Kaspersky Password Manager), Passwork.

Почему у TeamDo нет мастер-пароля и что вместо него?

В TeamDo нет мастер-пароля в классическом понимании, потому что используется совершенно иная архитектура безопасности для всей платформы. Пароли.TeamDo — это один из продуктов, для которого безопасность критически важна, но и удобство для пользователя не менее важно. Ведь, если пользователю будет не удобно и сложно, он будет нарушать правила безопасности. А длинный, плохо запоминаемы мастер-пароль — это проблема.

Вместо симметричного шифрования (один мастер-пароль = один ключ), мы используем асимметричное шифрование на базе алгоритма RSA.  Мастер-пароль не нужен, потому что доступ к расшифровке привязан не к секретной фразе, а к криптографическому ключу, который генерируется и хранится на стороне пользователя. Если этого ключа нет, расшифровать данные не получится.

Аутентификация отделена от шифрования. Войти в учётную запись TeamDo по логину/паролю можно, но увидеть зашифрованные данные, только если устройство будет идентифицировано и предоставит приватный ключ.

Вячеслав Крампец
Технический директор TeamDo

Отвечает за архитектуру и технологическую стратегию платформы и продуктов TeamDo. Контролирует разработку и внедрение новых фич.
Предприниматель. Опыт в IT и управлении бизнесом более 30 лет.

«Мы знаем, что люди не могут запоминать длинные и сложные пароли. Если нужно запомнить и мастер-пароль и дополнительный пароль к сейфу или хранилищу, то люди начинают или использовать одинаковые пароли или хранить их в удобном месте — на бумаге, в файлах. И в этом случае смысл в защите данных теряется. Поэтому защиту строим по-другому: мы сами создаём зашифрованный ключ, который хранится на устройстве пользователя и используем несколько факторов аутентификации. Поэтому пользователь может помнить один простой пароль.»