TwinKey — новое бесплатное приложение для двухфакторной аутентификации
Привет! Я из тех, кто регулярно проверяет давление в шинах и следит за безопасностью своих аккаунтов, используя сложные пароли и 2FA, где это возможно. Я пользовался Google Authenticator, но однажды приложение показало мне пустой лист вместо кодов. Конечно, я всё восстановил с помощью резервных ключей, но доверие было потеряно.
Оказалось, я не один такой: другие пользователи тоже сталкивались с такой же проблемой. Какой-либо поддержки от разработчика они не получали, как и отсутствовал вменяемый способ сделать резервную копию аккаунтов.
Относительно недавно Google добавил синхронизацию и стал хранить всё в своём облаке. Но проблемы, видимо, остались:
Я же перешёл на Sentinel Authenticator, купил подписку, чтобы снять все ограничения, и проблем не знал, но приложение обрастало ненужными мне функциями, внешне становилось всё сложнее и сложнее, поэтому решил, что надо просто написать своё.
Учиться разработке под iOS я начал в далёком 2014 году. Мне всегда нравилась экосистема Apple и их подход. Был опыт командной разработки, но в какой-то момент понял, что можно просто писать свои приложения, да и возможность была. Так, в 2021 появился RedCalendar — трекер цикла для девушек, а сейчас TwinKey — приложение двухфакторной аутентификации для iPhone, написанное на SwiftUI.
Эту статью я начал писать ещё летом (в те дни, когда у нас была попытка «госпереворота»). Мы с женой лежали на Nissi Beach и думали, как вовремя уехали на Кипр. Из-за палящего солнца подсветка телефона горела на максимум, аккумулятор таял на глазах и статью я отложил. Прошло 5 месяцев и это дольше, чем ушло на написание самого приложения, которое я отправлял на проверку в AppStore прямо из машины, когда уже выехали из своего города.
Данные хранятся в связке ключей, защищены надёжным 256-битным шифрованием AES и, благодаря iCloud Sync, всегда актуальны на каждом устройстве. Вы можете в любой момент удалить приложение но, установив заново, сразу получить свои коды. Сейчас оно доступно на русском, английском и испанском языках, поддерживает тёмную тему.
Аккаунты можно добавлять как классическим способом (отсканировав QR-код), так и выбрав фотографию с кодом из галереи (странно, но популярные аутентификаторы так не умеют). Есть и режим для гиков, где всё можно настроить ручками.
Кнопку для удаления аккаунта убрал поглубже, а при редактировании ключ отображаю в режиме чтения. Есть и система бекапов, позволяющая сохранить как все ключи, так и выборочно некоторые, чтобы поделиться ими с человеком, которому доверяете.
Итак, чем же TwinKey может быть лучше Google Authenticator, Microsoft Authenticator или Twilio Authy? Если использовать привычные шестизначные коды со сроком жизни в 30 секунд, разница между приложениями будет в дизайне и количестве шагов, которые придётся сделать, добавляя код. Но что если немного поиграться с настройками и организовать какую-то нестандартную ситуацию, которая вполне нормальна для используемого в 2FA алгоритма TOTP?
Вот три кода, содержащих в себе данные аккаунтов. Время жизни первого — 200 секунд, второй — классический, третий — восьмизначный.
TwinKey и Google Authenticator создают одинаковые коды, но второй не демонстрирует реальное время жизни для кода, длительностью 200 секунд (кружок съедается синхронно с остальными, потом начинается заново). Microsoft Authenticator и Authy неправильно генерируют долгий код, не дружат с тёмной темой, а первый ещё и с 8-значными кодами.
Этой статьёй я хотел напомнить вам о необходимости дополнительно защищать свои аккаунты (и проверять давление в шинах): написав про TwinKey впервые в своём телеграм-канале, я был искренне удивлён, что многие из моих друзей вообще не знают, что такое двухфакторка, при этом у них угоняли аккаунты, которые можно было защитить.
Предложение для расширения.
Было бы здорово иметь версию под ПК, причём без требования сначала заводить акк на смартфоне, и только затем подключить ПК версию. Конкретно интересует Ubuntu.
Название приложения кстати приятное. За тёмную тему плюс.
Спасибо, Сергей. Конечно, в планах версия для ПК (правда Mac) и часов. А там посмотрим, что дальше…
Нахрена пилить свой отдельный 2FA с хранением в keychain если у эппловского менеджера паролей и так есть 2FA с хранением в keychain.
Какой-то велосипед
Раз такие приложения есть, значит они кому-то нужны, не думали? У эппловского менеджера паролей нет интерфейса, да и не хранят обычно всё в одной корзине. Об одном из неявных преимуществ я вскользь написал: приложение можно удалить и ни одного кода в телефоне не будет. С такими рассуждениями, можно вообще пароли в заметках хранить.
Для себя
А аппка для AppleWatch есть(будет) ?
В планах да: для часов и компьютера