Сучасна диджитал-освіта для дітей — безоплатне заняття в GoITeens ×
Mazda CX 30
×

«Бачимо, що не москаль!»: як ми налаштували верифікацію через Дія.Підпис, щоб дати українцям VPN безкоштовно

Привіт! 👋 Я Дмитро Яковлєв, Product Manager в українській IT-компанії MacPaw. Моя команда працює над ClearVPN, рішенням для користувачів macOS, iOS, Android та Windows, які хочуть безпечно отримувати контент онлайн без перешкод.

З початком повномасштабної війни, ми вирішили використати наш продукт для допомоги Україні та українцям. Спочатку ми запустили інформаційну кампанію, щоб розповісти користувачам з інших країн про те, що відбувається в Україні. Додали інформаційні банери в застосунки, писали про агресію росії в соцмережах та у нашому блозі. Запрошували користувачів-іноземців донатити в фонди допомоги ЗСУ та підтримувати ініціативи з допомоги Україні.

Згодом вирішили надати всім українцям вільний доступ до застосунку, а для цього нам потрібно було створити інструмент, який би надавав безкоштовний Premium-доступ саме українцям. Рішенням стала інтеграція з Дією та підтвердження громадянства України за допомогою Дія.Підпису. Це відбувається без збору даних користувачів і технічно реалізовано так, щоб все відбувалось анонімно і для ClearVPN, і для Дії 🚀

У статті я розповім про реалізацію, як відбувалася співпраця з Мінцифрою та які висновки ми зробили. Більше інсайтів всієї історії можна послухати у подкасті.

Детальніше про продукт

Наша команда розвиває ClearVPN понад 2 роки. За цей час користувачі завантажили застосунок майже 700 тисяч разів й могли підʼєднатись до 500+ VPN серверів у 23 країнах світу.

ClearVPN має сувору no-log політику. У контексті VPN це означає, що застосунок не збирає жодної інформації про те, що користувачі переглядають в інтернеті та коли вмикають ClearVPN. Окрім IPSec IKEV2 та OpenVPN, застосунок також використовує власний протокол шифрування на основі WireGuard.

До речі, зараз ми працюємо над ClearVPN 2 — новою версією застосунку. Вона матиме новий інтерфейс та кращу швидкість завдяки покращеній серверній інфраструктурі. Щоб відшліфувати новий застосунок, ми запустили відкрите тестування бета-версії, тож якщо ви бажаєте долучитися, ласкаво просимо :)

Тож, повернемось до історії. З початку повномасштабної війни ми постійно комунікували та намагалися підтримувати одне одного в компанії та в команді. Під час одного з таких командних дзвінків почали обговорювати, як ми можемо допомогти більшій кількості людей, маючи наші ресурси.

Проблема: Доступ до надійних джерел інформації та інформаційна безпека

Багато користувачів за кордоном використовували VPN-застосунки, щоб дізнатися новини з українських першоджерел. Людям потрібен був доступ до перевіреної інформації про події в Україні.

З іншого боку, ті наші співгромадяни, які опинились на тимчасово окупованих територіях, мали потребу в доступі до українських сайтів новин, які були заблоковані окупантами. Окрім цього, окупанти активували аналіз трафіка для подальшого переслідування та відключили людей від українських провайдерів інтернету й мобільного звʼязку. Натомість провели своїх постачальників з російськими IP та мобільними мережами.

Враховуючи те, що VPN-застосунок міг би розвʼязувати такі проблеми наших співгромадян, ми вирішили надати безоплатний доступ українцям до всіх можливостей ClearVPN.

Що ми спробували до Дії

Ідея інтеграції Дія.Підпису зʼявилася не одразу. У нас було багато варіантів, тому ми почали з найшвидшого. Кожен з етапів приніс і користь і складнощі, які ми повинні були виправляти.

Спроба 1. Промокоди для безкоштовного ClearVPN Premium

