Latest newsБългарски
Back to feedТехнологииNewsMeld Editorial

MeldID: от единен акаунт към система за управление на цифровия достъп

Когато за първи път се запознах с MeldID, го възприемах преди всичко като услуга за единна цифрова идентификация. Сега проектът разполага с приложения за iPhone и Android, които обединяват офлайн TOTP аутентификатор, автоматично възстановяване на данни между устройствата и потвърждение на входа в свързаните услуги.

Когато за първи път се запознах с MeldID, го възприемах преди всичко като инфраструктура за единна цифрова идентификация. Потребителят създава един акаунт, попълва управляван профил и след това може да го използва в различни приложения — за вход и предаване на разрешени данни без постоянно попълване на едни и същи формуляри.

Очаквах, че развитието ще върви точно в посока на профили и свързани услуги. Но проектът бързо започна да се преобразува от почти незабележима сървърна инфраструктура в ежедневен инструмент за управление на достъпа.

Следващата стъпка бяха приложенията за iPhone и Android. И тук е особено интересно не самото появяване на мобилния клиент, а задачите, които успяха да обединят.

Обикновен TOTP — с друга задача

В приложението има генератор на еднократни кодове TOTP — онези променящи се цифри, които се използват за двуфакторна аутентификация.

Стандартът не е чиято собствена изобретение. Потребителят добавя акаунт и получава код, който може да използва в трета страна или на уебсайт.

Повечето аутентификатори отговарят на въпроса: „Как да се покаже шестцифрен код?“ Тук задачата е по-широка: как безопасно да се управлява жизненият цикъл на TOTP секрети — от добавянето и съхранението до възстановяването на друго устройство и изтриването на записа.

Офлайн режимът работи пълноценно

На пръв поглед основното предимство е само локалната генерация на кодове. Но в MeldID офлайн режимът включва повече.

Вече съхранените записи продължават да работят без интернет. Кодове се създават директно на телефона, затова временното отсъствие на връзка не пречи на преминаването на двуфакторната проверка.

Новият TOTP запис също може да бъде добавен офлайн. Той се запазва локално и веднага се използва за генериране на кодове. Когато интернет се появи, добавянето автоматично се изпраща в защитеното хранилище и се синхронизира с другите устройства.

Редактирането и изтриването на вече синхронизирани записи изисква връзка със сървър. Това гарантира, че няма да има различни версии на едно и също хранилище на различни телефони.

Резултатът е баланс: основните действия са достъпни без мрежа, а промените, които трябва да се приложат към всички устройства, се извършват след връщане онлайн.

Новият телефон не означава нов набор кодове

Най-неприятният проблем при всеки аутентификатор е след загуба, повреда или смяна на телефона. Обикновено се налага да търсите резервни кодове, прехвърляте записи ръчно или отново свързвате приложението с всеки сервис.

Тук хранилището е свързано не с конкретното устройство, а с акаунта MeldID. След вход на нов телефон и инициализация на защитеното хранилище, записите се възстановяват автоматично.

Без значение е дали беше предният апарат Android, а новият е iPhone, или обратно. Могат да се свържат втори, трети и последващи телефони, без да се създава отделен процес по пренасяне за всяка платформа.

Представете си, че смартфонът внезапно се повреди по време на пътуване. Вместо да възстановявате достъпа отделно към всеки сервис, вие влизате в MeldID на новото устройство и финализирате настройката на хранилището. След това вашите TOTP записи се връщат в приложението.

В един телефон може да се използват няколко различни акаунта MeldID. Техните хранилища остават отделени: записите на един акаунт не се смесват с данните на друг и не се появяват на устройството без съответната авторизация.

Какво се съхранява на сървъра

Автоматичното възстановяване означава, че данните трябва някъде да са записани. Но TOTP секретите не се записват в базата данни в открит вид.

Съдържанието на записа се поставя в криптиран контейнер. В текущата архитектура се използва удостоверено криптиране AES-256-GCM, а ключът за защитеното хранилище е отделен от самата база данни.

Затова изтичането на една база не превръща в готов списък с ефективни секрети за генериране на кодове. Злонамерените лица получават криптираните блокове, а не откритите TOTP данни.

Тук е важно да не се дават абсолютно обещания. По-точно казано: откритите TOTP секрети в базата не се съхраняват, а една копие на базата няма достатъчно за ползването им.

Потвърждаване на входа чрез MeldID

Втората важна функция на приложението е Login Approval — тоест отделно потвърждение за вход.

Ако сайт или приложение поддържа MeldID, потребителят може с едно действие да започне вход чрез своя акаунт. При активирана защита, успешната аутентификация не е достатъчна: входът се счита за завършен само след потвърждение на доверено мобилно устройство.

Може да се одобри заявката, ако входът наистина е започнал от потребителя, или да се отхвърли, ако операцията изглежда неочаквана.

За разлика от обикновеното push потвърждение, Login Approval е вграден директно в архитектурата на MeldID и може да се използва от всички услуги, свързани с тази система за идентификация.

Push тук служи само като известие за новата операция. То няма парола, TOTP код, токен или други данни, които могат да се използват за авторизация.

TOTP и Login Approval се допълват

TOTP остава универсален стандарт и работи дори в услуги, които директно не познават MeldID. След като записът е зареден, кодовете се генерират локално.

Login Approval е нужен там, където самата аутентификация се извършва чрез MeldID. Той добавя осъзнато действие на потребителя към входа и дава възможност да се спре опитът, преди да се създаде сесия.

По тази причина приложението може да бъде обикновен аутентификатор за външен сайт и едновременно средство за потвърждение на входа в свързана система.

Какво се е променило в самия MeldID

Когато за пръв път се запознах с проекта, основната му идея беше управление на единна акаунт и преносим профил. Сега става ясно, че MeldID постепенно се превръща в личен център за управление на цифровия достъп.

Тук може:

  • да получавате TOTP кодове без интернет;

  • да добавяте нови записи офлайн;

  • да ги възстановявате автоматично на ново устройство;

  • да използвате няколко телефона;

  • да разделяте няколко акаунта на едно устройство;

  • да потвърждавате или отхвърляте нови входове.

Ценността на приложението не е в това, че може да показва поредния шестцифрен код. То има по-широка задача — да съхрани достъпа при смяна на устройство, да не загуби данни без мрежа и да предостави на собственика последната осъзната възможност за избор преди създаването на нова сесия.

Тук безопасността се базира не само на един механизъм, а на цяла комбинация решения: TOTP секрети не се съхраняват в открит вид, достъпът не е постоянно свързан с едно устройство, различните акаунти остават изолирани и входът в поддържаните услуги приключва само след потвърждение от доверено устройство.