Я долго собирал информацию о том, как организовать свои аккаунты. Как сделать доступ к ним достаточно надёжным и стойким к утере девайсов.
Меня интересовало, как я могу залогиниться туда, где многофакторная авторизация через телефон, в случае потери телефона.
Или, как обезопасить себя от забывания мастер пароля от менеджера паролей? На моей практике я несколько раз забывал пин-код от банковской карты, состоящий из 4-ёх цифр, после ежедневного использования на протяжении многих месяцев.
В итоге, спустя месяцы изучения темы, я пришёл к следующему сетапу, который решил описать в виде мануала.
Потребуется запомнить только 2 мастер пароля. Остальное будет доступно в комбинации с мастер паролями. (идея взята из этой статьи)
Схема защиты устройств и бэкапов моего сетапа
Чтобы проверить работоспособность схемы, попробуйте вычеркивать разные узлы (что будет значить, что узел утерян или недоступен). Проверьте, имеете ли вы доступ к своим аккаунтам без этого узла?
Например, если поломается телефон на котором приложение 2FA, сможете ли вы залогиниться в почту?
Так же для проверки представьте, что какие-то данные скомпрометированы. Например, если пароль от netflix по вине netflix попадёт к злоумышленникам, какие данные они смогут получить?
А если утечёт один из ваших мастер-паролей?
Сколько я не тестировал эту схемку, мне кажется, всё будет хорошо до тех пор, пока не утекут оба ваших мастер-пароля.
Инструкция
1. Придумайте два мастер-пароля
В начале придумываем надёжный пароль длиной в 14 символов для парольного менеджера.
Затем придумываем надёжный пароль длиной в 14 символов для шифрования.
14 символов вполне достаточно, что бы не сильно париться со спец-символами в пароле, но их наличие не повредит.
Буквы в верхних и нижних регистрах и цифры рекомендую добавить обязательно, так как это не создаёт неудобств при вводе пароля.
2. Создайте бэкап мастер-паролей
На случай если мы случайно забудем пароли, стоит их записать на бумажку. Чтобы повысить безопасность этой бумажки, следует добавить ещё 1 слой защиты. (идея взята из этой статьи)
С помощью Banana Split делим нашу заметку с паролями по схеме Шамира на несколько кусков, печатаем их и обязательно от руки дописываем фразу для восстановления.
Прячем эти куски по отдельности в физическом мире на случай, если забудем пароль.
По умолчанию будет 3 куска. Для восстановления данных понадобятся любые 2. Если кто-то случайно найдёт 1, он не только не поймёт что это, но и не сможет получить данные.
Пример 1.
1 кусок дома в сейфе, 1 кусок под чехлом телефона, 1 кусок дома у родителей в фотоальбоме с вашими фотками.
Если вы утопите телефон в реке - всё ок.
Если на ваш дом упадёт метеорит - всё ок.
Если вы поссоритесь с родителями и они решат сжечь альбом с вашими фотками - всё ок.
Если злоумышленник попытается получить ваши пароли, будет сложно достать даже 1 кусок, не говоря о двух.
Пример 2.
Вы поехали в путешествие. 1 кусок кидаем в чемодан, 1 кусок в чехол смартфона, 1 кусок оставляем в сейфе в номере. Какая бы ситуация не произошла, скорее всего всё будет ок.
Примечание: Banana Split красивая, но скорее для параноиков. И ещё она не работает на телефоне. Более простой вариант, который работает везде и тоже сохраняется в виде html-файла - реализация от Иана Коулмана
3. Заводим парольный менеджер
Регистрируемся в Bitwarden с паролем для парольного менеджера.
Можно использовать и другой менеджер, но этот:
-
облачный, значит будет доступен везде
-
исходные коды открыты, значит есть возможность детально разобраться как он работает под капотом и стоит ли ему верить
-
есть платная версия, а значит есть доходы, на которые его будут поддерживать
-
немецкий, а европейцы сильно помешаны на конфиденциальности(UPD: формально он в США) -
сквозное шифрование базы, а значит, без мастер пароля данные не доступны никому
-
ресурсо-стойкое шифрование, а значит, брутфорс будет невозможным, или дорогим
4. Подготавливаем 2FA (многофакторная авторизация)
Устанавливаем на телефон Aegis Authenticator и защищаем его паролем для шифрования + биометрией для удобства.
Можно использовать и другой аутентификатор, но этот:
-
приложение блокируется паролем и биометрией, а значит, если ваш телефон попадёт не в те руки, им это ничего не даст
-
исходные коды открыты, значит есть возможность детально разобраться как он работает под капотом и стоит ли ему верить
-
нидерландский, а европейцы сильно помешаны на конфиденциальности
-
сквозное шифрование базы, а значит, без мастер пароля данные не доступны никому
5. Добавляем 2FA в Bitwarden
Защищаем парольный менеджер при помощи 2FA Aegis
6. Подготавливаем шифровальный инструмент
Открываем веб версию Picocrypt, сохраняем её (жмём Ctrl+U, затем Ctrl+A, затем Ctrl+C, потом открываем текстовый редактор, жмём Ctrl+V и Ctrl+S) и копируем на все наши устройства и во все облака.
Можно использовать и другой шифратор, но этот:
-
автономный и кросс-платформенный, а значит будет работать и на телефоне, и на планшете, и на маке, и на винде
-
открытые исходные коды, есть даже инструкция по сборке и zip архив с исходниками всех зависимостей
-
автор - школьник азиатского происхождения, который пока слишком молод, чтобы творить зло (хотя это скорее минус, но более удобных альтернатив я пока не нашёл. Самое близкое - hat.sh)
7. Создаём бэкап 2FA
Экспортируем Aegis в не зашифрованном виде и шифруем с помощью Picocrypt, который мы только что везде сохранили.
В Aegis есть шифрованный экспорт, но так мы привяжем себя к инфраструктуре aegis, и если она окажется недоступной (приложение исчезнет из маркета), у нас могут появиться проблемы.
На случай, если ваш телефон сломался, а вам надо куда-то залогиниться, и другого телефона, чтобы установить aegis нету, можно воспользоваться 2FAuth, что бы 2FA был доступен с любого устройства. Но это сложный self-hosted инструмент, для которого нужен свой сервер и понимание что вы делаете, и как защитить ваши данные на серверном уровне.
8. Создаём облако для бэкапов инструментов авторизаций
Регистрируемся на Inbox.eu с паролем для шифрования. (Осторожно! Реферальная ссылка!)
Переходим в раздел файлов и загружаем туда бэкап из предыдущего шага и инструмент для расшифровки.
Можно и любое другое облако, потому что содержимое будет зашифровано собственными силами и утечки не критичны.
9. Добавляем нотификации для обновления бэкапов
Регистрируемся в rememberthemilk (пароль генерируем и храним в bitwarden)
Настраиваем ежемесячную задачу для напоминания о бэкапе. Настраиваем оповещение по email на вашу почту, на которую приходят ежемесячные счета для оплаты коммуналки.
Теперь раз в месяц вместе с оплатой счетов мы будем создавать 2 бэкапа - 2FA Aegis и Bitwarden и шифровать их с помощью Picocrypt.
Шифрованные файлы и файл Picocrypt для расшифровки будем закидывать на все наши личные устройства, личные облака, специальное облако для бэкапа авторизаций, на наш смартфон и на флэшку, которую будем хранить в сейфе.
Можно и любой другой инструмент нотификаций, главное, чтобы он был привязан к вашим ежемесячным привычкам (подробнее в книге Атомные привычки).
10. Создаём бэкап парольного менеджера
Экспортируем не шифрованный бэкап Bitwarden и шифруем его при помощи Picocrypt паролем от парольного менеджера.
В Bitwarden есть шифрованный экспорт, но так мы привяжем себя к инфраструктуре Bitwarden, и если она окажется недоступной (сервер уйдёт в оффлайн), у нас могут появиться проблемы.
11. Проверяем, что всё сделали правильно
-
Пробуем восстановить мастер-пароли через куски QR-кодов
-
Пробуем дешифровать бэкап паролей из парольного менеджера
-
Пробуем дешифровать бэкап 2FA
-
Пробуем стереть все данные в Bitwarden и восстановить по бэкапу
-
Пробуем удалить Aegis, установить его снова и импортировать бэкап
-
Пробуем залогиниться на облако бекапов авторизаций и скачать бэкапы
-
В день счетов проверяем свой почтовый ящик на наличие нотификации об обновлении бэкапов
Если все шаги проверены успешно, можно двигаться дальше.
Если что-то зафейлилос, надо попробовать исправить, либо повторить все шаги с самого начала, создав новые аккаунты.
12. Мигрируем
Идём по списку всех наших аккаунтов (список можно составить из головы + сохранённые пароли в браузере + списки oauth google и facebook) и:
-
меняем пароль на новый сгенерированный через Bitwarden
-
сохраняем новый пароль и авторизационные данные в Bitwarden
-
удаляем пароль из браузера
-
добавляем двухфакторную авторизацию через Aegis
Дополнительно
Чтобы упростить себе жизнь, можно купить физический ключ доступа в качестве дополнения второго фактора к Bitwarden.
Таким ключом может быть Yubico Security Key
Можно и другой, но этот:
-
шведский, а европейцы сильно помешаны на конфиденциальности
-
разработан в партнёрстве с Google, т.е. имеет стандарт поддерживаемый крупным игроком
-
относительно не дорогой, т.е. альтернатив дешевле я не встречал
-
других почти нет и выбор крайне ограничен
И ещё:
Для большей степени защиты можно использовать пароль, который дописывать после пароля из менеджера паролей. (идея взята из этой статьи)
Например, ваш дополнительный кусок пароля - bob.
Если в менеджере паролей хранится Wj8R#ieL, то для регистрации и логина вы его копируете и дописываете bob, чтобы получилось Wj8R#ieLbob.
Таким образом, если данные вашего парольного менеджера утекут, злоумышленник всё равно не будет иметь полных паролей.
По сути, таким образом мы добавили ещё один фактор.
Заключение
В заключении хочу добавить, что не следует быть параноиком, стоит просто соблюдать "гигиену" при организации логинов и паролей.
Ваши данные нужны кому-то только, если там детская порнография, или чёрная бухгалтерия с уходом от миллионов налогов.
Для нормального человека "гигиена" при организации логинов и паролей нужна для того, чтобы хакеры от вашего имени не рассылали спам и не занимались фишингом. Им интересны не данные, а возможность действовать от вашего лица.
Если в моём сетапе есть дыры, или вы знаете более хорошие альтернативы моим инструментам, смело отписывайте в комментариях.
Автор:
aleksejs1