Ми почали надавати промокоди для українських та іноземних медіа, які до нас зверталися. Потім ми вирішили надати безкоштовний VPN-доступ для всіх українців, і в першій ітерації створили промокод SAVEUKRAINE.

Після декількох тижнів ми вже налагодили автоматичне застосування промокодів для усіх користувачів з України, одночасно збільшуючи ліміти для застосування.

Проте згодом помітили, що наші промокоди почали поширюватися піратськими Telegram-каналами і стали дуже популярними в інших країнах. Люди не з України почали користуватися нашими промокодами, щоб отримати ClearVPN безкоштовно.

Стало зрозуміло, що треба змінити механізм надання преміуму, щоб оптимізувати витрати на підтримку серверів. Ось так наша ініціатива обернулася проти нас і постало питання, як ідентифікувати українців таким чином, щоб надати їм безкоштовний доступ до VPN-сервісу.

Спроба 2. Free Premium за українською IP-адресою

Згодом ми почали автоматично надавати Premium-статус користувачам, які реєструвались з українських IP. Такий підхід працював набагато краще і ми змогли збалансувати навантаження на сервери. Та й реєстрація спростилась: користувачам не потрібно було шукати посилання, переходити за ним та вводити промокод.

Проте згодом ми почали отримувати фідбек від українців з-за кордону, а також з тимчасово окупованих територій щодо неможливості отримання Premium-підписки. Ситуацію з користувачами за кордоном ми очікували і планували вирішити ці кейси персональними промокодами (проте ми не знали, що буде така велика кількість запитів).

Зате досить критичною виявилась ситуація на тимчасово окупованих територіях Херсонщини, Маріуполя, Нової Каховки, Мелітополя та багатьох інших населених пунктів. Ми чули багато повідомлень щодо шпигунства за трафіком, після якого приходили «гості» за поясненнями. Саме це мотивувало нас докласти максимум зусиль, щоб терміново винайти спосіб ідентифікації українців і допомогти їм.

Етап інтеграції з Дією

Ідея інтеграції з Дією народилася раптово. Ми мали високі вимоги щодо анонімності і безпеки користувачів, та вирішили зв’язатися з Дією, щоб дізнатися, чи зможуть вони зустріти такі вимоги та допомогти.

Зізнаюся, спершу ми очікували, що буде багато формальностей, але в нашому випадку комунікація була швидкою та ефективною.

Ми розповіли про ідею підтвердження громадянства і запитали щодо можливості технічної реалізації зі збереженням анонімності особистих даних користувачів. Команда Дії запропонувала нам анонімне та безпечне рішення, і ми запустили процес інтеграції у декілька етапів.

1. Отримання та аналіз технічної документації

Представники Дії підтримали наш задум, надали технічні матеріали та консультували, поки ми вивчали документацію і продумували користувацькі сценарії для запуску проєкту.

2. Вивчення схем бізнес-процесів

Ми побудували BPMN (схему бізнес-процесів), яка показувала, що відбувається щоразу, коли користувач взаємодіє з Дія.Підписом. Уже на цьому етапі ми створили невеличкий прототип з приблизним дизайном інтерфейсу.

На перший погляд, все було дуже просто. Ми планували додати ще один спосіб авторизації, як, наприклад, авторизація через Google або Facebook. Виявилось, що ми не можемо так зробити.

Використовуючи Дія.Підпис, генерується унікальний ідентифікатор для кожного девайсу. Враховуючи те, що користувачі ClearVPN можуть використовувати застосунок на 6 пристроях, ми повинні були зберегти ідентифікатор акаунту. Саме так зʼявилася ідея з авторизацією для підтвердження громадянства через Дія.Підпис та отримання Premium.

Після погодження бізнес-логіки та відповідей на технічні питання з боку команди Міністерства цифрової трансформації, ми змогли перейти до технічної реалізації.

3. Юридичні активності

Одночасно з попереднім етапом наш юридичний відділ ознайомився з інформацією від Мінцифри. Ми заповнили необхідні анкети, а також підписали потрібні документи.

4. Технічна реалізація та погодження візуального оформлення UI

