Возможна ли двухфакторная авторизация, основанная только на хранении пароля в голове?
Гитхаб вынуждает переходить на двухфакторную авторизацию. Пока нашел временное решение в виде какого-то расширения для браузера. Но оно временное - пока локальное хранилище браузера не отвалится. На самом деле по ряду причин мне нужно решение, которое позволит при необходимости выполнить авторизацию, опираясь ТОЛЬКО на пароли, удерживаемые в собственной голове. Никаких смартфонов, никаких аппаратных ключей и прочих физических артефактов. Только чистый компьютер и собственная память. С однофакторной авторизацией так и было - парольная фраза, которую фиг подберешь, но которую я наизусть помню. А что делать с двухфактроной?
Идеальным было бы решение на базе какого-то известного, уважаемого и не собирающегося закрываться или исчезать в течение минимум десятка лет сервиса, для доступа к которому достаточно однофакторной авторизации паролем, и на котором можно хранить всё, что нужно для двухфакторной авторизации на других сервисах. Какой-то криптоконтейнер с ключами или что там хранится. Может быть у них будет свое бесплатное приложение или расширение для браузера, которое всегда можно скачать. Других вариантов в голову не приходит. Что посоветуете?
По сути секретная часть TOTP это просто строка. Так что кладём её в файл, шифруем симметричным алгоритмом и выкладываем куда угодно, на гихаб, на файлопомойки и т.п. Запоминаем пароль и куда выложили.
Когда надо скачиваем файл, расшифровываем и скармливаем любому TOTP-геренатору.
Многофакторка как раз и создана чтобы повысить безопасность на базе
имеющихся тенических средств (телефоны и аппаратные генераторы ключей).
Твоя идея о существовании некого спасательного ресурса в сети - работать по старой схеме
не выдерживает проверки на безопасность. Подумай сам как ты будешь отменять или опровергать
свою учетку если ей завладеет кто-то третий. И почитай законы Керхгофса. Там есть требование - оперативной
замены ключа (пароля) в случае компрометации.
Как я буду восстанавливать доступ ко всему, если у меня ничего не останется? Смартфон можно потерять, его могут украсть и даже конфисковать. А у меня идея в том, что я помню пароль к некоему надежному ресурсу, на котором лежит криптоконтейнер с остальными паролями и всем прочим что нужно для разворачивания с нуля. Т.е. нужно помнить два пароля: к ресурсу и к криптоконтейнеру (а там оффлайновая программа и пароль не утечет). Проблема в том, что все ресурсы требуют двуфакторку. Даже такой вариант - вам на почту отправлен код, т.е. надо пароль от почты. А почта с нового компа - вам на телефон отправлен код. А телефона нет. И что делать? Какой-то pkunzip.zip 2.0 получается.
Два пароля не считаются за два фактора. Даже тыща паролей - это один фактор.
А почта с нового компа - вам на телефон отправлен код. А телефона нет.
Если его нет в данную минуту, то он есть чуть позже, и восстановление доступа будет лишь вопросом времени.
Смартфон можно потерять, его могут украсть и даже конфисковать.
Да, но вторым фактором на самом деле является не смартфон, а сим-карта в нём. Карту можно восстановить (с прежним номером) у оператора и вставить в другой телефон, так что вы снова сможете получить СМС для восстановления доступа. Для восстановления сим-карты вам нужен паспорт, а если вы потеряете паспорт, то и его можно восстановить.
Рассуждения о потере\краже телефона - так себе.
Поймите правильно, есть ситуации, когда вы самостоятельно выбираете, нужен вам один фактор или два фактора, например, для ssh можно использовать только пароль, несмотря на рекомендации. А есть ситуации, когда решение в пользу двух факторов приняли другие люди. И давайте называть вещи своими именами: то, чего вы хотите - это саботировать установленное другими требование двух факторов, пытаясь при помощи какого-то сервиса заменить одним факторм. Это ваше право, разумеется. Сам факт такого саботажа ещё не нарушает никакой закон. Пока не нанесён ущерб. Но вы сознательно упрощаете работу злоумышленникам.
- гражданин NeoCode, вы под своей учётной записью совершили противоправное действие...
- это был не я, меня взломали!
- это не могли быть не вы, доступ защищён двухфакторкой, вероятность взлома близка к нулю.
- но я... саботировал двухфакторку и фактически использовал один фактор.
- как вам это удалось?
- я использовал вот такую хитрую схему...
- для чего вы это делали?
- мне так было проще.
- может быть, вы делали это, чтобы совершить противоправные действия, а потом заявить фальшивое алиби, якобы вас взломали? разумный человек не стал бы саботировать меры безопасности. вы айтишник? значит имеете знания в том числе и в области кибербезопасности? по крайней мере, имеете больше знаний, чем средний человек? значит вы осознавали, что саботирование двухфакторки резко увеличит шансы взлома, и всё же вы пошли на это? ваша версия представляется следствию довольно сомнительной и от вас потребуются более серьёзные доказательства вашей невиновности...
- но я... но я...
Смартфон в двухфакторной авторизации - надежное вычислительное устройство, оно даже не обязано хранить секретную строку TOTP, ее можно вводить вручную 'из головы', но помнить ее придется для каждого сервиса.
Если тебе ради прикола упороться над задачей
Если компьютер - надежный вычислитель, то секретные ключи TOTP сервисов можно хранить децентрализованно, загружать и дешифровать их помня в голове только сид фразу.
Выбирай любой блокчейн, рекомендую выбирать не самое мутное с PoW консенсусом, например биткоин (в ближайшие десяток лет он точно не помрет, если живут гораздо более никому не нужные блокчейны), выбирать монстроуозные блокчейны вида ethereum или eos-like с толстым состоянием не рекомендую, они централизуются вокруг сервисов обработки этих состояний и вытаскивать свои данные без них будет очень сложно.
p.s. Пили в виде плагина к electrum, думаю там это реализовать будет проще всего.