Сложная система - не сложная, а просто так описана
В предыдущей статье, я описал свой сетап хранения авторотационных данных (паролей). Многие эксперты изучили её и дали свои комментарии, - о том, где могут быть проблемы, о том, что можно упростить, и о том, что можно делать по другому.
Но начнём мы с небольшого объяснения, почему система такая сложная. Вспомним суть:
1) Для логина на "не значимые" сайты (например в аккаунт очередного AI-продукта) мы используем уникальный пароль, который храним в программе хранения паролей (парольном менеджере)
2) Для логина на "более важные ресурсы" (например в аккаунт на github), мы используем уникальный пароль, который храним в парольном менеджере, плюс одноразовый пароль (TOTP - Time-based One-Time Password) который нам покажет специальное приложение на телефоне.
Вот и всё. Это вся суть повседневного использования всей системы. Но почему она тогда казалась такой сложной? Вероятно из-за дополнительных слоёв защиты от самого себя или любых непредвиденных факторов. А именно:
Использовать один пароль везде - это очень популярная схема. Она удобна и естественна. Как только вы впервые в жизни сталкиваетесь с регистрацией, вы придумываете пароль. На второй регистрации вы не тратите время и используете уже придуманный пароль. И так далее.
Так длится до тех пор, пока один из сайтов не откажется принимать ваш пароль, сославшись на плохую сложность пароля. Дальше есть 2 варианта: вы придумываете более сложный пароль, либо вы модифицируете первый пароль, добавляя в него дополнительные цифры и символы.
У такого подхода есть 2 проблемы:
Есть хитрый способ использовать везде разные пароли и всё помнить без менеджера паролей. Нужно просто придумать собственный алгоритм генерации паролей.
Например:
Не знаю, как у остальных, но мне часто приходится вводить пароли в присутствии других людей. Это может быть собрание, презентация или просто коллега подошёл к моему рабочему месту и попросил меня что-то посмотреть, а я оказался не авторизирован. Получается я при нём должен открыть sha1-генератор онлайн, вписать туда пароль в открытом виде (или пусть даже в закрытом), скопировать результат и вставить в поле с паролем? Вам не кажется, что стоящий рядом человек сразу поймёт вашу систему?
Что мы пытаемся защитить
Многие удивлялись, зачем вообще нужна такая "сложная" и надёжная система для простых людей. Что именно защищать? Ведь у обычного человека нет секретов, достойных такой надёжной системы.
С этим я соглашусь. У меня тоже нет ничего настолько ценного, что бы закрывать это настолько, что сам google со всеми его мощностями не сможет это открыть.
Но у меня, как и у каждого из вас есть кое-что другое. Это ваша личность.
Очень редко, когда кто-то пытается вас взломать ради получения секретов. Зато намного чаще это делают, чтобы:
Многие сочли bitwarden менее надёжным, чем keypass.
Это парольные менеджеры. Разница в том, что база паролей от bitwarden хранится в облаке у дяди, а база от keypass находится локально на вашем устройстве без вмешательства третьих лиц.
В случае с keypass, пользователи закидывают копию базы на dropbox или аналогичное файловое хранилище третьего лица, для удобства доступности базы и автоматического резервного копирования.
Оба менеджера шифруют и расшифровывают хранилище паролей локально, по мере необходимости, и третья сторона не может видеть сами пароли.
Оба менеджера имеют открытый исходный код, и могут быть проверены на наличие дыр на стороне клиента.
В bitwarden нормальным кейсом использования может считаться web-клиент, который находится на серверах третьего лица. Из-за этого клиент может быть тихо подменён на тот, который подсмотрит ваши пароли. Тут keypass действительно оказывается в лидерах по безопасности. Зато bitwarden вырывается вперёд в плане удобства, - вам не надо устанавливать клиент, он всегда под рукой на любом устройстве мира.
Насколько вероятно, что bitwarden на своих серверах разместит поддельный клиент? Думаю, это возможно только в том случае, если вы храните секрет, который стоит дороже всей компании, когда сам bitwarden готов пожертвовать репутацией и угробить своё творение и свой бизнес ради вашего секрета. Так что, если вы не собираетесь хранить пароль от bitcoin кошелька с миллиардом долларов, спокойно можете использовать bitwarden.
В предыдущей статье, я описал свой сетап хранения авторотационных данных (паролей). Многие эксперты изучили её и дали свои комментарии, - о том, где могут быть проблемы, о том, что можно упростить, и о том, что можно делать по другому.
Но начнём мы с небольшого объяснения, почему система такая сложная. Вспомним суть:
1) Для логина на "не значимые" сайты (например в аккаунт очередного AI-продукта) мы используем уникальный пароль, который храним в программе хранения паролей (парольном менеджере)
2) Для логина на "более важные ресурсы" (например в аккаунт на github), мы используем уникальный пароль, который храним в парольном менеджере, плюс одноразовый пароль (TOTP - Time-based One-Time Password) который нам покажет специальное приложение на телефоне.
Вот и всё. Это вся суть повседневного использования всей системы. Но почему она тогда казалась такой сложной? Вероятно из-за дополнительных слоёв защиты от самого себя или любых непредвиденных факторов. А именно:
- Защита от того, что мы потеряем телефон. Создание и хранение копии настроек приложения с одноразовыми паролями, что бы можно было его настроить на новом телефоне.
- Защите от того, что менеджер паролей перестанет работать. Создание и хранение копии всех паролей в отдельном файлике.
- Защита от того, что мы забудем главный пароль от менеджера паролей. Создание и хранение распечатанной копия главных паролей.
- Шифруем копию настроек TOTP (паролем от приложения одноразовых паролей)
- Шифруем копию всех паролей из менеджера (паролем от парольного менеджера)
- Режем копию паролей на листике на 3 части по схеме Шамира и прячем в разных местах.
- В качестве парольного менеджера используем Bitwarden.
- В качестве TOTP используем Aegis.
- В качестве инструмента деления записки с паролями используем Bananasplit.
- В качестве шифратора используем Picocrypt.
Использовать один пароль везде - это очень популярная схема. Она удобна и естественна. Как только вы впервые в жизни сталкиваетесь с регистрацией, вы придумываете пароль. На второй регистрации вы не тратите время и используете уже придуманный пароль. И так далее.
Так длится до тех пор, пока один из сайтов не откажется принимать ваш пароль, сославшись на плохую сложность пароля. Дальше есть 2 варианта: вы придумываете более сложный пароль, либо вы модифицируете первый пароль, добавляя в него дополнительные цифры и символы.
У такого подхода есть 2 проблемы:
- В какой-то момент вы начнёте путаться, где какая версия пароля: где просто пароль, где с цифрами, где с символами.
- Рано или поздно, один из "незначимых" сайтов взломают хакеры и узнают ваш пароль. Это может быть какой-то старый форум, на котором вы по быстрому зарегистрировались, что бы всего 1 раз получить какую, то информацию. А в итоге хакер получит тот же пароль, который вы используете на своей почте.
Есть хитрый способ использовать везде разные пароли и всё помнить без менеджера паролей. Нужно просто придумать собственный алгоритм генерации паролей.
Например:
- для пароля от google.com: goo-bob-com
- для пароля от wikipedia.org: wik-bob-org
- для пароля от habr.ru: hab-bob-ruДумаю суть понятна.Проблемы начинаются, когда:
- вам надо сменить пароль на новый
- twitter.com переименовался в x.com, а пароль x-bob-com слишком короткий для системы
- какая-то система просит, что бы были цифры
- какая-то система не поддерживает символ "-"Даже, если вы придумаете как решить все эти проблемы в самом начале, в процессе эксплуатации всплывут новые проблемы, которые заставят вас вводить версии и путаться, на каком ресурсе какая версия.А при раскрытии вашего алгоритма (если кто-то увидит ваш пароль и разгадает алгоритм генерации), вам придётся вспоминать все места, где вы зарегистрированы, идти туда и менять пароли на какой-то более новый алгоритм.
Не знаю, как у остальных, но мне часто приходится вводить пароли в присутствии других людей. Это может быть собрание, презентация или просто коллега подошёл к моему рабочему месту и попросил меня что-то посмотреть, а я оказался не авторизирован. Получается я при нём должен открыть sha1-генератор онлайн, вписать туда пароль в открытом виде (или пусть даже в закрытом), скопировать результат и вставить в поле с паролем? Вам не кажется, что стоящий рядом человек сразу поймёт вашу систему?
Что мы пытаемся защитить
Многие удивлялись, зачем вообще нужна такая "сложная" и надёжная система для простых людей. Что именно защищать? Ведь у обычного человека нет секретов, достойных такой надёжной системы.
С этим я соглашусь. У меня тоже нет ничего настолько ценного, что бы закрывать это настолько, что сам google со всеми его мощностями не сможет это открыть.
Но у меня, как и у каждого из вас есть кое-что другое. Это ваша личность.
Очень редко, когда кто-то пытается вас взломать ради получения секретов. Зато намного чаще это делают, чтобы:
- Вести DDoS-атаки с вашего IP на мощностях вашего компьютера
- Рассылать с вашего почтового ящика спам и фишинговые письма
- Писать от вашего имени вашим контактам в мессенджерах с просьбой одолжить денег
- Брать на ваше имя кредит
- Покупать через ваш аккаунт с привязанной карточкой товары в интернете
- Любая прочая преступная деятельность, которая будет скрывать реальную личность злодея вашим именем.
Многие сочли bitwarden менее надёжным, чем keypass.
Это парольные менеджеры. Разница в том, что база паролей от bitwarden хранится в облаке у дяди, а база от keypass находится локально на вашем устройстве без вмешательства третьих лиц.
В случае с keypass, пользователи закидывают копию базы на dropbox или аналогичное файловое хранилище третьего лица, для удобства доступности базы и автоматического резервного копирования.
Оба менеджера шифруют и расшифровывают хранилище паролей локально, по мере необходимости, и третья сторона не может видеть сами пароли.
Оба менеджера имеют открытый исходный код, и могут быть проверены на наличие дыр на стороне клиента.
В bitwarden нормальным кейсом использования может считаться web-клиент, который находится на серверах третьего лица. Из-за этого клиент может быть тихо подменён на тот, который подсмотрит ваши пароли. Тут keypass действительно оказывается в лидерах по безопасности. Зато bitwarden вырывается вперёд в плане удобства, - вам не надо устанавливать клиент, он всегда под рукой на любом устройстве мира.
Насколько вероятно, что bitwarden на своих серверах разместит поддельный клиент? Думаю, это возможно только в том случае, если вы храните секрет, который стоит дороже всей компании, когда сам bitwarden готов пожертвовать репутацией и угробить своё творение и свой бизнес ради вашего секрета. Так что, если вы не собираетесь хранить пароль от bitcoin кошелька с миллиардом долларов, спокойно можете использовать bitwarden.