Дія дає можливість наступних сценаріїв інтеграції:

  • створення Дія.Підпису;
  • підписання хеша файлу, ініційоване у третій системі;
  • авторизація через Дія.Підпис.

У нашому випадку нас цікавить саме авторизація через Дія.Підпис, адже таким чином ми можемо верифікувати громадянство користувача.

Необхідна була фінальна перевірка на відповідність користувацького сценарію узгодженій схемі бізнес-процесів. У нашому випадку, ми особисто тестували та записували короткий відеозвіт всіх варіантів взаємодії клієнта з Дією за нашими налаштованими сценаріями.

Це потрібно, щоб засвідчити наступне: послуги коректно налаштовані та відповідають всім вимогам. Для нас було надважливо отримати підтвердження того, що з нашого боку усе налаштоване максимально безпечно та анонімно.

5. Реліз та підтримка

Аналізуючи помилки, з якими зіштовхувалися наші користувачі після релізу, ми поступово розв’язувати критичні проблеми. Представники Дії продовжували консультувати нас з окремих питань, а деякі кейси навіть підсвітили для подальшого покращення з боку Мінцифри.

Враховуючи те, що все більше і більше українців верифікуються через Дію, процес підтримки є постійним і не зупиняється.

Як відбувалася технічна реалізація

Авторизація за допомогою Дія.Підпису відбувається за використанням REST-протоколу. В результаті авторизації ClearVPN сервер отримує підписаний хеш та відповідність його до внутрішнього анонімізованого ідентифікатора користувача.

Цього достатньо аби прийняти рішення про надання доступу до сервісу. Загальний вигляд авторизації на Desktop, Mobile та Web виглядає ось так (відкрийте зображення у новому вікні, щоб побачити його у повному розмірі):





Всі деталі технічної реалізації не можу розкривати з причин безпеки. Якщо ви є розробником, який хоче додати верифікацію користувачів з України у свій застосунок, зверніться до команди Дії. Вони нададуть документацію за вашим запитом.

Ініціалізація підтвердження громадянства

Кожен користувач Дії з чинним Дія.Підписом на своєму пристрої має можливість пройти верифікацію в застосунках та вебверсії ClearVPN та отримати безкоштовний доступ до Premium-версії застосунку.

Щоб розпочати верифікацію, потрібно натиснути кнопку Дія.Підпис у спеціальному меню в застосунку ClearVPN або у вебверсії. Після натискання кнопки, застосунок відправляє запит до сервера Дії на отримання діплінки для проходження авторизації ClearVPN в Дії.

Сервер Дії підтверджує валідність застосунку та його права, перевіряє валідність запиту та надсилає відповідь до серверів ClearVPN.

В залежності від платформи, на якій користувач розпочав верифікацію, існує два сценарії розвитку подій:

  • у вебверсії: генерується QR-код на сайті, який користувачу потрібно зчитати сканером у застосунку Дія;
  • у застосунку: ініціюється автоматичний перехід користувача на екран підтвердження підпису у застосунку Дія.

Тобто після того, як користувач ClearVPN ініціює верифікацію громадянства з Дія.Підписом, сервери ClearVPN генерують запит на перевірку Дія.Підпису, й у відповідь отримують механізм для перевірки у застосунку Дія (за QR-кодом або автоматично після редиректу).

Що відбувається, коли користувач потрапляє у застосунок Дія

Застосунок Дія показує екран перевірки запиту та звертається до сервера із запитом на валідацію OTP (одноразового тимчасового токена). Якщо користувач має Дія.Підпис, він може підтвердити верифікацію і завершити процес. У випадку, якщо користувач не має активного Дія.Підпису, Дія запропонує створити його за лічені секунди — для цього потрібно мати паспорт у застосунку. А далі — пройти верифікацію за його допомогою.

Після успішної верифікації, сервер ClearVPN отримує відповідь з підписаним сертифікатом, що запускає процес автоматичної активації Premium-підписки. Користувач буде автоматично перенаправлений до застосунку ClearVPN.

