Технології
MeldID після оновлення: захищене сховище стало щоденним інструментом
Нова версія MeldID розвиває не сам принцип TOTP, а все, що відбувається навколо одноразових кодів: локальний пошук, зашифровані нотатки, теги, імпорт QR-кодів із зображень, приховування та копіювання кодів, відновлення видалених записів і синхронізація змін між пристроями. При цьому архітектурний принцип Zero Vault зберігається.
У попередньому матеріалі я розглядав MeldID як систему, яка виходить за межі єдиного аккаунту. Мобільні додатки для iPhone і Android об'єднали аутентифікацію TOTP, повноцінну роботу без інтернету, відновлення захищених даних на новому пристрої й підтвердження входу у підключені сервіси.
Нове оновлення цікаве вже з іншої причини. У ньому майже відсутні спроби додати ще один гучний механізм входу. Основна увага зосереджена на щоденній роботі з захищеним сховищем.
Поки у користувача є дві або три записи, досить звичайного списку. Але з часом у ньому з’являються робоча пошта, особисті акаунти, панелі управління, хмарні сервіси, корпоративні системи і тестові середовища. У цей момент проблема вже не в генерації шестизначного коду. Важливо швидко знайти потрібний запис, зрозуміти його призначення, не переплутати акаунти, безпечно змінити дані і не втратити їх при роботі з кількома пристроями.
Саме тут MeldID помітно розширює свою функціональність.
Головна зміна — порядок всередині захищеного сховища
Я б назвав нову версію перехід від простого списку TOTP-записів до більш керованого робочого простору.
Це не означає, що додаток став складнішим. Навпаки: нові функції закривають ті ситуації, які раніше доводилося вирішувати вручну. Користувачеві більше не потрібно запам’ятовувати, де знаходиться потрібний запис, тримати опис аккаунту в голові або знову проходити процедуру додавання після випадкового видалення.
Важлива деталь — ці функції пов’язані між собою. Пошук працює разом із нотатками, теги допомагають фільтрувати знайдене, імпорт із QR-коду супроводжується візуальним виділенням нового запису, а видалення та відновлення синхронізуються між усіма пристроями одного облікового запису.
Пошук залишається локальним
У MeldID з’явився локальний пошук за назвою сервісу, ім’ям аккаунта та змістом нотаток. Це проста функція, але саме вона починає економити час, коли записів стає багато.
Уявімо, що у сховищі є кілька акаунтів одного сервісу: особистий, робочий і адміністративний. Замість перегляду всього списку досить ввести частину назви сервісу або адресу електронної пошти. Якщо до запису додана нотатка, пошук може використовувати й її зміст.
При цьому пошук не звертається до самого секрету TOTP. Секрет не перетворюється у пошукове поле і не використовується як ідентифікатор запису. Користувач шукає зрозумілий контекст — назву сервісу, аккаунт або нотатку, — а не криптографічні дані.
Запит пошуку не відправляється на сервер. Додаток шукає по вже відкритому на пристрої захищеному сховищу.
Нотатки і теги дають записам контекст
Одної назви сервісу не завжди достатньо, щоб зрозуміти, для чого використовується запис. Тому тепер до TOTP-записів можна додавати зашифровані нотатки.
У такій нотатці можна зазначити, до якого робочого середовища належить акаунт, для якого відділу він створений або який варіант входу використовується. При цьому нотатка зберігається разом із захищеним записом всередині Vault, а не як окрема відкрита інформація на сервері.
Для групування з’явилися й багатозначні теги. Одному запису можна призначити кілька меток: наприклад, «Робота», «Критичний», «Європа» чи «Тест». Теги вводяться звичайним текстом: нову метку можна додати натисканням Enter або введенням коми, а потім видалити як компактний елемент.
Система також пропонує вже існуючі теги і об’єднує однакові варіанти без урахування регістру. Тому «Робота», «робота» і «РОБОТА» не перетворюються у три різні категорії.
Для тегів передбачено окремий локальний фільтр. Якщо структура з часом змінилася, звичайний тег можна перейменувати або видалити глобально довгим натисканням. Не потрібно відкривати кожен запис окремо і вручну виправляти одну й ту ж метку десятки разів.
Обране винесено у системний тег із значком зірки, який виділяється червоним кольором і дозволяє швидко залишити у списку тільки найважливіші записи.
На практиці це перетворює сховище з набору кодів у систему, яку можна організувати за власною логікою.
Прихований код усе одно можна використовувати
У додатку з’явилася можливість приховувати й відображати TOTP-коди. Вибране стан зберігається на пристрої, тож після повторного запуску не потрібно кожного разу налаштовувати відображення знову.
Це візуальна міра захисту: код не знаходиться постійно перед очима, якщо користувачу це не потрібно. Але приховування не перетворюється на заборону працювати з записом.
Код можна скопіювати у буфер обміну і у відкритому, і в прихованому режимі. У цьому є важлива логіка: людина може надавати перевагу не показувати цифри на екрані, але при цьому їй усе одно може знадобитися передати код у форму входу.
Отже, розумне розділення між тим, що відображається на екрані, і тим, яку дію виконує користувач свідомо.
QR-код уже не обов’язково сканувати заново
Раніше при додаванні TOTP-запису користувач зазвичай розраховував на камеру і другий екран, на якому був показаний QR-код. Тепер MeldID уміє імпортувати TOTP-запис із фотографії або зображення, збереженого у галереї.
Це знадобиться у найрізноманітніших ситуаціях. QR-код міг залишитися на скріншоті або бути сфотографованим під час налаштування сервісу. Не завжди зручно знову відкривати початкову сторінку і тримати її перед камерою.
Достатньо вибрати зображення, у якому знаходиться QR-код, після чого додаток розпізнає його і створить запис у захищеному сховищі.
Після додавання нові записи тимчасово виділяються рамкою. Це особливо корисно при перенесенні кількох акаунтів поспіль: користувач одразу бачить, які елементи з’явилися лише що, і не губиться серед уже існуючих.
Видалення тепер залишає можливість передумати
Одна із найбільш практичних новинок — видалення запису з пільговим періодом відновлення.
Видалена запис не зникає безповоротно в ту ж секунду. Протягом заздалегідь встановленого періоду її можна відновити, але для цього потрібне окреме підтвердження. Такий підхід захищає від випадкового свайпу, помилкового натискання або видалення не того аккаунта.
Є й ще одна важлива захистка. Поки діє період відновлення, додаток не дозволяє знову додати той самий секрет TOTP як новий запис.
Уявімо звичайну ситуацію: користувач видалив аккаунт, а потім вирішив, що зробив це помилково, і знову відсканував старий QR-код. Без додаткової перевірки у сховищі могли б з’явитися дві записи з одним і тим самим секретом. MeldID не створює такого дублю, а залишає можливість повернути початковий запис штатним способом.
Відновлення при цьому не обмежується локальним зміною на одному телефоні. Воно змінює стан самого захищеного Vault і синхронізується з серверним станом.
Один аккаунт — одне злагоджене сховище
Робота з кількома пристроями була однією з ключових ідей мобільного MeldID. Нове оновлення робить її більш послідовною.
Видалення, відновлення, редагування нотаток і тегів, а також інші зміни Vault синхронізуються між пристроями одного облікового запису. Якщо користувач працює з iPhone і Android або підключає другий телефон, в результаті вони приходять до одного підтвердженого стану.
Якщо дія виконана на одному пристрої, механізм синхронізації не дозволяє застарілій копії на іншому пристрої непомітно повернути старий запис або затирати більш нові зміни. Покращена обробка конфліктів, що виникають при роботі кількох пристроїв.
Як і раніше, різні акаунти MeldID на одному телефоні залишаються роздільними. Дані одного акаунту не змішуються з даними іншого, а зміни застосовуються лише до відповідного захищеного сховища.
При цьому зберігається попереднє розділення між офлайн і онлайн сценаріями. Генерація TOTP-кодів для вже збережених записів не залежить від інтернету, а нові записи можна підготувати локально. Зміни, які мають однаково застосовуватись до всіх пристроїв, синхронізуються після відновлення з’єднання.
Zero Vault залишається основою
На боці MeldID досі діє принцип Zero Vault. Серверна частина працює з непрозорим зашифрованим станом захищеного сховища та технічними даними, необхідними для його версії та синхронізації.
TOTP-секрети, нотатки, теги й назви сервісів у відкритому вигляді на сервер не передаються. Вони не стають звичайною таблицею, яку можна переглядати або використовувати для серверного пошуку.
Зміст Vault розшифровується локально у додатку на довіреному пристрої. Саме тому пошук за нотатками і робота з тегами виконується локально: серверу не потрібно читати зміст, щоб прийняти нову зашифровану версію сховища та узгодити її між пристроями.
Нові функції не скасовують цей принцип і не перетворюють зручність у обмін на відмову від приватності. Навпаки, тепер стає більш помітно, що захищене сховище може бути зручним, не стаючи відкритим серверним каталогом.
Маленькі деталі, що впливають на довіру
У оновленні також поліпшені переклади, доступність-суписи та візуальне відображення елементів інтерфейсу.
Це може здатися другорядним у порівнянні з імпортом QR-коду або відновленням запису. Але коли у додатку є приховане відображення, обране, очікуючий видалення стан і окреме підтвердження відновлення, одного значка вже недостатньо.
Зрозумілі підписи важливі для всіх користувачів, особливо для VoiceOver, TalkBack і інших засобів доступності. Оновлені переклади і більш ясні візуальні стану роблять нові сценарії зрозумілішими мовами і платформами.
Мій висновок
Після перегляду оновлення я б описав MeldID вже не просто як додаток для генерації TOTP-кодів.
Головна зміна полягає не в якійсь одній функції. Цінність виникає у зв’язці: локальний пошук працює разом із нотатками і тегами, обране допомагає швидко виділити важливе, імпорт QR-кода спрощується завдяки роботі з зображеннями, нещодавно додані записи більш помітні завдяки рамці, а період відновлення знижує ризик випадкового видалення.
Одночасно синхронізація з’єднує зміни між пристроями, а Zero Vault зберігає захищену модель зберігання.
В результаті MeldID поступово рухається від звичайного аутентифікатора до керованого захищеного робочого простору. ТОД-п codes все ще генеруються локально і доступні без мережі, але все, що відбувається навколо них, стає більш зрозумілим і передбачуваним.
Більше про проект: MedlID.