Latest newsČeština
Back to feedTechnologieNewsMeld Editorial

MeldID: od jednoho účtu k systému správy digitálního přístupu

Když jsem poprvé poznával MeldID, vnímal jsem ho především jako službu jednotné digitální identifikace. Nyní má projekt k dispozici aplikace pro iPhone a Android, které spojily offline autentizátor TOTP, automatické obnovení dat mezi zařízeními a potvrzení přihlášení k propojeným službám.

Když jsem poprvé rozuměl MeldID, vnímal jsem ho především jako infrastrukturu jednotné digitální identifikace. Uživatel si vytvoří jeden účet, vyplní spravovatelný profil a pak jej může používat v různých aplikacích — pro přihlášení a přenos povolených dat bez neustálého vyplňování stejných formulářů.

Čekal jsem, že další vývoj půjde právě směrem k profilům a propojeným službám. Ale projekt se rychle začal měnit z téměř neviditelné serverové infrastruktury na každodenní nástroj pro správu přístupu.

Dalším krokem byly aplikace pro iPhone a Android. A zde je zvláštní nejen samotné vydání mobilního klienta, ale i to, jaké úkoly se podařilo v něm spojit.

Obvyklý TOTP — s jiným úkolem

V aplikaci je generátor jednorázových kódů TOTP — těch stejných proměnlivých čísel, která se používají pro dvoufaktorovou autentizaci.

Samo standardní řešení není za vlastnoruční vývoj. Uživatel přidá účet a dostane kód, který může použít na cizím serveru nebo webu.

Většina autentikátorů odpovídá na otázku: „Jak zobrazit šestimístný kód?“ Zde je řešena širší úloha: jak bezpečně spravovat životní cyklus TOTP-tajnéků — od přidání a uložení po obnovení na jiném zařízení a odstranění záznamu.

Offline režim funguje kompletně

Na první pohled se hlavní výhoda zdá být pouze lokální generování kódů. Ale v MeldID je offline režim víc než to.

Už uložené záznamy stále fungují bez připojení k internetu. Kódy jsou generovány přímo na telefonu, takže dočasná absence spojení nebrání průchodu dvoufaktorovou kontrolou.

Nový TOTP záznam lze také přidat offline. Uloží se lokálně a okamžitě slouží k generování kódů. Jakmile se objeví internet, automaticky se odešle do zabezpečeného úložiště a synchronizuje s jinými zařízeními.

Úprava a odstranění již synchronizovaných záznamů vyžaduje připojení k serveru. To zajišťuje, že nedojde k různým verzím jednoho úložiště na různých telefonech.

Výsledkem je rovnováha: hlavní akce jsou dostupné bez sítě, zatímco změny, které musí platit napříč všemi zařízeními, se provedou po návratu do online režimu.

Nový telefon neznamená nový soubor kódů

Největším problémem jakéhokoli autentikátoru je ztráta, poškození nebo výměna telefonu. V běžném případě je třeba hledat záložní kódy, přenášet záznamy ručně nebo znovu navazovat aplikaci na každý server.

Zde je úložiště spojeno nikoliv s konkrétním zařízením, ale s účtem MeldID. Po přihlášení na novém telefonu a inicializaci zabezpečeného úložiště se záznamy automaticky obnoví.

Není důležité, zda byl předchozí telefon Android a nový iPhone, nebo naopak. Můžete připojit druhé, třetí a další telefony, aniž by bylo nutné vytvářet zvláštní přesun pro každou platformu.

Představme si, že telefon náhle přestane fungovat během cesty. Místo obnova přístupu zvlášť u každého serveru se uživatel přihlásí do MeldID na novém zařízení a dokončí nastavení úložiště. Poté se jeho TOTP záznamy vrátí do aplikace.

Na jednom telefonu lze používat i několik různých účtů MeldID. Jejich úložiště zůstávají oddělená: záznamy jednoho účtu se nepomíchají s daty jiného a nevyskytují se na zařízení bez odpovídající autorizace.

Co je uloženo na serveru

Automatické obnovení znamená, že data musí někde být uložena. Ovšem TOTP-tajnéky nejsou ukládány v databázi v otevřeném tvaru.

Obsah záznamu je uloženo v zašifrovaném kontejneru. V současné architektuře se používá autentifikované šifrování AES-256-GCM a klíč zabezpečeného úložiště je od základní databáze oddělen.

Proto jedna úniková databáze nevede rovnou ke kompletnímu seznamu tajných klíčů pro generování kódů. Útočník získá zašifrované bloky, nikoliv veřejné TOTP-data.

Je důležité neslibovat úplné jistoty. Přesněji řečeno: veřejné TOTP-tajné klíče v databázi nejsou uloženy a jedna kopie databáze nestačí k jejich použití.

Potvrzení přihlášení přes MeldID

Druhá důležitá funkce aplikace — Login Approval, tedy samostatné potvrzení přihlášení.

Pokud web nebo aplikace podporuje MeldID, uživatel může jednom kliknutím zahájit přihlášení přes svůj účet. Při zapnuté ochraně nestačí pouze úspěšné přihlášení: skutečné ověření je dokončeno až po potvrzení na důvěryhodném mobilním zařízení.

Požadavek lze schválit, pokud přihlášení opravdu spustil sám uživatel, nebo odmítnout, jestliže operace vypadá neočekávaně.

Na rozdíl od běžného push potvrzení je Login Approval přímo vestavěn do architektury MeldID a může být použit všemi službami připojenými k tomuto systému identifikace.

Push zde slouží pouze jako upozornění na novou operaci. Neobsahuje heslo, TOTP-kód, token nebo jiné údaje pro autorizaci.

TOTP a Login Approval se navzájem doplňují

TOTP zůstává univerzálním standardem a funguje i v servisech, které o MeldID nic nevědí. Po načtení záznamu jsou kódy generovány lokálně.

Login Approval je potřeba tam, kde samotné ověření probíhá přes MeldID. Přidává k přihlášení vědomou akci uživatele a umožňuje operaci před vytvářením relace zastavit.

Proto může být aplikace běžným autentikátorem pro cizí web a zároveň prostředkem pro potvrzení přihlášení k propojenému systému.

Co se změnilo v samotném MeldID

Když jsem byl poprvé seznámen s projektem, považoval jsem jeho hlavní myšlenku za správu jednotného účtu a přenositelného profilu. Teď je zřejmé, že MeldID se postupně mění na osobní centrum správy digitálního přístupu.

Zde lze:

  • získávat TOTP kódy bez internetu;

  • přidávat nové záznamy offline;

  • automaticky je obnovit na novém zařízení;

  • používat více telefonů;

  • oddělovat několik účtů na jednom zařízení;

  • potvrzovat nebo odmítat nové přístupy.

Hodnota aplikace tak nespočívá v tom, že umí zobrazit číslici, ale že pomáhá udržet přístup při výměně zařízení, neztratit data bez sítě a dát majiteli poslední vědomé rozhodnutí před vytvořením nové relace.

Bezpečnost zde není založena na jednom mechanismu, ale na souboru řešení: TOTP-tajné klíče nejsou ukládány otevřeně, přístup není navždy vázaný na jedno zařízení, různé účty zůstávají oddělené, a přístup ke službám je ukončen až po potvrzení z důvěryhodného zařízení.