Підсумую: під час цієї верифікації наші сервери питають сервери Дії, чи є людина українцем. Після того, як Дія переконується, що в користувача присутній актуальний документ, вона підтверджує це нашим серверам. Тобто ми не запитуємо і не отримуємо будь-яких персональних даних користувача. Зі свого боку, Дія фіксує факт підписання хешу для стороннього застосунку ClearVPN, проте не отримує жодних даних про те, що користувач робить у нашому застосунку, а також що переглядає при увімкненому VPN.

Які результати ми отримали

Протягом перших двох тижнів близько 4500 українців авторизувалися у ClearVPN за допомогою Дії. Наразі, вже понад 25 000 користувачів отримали ClearVPN Premium за допомогою Дія.Підпису. Здебільшого, вони використовували VPN для захисту свого з’єднання, що є дуже важливим у наш час.

Також деякі користувачі прагнули відкривати українські сайти з окупованих територій, де це зробити без VPN неможливо. Запуск авторизації з Дією збільшив трафік на нашому сайті у 4 рази, а ми радіємо, що підтвердження громадянства відбувається повністю анонімно й не збирає даних користувачів. Найбільше ми раділи величезній кількості подяк та позитивних відгуків, особливо від людей з тимчасово окупованих територій, що змогли отримати доступ до правдивої інформації.

Надихає і те, що в нашому випадку взаємодія держави і бізнесу може бути продуктивною та підсилювати кібербезпеку людей, а не навпаки, як це відбувається в північно-східних сусідів або в КНДР.

У ці нелегкі для українців часи співпраця кожного з нас є важливою. Тільки разом ми зможемо перемогти, а після перемоги — сприяти швидкому відновленню України та розвитку економіки. Це стосується й співпраці бізнесу з державою, що може створювати нові можливості для українців.

👍ПодобаєтьсяСподобалось13
До обраногоВ обраному4
LinkedIn
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

А було про співпрацю з військоматом і як дія використає цю інформацію?

дуже сильно рiже пiнг в онлайн играх

Чи плануєте кастом прошивку для роутерів? Щоб можна було менеджити всі пристрої по групах. Як на мене найзручніший спосіб для дому. З радістю купував би ваш сервіс з такою можливістю.

Так сервера в странах с разным законодательством, и разной политикой. Если между европейскими, Сингапуром и США — особой разницы нет, то есть например более либеральный вариант — Молдова, и самый либеральный — Индия.

Дякую. Так як для України тільки що заблокували GitHub Copilot (а без нього як без рук, хоч і користуюсь всього другий день), поліз на доу, а тут — ось цей топік :))
Поставив, все працює. Але реєстрацію через Дію щось не пропонує ://

Не только. В Крыму вообще залочены очень многие гугловские сервисы, например golang.org. И таким образом, собрать докер-контейнер с любым сервисом на Go, где есть gRPC — можно только с включённым vpn. Есть конечно обходной путь — выкачивать исходники через git clone при сборке контейнера, но это непрактично, и другие люди такой подход не поймут. В Китае кстати ровно та же проблема, так что весь Китай программирует через VPN.

без нього як без рук, хоч і користуюсь всього другий день)

Ги ги
А до цього руки звідки росли?

Из политики приватности.
>Проживаєш у ЄЕЗ? Ти маєш право попросити нас надати тобі доступ до всіх зібраних нами даних про тебе, а також перемістити їх, змінити або взагалі видалити.
>Живеш у Сонячній Каліфорнії? Маєш право попросити нас надати тобі доступ до всіх зібраних нами даних про тебе, а також перемістити їх, змінити або взагалі видалити.

Почему бы не разрешить украинцам попросить дать доступ к всем своим данным или удалить их?

Подскажите, как зарегистрироваться у вас из Крыма? Вы точно в курсе проблем с доступом на оккупированных территориях, или вам всё рассказать?

