К основному контенту

Как содержать пароли

Я долго собирал информацию о том, как организовать свои аккаунты. Как сделать доступ к ним достаточно надёжным и стойким к утере девайсов. 
Меня интересовало, как я могу залогиниться туда, где многофакторная авторизация через телефон, в случае потери телефона. 
Или, как обезопасить себя от забывания мастер пароля от менеджера паролей? На моей практике я несколько раз забывал пин-код от банковской карты, состоящий из 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 с паролем для парольного менеджера. 

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

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. 
Таким образом, если данные вашего парольного менеджера утекут, злоумышленник всё равно не будет иметь полных паролей. 
По сути, таким образом мы добавили ещё один фактор. 

Заключение

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

Если в моём сетапе есть дыры, или вы знаете более хорошие альтернативы моим инструментам, смело отписывайте в комментариях.

Комментарии

Популярные сообщения из этого блога

Как безопасно авторизироваться в веб-сервисе через скомпрометированное устройство?

  Поискав в интернете, побеседовав с ИИ, можно выделить bullet-proof технологию многофакторной авторизации. "Добавь TOTP и спи спокойно", говорят они. Но что, если у вас только одно устройство, и оно скомпрометировано? Например, вы едете в путешествие и берёте с собой только телефон. Можете ли вы доверять вашему телефону? Можете ли вы с него ввести пароль и с него же сгенерировать TOTP? Мне показалось, что собственному телефону я верить не могу (особенно после того, как удалив приложение одной нехорошей соцсети, через пару недель я обнаружил, что приложение снова установлено). Я задался вопросом безопасной авторизации на скомпрометированном устройстве. В голову сразу пришла идея шифрования в уме: авторизатор выдаёт вам контрольное слово, вы в уме его шифруете алгоритмом, который знаете только вы и авторизатор, и в качестве пароля вписываете результат шифрования (или хэширования). Но можно ли шифровать в уме? Простые алгоритмы шифрования Шифр Цезаря . Ключ - это число. Суть - ...

Сплит клавиатура - Lily58

💡  Идея   Моя предыдущая механическая клавиатура была запланирована на 5 лет и они прошли. Отсюда вырос интерес. Менять просто так на аналогичную не хотелось, поэтому в глаза бросилась экзотика - сплит клавиатуры. В готовом виде в продаже ничего интересного не попалось и идея угасла, но попала в список желаемых подарков. Деду морозу тема зашла и на новый год я получил основную часть деталей от Lily58. Хотелось минималистичный девайс, но чтобы кнопок хватало для кириллицы и цифр. Так было отброшено много кандидатов, а дальше выбор был практически наугад.  🏭  Сборка Сборка оказалась очень увлекательной. Какой-то опыт пайки у меня был, но лет десять назад. Полностью спаять одну половинку заняло 2 сессии по часу. Удивило меня то, что перепрошивка заняла больше времени и усилий. Если про механическую сборку есть много мануалов, то про перепрошивку есть только отдельные универсальные на все клавиатуры. После заливки прошивки кнопки заработали. Когда была готова вторая ...

Распределённые облачные системы хранения Filecoin и Storj

Когда-то файлы хранили на дискетах, потом на дисках, потом на флэшках. Закончилось всё облаками. Тогда встал ряд различных вопросов по надёжности и приватности. С одной стороны можно просто доверить файлы гуглу или яндексу, но тогда о приватности можно забыть. C другой стороны можно завести собственное облачное хранилище, будь то дорогое железное решение от Synology, или оперсорсное на арендованной vps на nextcloud, но тут требуется вовлечение, что бы облако оставалось в рабочем состоянии (следить за апдейтами, своевременно обновлять оборудование, поддерживать резервное железо). Вместе с развитием блокчейна и развитием децентрализованных технологий web 3.0, появились и облачные хранилища, обещающие приватность, доступность и низкую цену. Предлагаю к рассмотрению 2 проекта, которые появились более 10 лет назад, и до сих пор существуют - Filecoin и Storj. Filecoin К сожалению, децентрализованные системы облачного хранилища влезли в блокчейн. Самая популярная система - filecoin . Если ...