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

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

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

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

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

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

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