Я вхожу в приложение, авторизуюсь через гугл-аккаунт, дальше перехожу на веб-страницу, где предлагают подписать через Дию. Ок. Включаю Псифон, чтоб зайти на Дию, и вижу что те дебилы отключили доступ в Дию из других стран. То есть, подписать через Дию сейчас не выйдет. Ладно, пытаюсь включить триал, перехожу на веб страницу. А там для этого надо ввести реквизиты банковской карты. А для пользования интернет-банкингом сейчас необходимо авторизоваться через смс, там отключили авторизацию через аутентификатор, что в приват-банке, что в укрсибе. И таким образом сейчас, спасибо, ни в какой интернет-банкинг войти не получится.

Рассказываю дальше. Как вы знаете, РФ отключила доступ до украинских мобильных сетей вообще в принципе. А все, абсолютно все сервисы увязаны на такую фигню, как сим-карта. Какие ещё все — у вас возникнет вопрос. Во-первых, чтобы удалённо подписывать документы, нужно сделать электронную подпись. А электронная подпись делается через приват-банк. А в аккаунт приват-банка можно войти только через смс. А если вошёл без смс, то чтоб сделать подпись, всё равно нужно подтверждение через смс. То есть, возможность подписания документов отсекается через год, и сейчас уже у всех отключилась. Далее. Поскольку в аккаунт приват-банка можно войти только через смс на сегодня, то соответственно Дия на оккупированных территориях будет работать ещё максимум год, при условии что есть VPN с украинским IP, который прокатывает. В другие интернет-банкинги также войти не выйдет. Далее. Как нам известно, уже исполняется годовщина начала войны. И всё это время сим-карты не выходят в онлайн. А через год операторы сотовой связи эти сим-карты могут запросто отключить. И тем самым поднасрут максимально насколько это возможно, поскольку даже выехав в третьи страны ничего сделать не выйдет. Разве что искать там банки-партнёры, и решать вопросы через них. Или просто открывать иностранные счета, пройти всю катавасию для этого, и работать через них.

Ну так что, есть мысли, как зарегистрироваться из Крыма?

Апдейт. Поставил новую бета-версию на Андроид, и там сразу же подключился к украинскому VPN вообще без проблем и вопросов. Дальше зашёл в Дию, и успешно подписал старую виндовую версию! В общем, всё супер! Жизнь — удалась! Очень классный VPN, то что надо!

Надали преміум це чудово, але чому тоді зараз з цим наданим «преміумом» залишилися лише українські айпі?

Трохи не зрозумів питання 😐
Кожен може отримати преміум функціонал завдяки верифікації за допомогою Дія.Підпис
з IP адресою будь якої країни.

У випадку, якщо зʼявилися проблеми з доступом до преміум функціоналу, можна пройти верифікацію повторно.
Також, допоможемо з вирішенням будь яких питань тут [email protected] 🫡

Підкажіть, на AndroidTV ваш сервіс працює?

Наразі маємо клієнти під Windows, Android та iOS / MacOS.
Також впродовж року плануємо додати версії під таблети та Browser Extensions.

Проте дуже цікавить ваш кейс використання VPN для AndroidTV,
тому буду дуже радий поспілкуватися 🙌
[email protected]

А є клієнт ClearVPN для Linux?

На жаль, клієнт для Linux не планується найближчим часом.
Проте, ми плануємо багато інших цікавих релізів 😉

А от просто цікаво, чому без Linux? Просто мала/відсутня рентабельність, чи може якась конкретна складність?

а нафиг оно надо? Закрытая проприетарщина никогда не приветствовалась в линуксах, там куча опенсорсных решений от заезженного openvpn до попроще SoftEther VPN, Wireguard... и т.д. Никто в здравом уме для личной безопасности там не будет ставить бинари от левых вендоров, которые под рутом крутятся

Ну если философия комьюнити и вправду такая, то резонно)

Вітаю! Чекайте вже завтра на запрошення до відкритої бети 😉
Будемо чекати на ваш фідбек!

Теоретично «ідентифікація особи + VPN» це дуже зручна можливість для товариша майора для total survivalance. Можна було б моніторити хто десь погано про Дію написав і одразу користувачу через Дію на його телефоні надсилати сповіщення з попередженням :)
Чи є у вас аудит безпеки зроблений незалежною компанією? Бо на одних тільки словах «strict no logs policy» на має жодної ваги.

В країнах з диктатурою та total survivalance таких як ви жартівників вже нема. Радійте що в нашій країні зараз не так (або поки що не так).

PS: Якщо ви з тих кому «нічого приховувати», давайте лінк на стрім з вашої спальні. Не тільки ж великим корпораціями збирати ваші дані.

Так раз не так, то навіщо тоді фольга взагалі поки що? А хто сказав що я жартую?

Вибачте за негативну інтонацію з мого боку в останньому коментарі.
Але про шапочку з фольги з вашого боку тут недоречно. Я давно вивчаю порушення прав людей на приватність в різних країнах світу. Це велика та дуже актуальна тема.
В межах цієї гілки коментарів ми не зможемо охопити ні моральні, ні юридичні аспекти цієї теми. Якщо ви в цьому розбираєтесь, то з радістю продовжу (виключно конструктивний) діалог в інших темах.
Щоб більше не флудити тут, я більше не залишаю коментарів та повертаюсь до роботи. Гарного вам дня та мирного неба.

Я не скільки не невелюю ваш досвід у вказаній царині, і це дійсно дуже актуально. Але на мій диванний погляд така річ як права людини на приватність на сьогодні у світі змінюється у своєму об’ємі залежно від країни і, мені здається, ніде не досягає 100%, бо серед людей є свинособаки. Я спочатку взагалі не замислювався про корелювання надання своїх даних при реєстрації у ClearVPN, аж потім якийсь ланцюжок набудував. Але я звісно розмірковую з точки зору свого суб’єктивізму, що у чомусь екстримістському не помічений. Це типу авансом все буде записано і як прийде час, за мною приїдуть чи що?
Звісно, багато дискутувати з цього приводу саме тут не бачу ні якого сенсу.

Я правильно понимаю, без дия+клиарвпн товарищ майор не может вас найти? Только в такой связке. Сильно.

Усі продукти MacPaw проходять ретельний внутрішній security check, адже для компанії репутація та захист користувачів є найважливішими пріоритетами. Завдяки ретельній перевірці внутрішньої безпеки кожен продукт MacPaw є надійним та безпечним для користувачів.

Звісно ми, команда ClearVPN, плануємо в майбутньому пройти незалежний Security аудит, як проходять усі продукти MacPaw, адже це must процедура для Security індустрії.

А No log policy для нас це не тільки про довіру, а й про відповідальність. Відповідальність перед нашою аудиторією, перед нашою компанією та країною. Ми розробляємо продукт, яким користуємося самі та намагаємося допомагати іншим. Збираючи дані користувачів, ми б «самі вистрілили собі в ногу» наражаючи себе, компанію та користувачів на небезпеку. 🤷‍♂️

Окрім цього, ми дуже відкриті до фідбеку, зауважень та пропозицій, тому запрошуємо бажаючих приєднатися до Bug Bounty Program 🫶

Клас! Сподіваюсь, ваш досвід надихне і інші сервіси інтегруватися з Дією, якщо це потрібно. А з іншого боку, команда Дії може подумати, як такі інтеграції спросити і привести їх до якогось стандарту, наприклад, OAuth

З нашого боку, ми шукали зручний, безпечний та повністю анонімний механізм, щоб допомогти нашим українським користувачам. А вийшло так, що ClearVPN став піонером у використанні Дії для комерційних проєктів 🙂
На кожному етапі в процесі інтеграції, наша команда обмінювалися фідбеком з командою Дії, і зараз, наскільки нам відомо, в Дії впроваджують нові підходи до такої співпраці.

А десь можна почитати про інтеграцію з Дією? Бо я бачу шо RIA також зробила логін на сайті через Дію.

Чи треба в саппорт Дії писати?

Підписатись на коментарі