Криптографи з Гарвардського університету та Microsoft Research разом із колишніми розробниками месенджера Signal представили відкриту технологічну основу для нового покоління застосунків із наскрізним шифруванням — не лише для особистого листування, а й для складних інструментів спільної роботи на кшталт Slack, Discord чи Google Docs.
Проєкт отримав назву Encrypted Spaces, а його вихідний код опубліковано у відкритому доступі для вивчення дослідниками та розробниками.
Чому звичайне шифрування не підходить для сучасних застосунків
Наскрізне шифрування (end-to-end encryption) давно стало стандартом для особистого листування: повідомлення шифруються так, що прочитати їх можуть лише відправник і отримувач, а сервер-посередник не має доступу до вмісту. Така модель добре працює як «труба» між двома пристроями, але погано масштабується для сучасних платформ спільної роботи.
Коли десятки чи сотні учасників однієї групи спільно редагують документи, завантажують файли або ведуть спільний календар, без централізованої обробки даних на сервері не обійтися. Однак саме це й суперечить класичній моделі наскрізного шифрування: якщо сервер не може розшифрувати дані, він не може ними й керувати.
Нова модель: «простори» замість «труб»
Encrypted Spaces пропонує альтернативну архітектуру. Замість метафори труби з двома кінцями автори запропонували концепцію «просторів» (spaces) — захищених середовищ, у яких учасники можуть вести групові розмови, зберігати та спільно редагувати дані, запрошувати нових учасників чи виключати наявних — і все це зі збереженням надійного шифрування.
Ключовою технічною новинкою є використання доказів з нульовим розголошенням (zero-knowledge proofs) — відносно нового криптографічного методу, який дає змогу серверу перевіряти цілісність зашифрованих даних, не маючи доступу до їхнього вмісту.
Як це працює: журнали змін і «стиснуті докази»
Застосунок, побудований на основі Encrypted Spaces, веде журнал змін — повний запис усіх дій користувачів із зашифрованими даними. Цей журнал поширюється між пристроями учасників, і кожен пристрій самостійно застосовує зміни локально, підтримуючи актуальну версію даних.
Сервер при цьому використовує докази з нульовим розголошенням, щоб підтвердити кожному пристрою: жодної зміни не пропущено і жодної несанкціонованої зміни не внесено — причому не розкриваючи самого вмісту. Понад те, завдяки властивості «згортання» (roll-up) таких доказів пристрою не обовʼязково завантажувати весь журнал змін.
«Сервер може згорнути зміни в стислий доказ того, що поточний стан відображає всю історію, — пояснює у коментарі для WIRED Тревор Перрін, один із творців протоколу Signal. — Він може переконати вас, що журнал змін застосовано правильно, не надсилаючи його повністю».
Аналогічно розвʼязується й управління доступом: сервер за допомогою тих самих доказів контролює криптографічні ключі, уможливлює запрошення нових учасників і надійно анулює доступ тих, хто покинув групу. Адміністратори простору також можуть вирішувати, чи матиме новий учасник доступ до всієї попередньої історії, чи лише до нових даних.
Від Signal до Spaces: сім років роботи
Витоки проєкту сягають 2019–2020 років, коли розробники Signal, зокрема інженерка Нора Трапп і Тревор Перрін, працювали над поліпшенням групових чатів. Тоді вони у партнерстві з криптографами Microsoft Research створили систему «анонімних облікових даних» на основі доказів з нульовим розголошенням, яка дала змогу серверу Signal керувати списком учасників групи, не зберігаючи його в незашифрованому вигляді.
Згодом виникло ширше питання, яке формулює Грег Заверуха з Microsoft Research: «Чому б нам не мати наскрізне шифрування в усіх застосунках, якими ми користуємося?» Сім років роботи з різною інтенсивністю завершилися публікацією репозиторію з відкритим вихідним кодом.
Що вже існує і чим відрізняється Encrypted Spaces
Певні елементи наскрізного шифрування вже реалізовані в низці платформ — Proton, CryptPad, Nextcloud, Matrix. Однак Encrypted Spaces, на думку Метта Гріна, професора криптографії з університету Джонса Гопкінса, пропонує відкриту, авторитетну та більш стандартизовану основу для побудови таких застосунків.
«Мені подобається ідея, що в нас буде стандартна бібліотека, яку багато хто зможе перевірити, — каже Грін. — І якщо ви використовуєте цю бібліотеку, ви отримуєте весь захист безкоштовно».
Разом із кодом і технічним документом (whitepaper) опубліковано прототип застосунку Spaces — повнофункціональне середовище на кшталт Slack або Discord із груповими нотатками, календарем і зберіганням файлів. Розробники підкреслюють, що наразі це винятково дослідний прототип, не призначений для реального використання. У поточній версії відсутні такі функції, як голосові дзвінки та пошук.
Метою є не готовий продукт, а інструментарій для розробників: «Ми хочемо зробити так, щоб у розробника не було жодної причини не шифрувати свій застосунок наскрізно, бо це стане надзвичайно просто», — каже Нора Трапп.
Шифрування як норма
Творці Encrypted Spaces визнають, що захищеніші платформи можуть використовуватися і в незаконних цілях. Однак, на їхню думку, аргумент про меншість зловмисників не повинен перешкоджати захисту приватності всіх користувачів.
«Ми маємо загальне очікування приватності в реальному фізичному світі, — зазначає Трапп. — Нам слід мати те саме право і в цифровому світі, замість того щоб будувати інтернет зі стеженням як вбудованим елементом його архітектури».
Наскрізне шифрування вже стає нормою в інших сферах: практично кожен вебсайт використовує HTTPS, а Signal зашифрував комунікації на мільярдах пристроїв. Encrypted Spaces ставить амбітнішу мету: поширити ту саму логіку на всі категорії застосунків — від корпоративних чатів до хмарних документів.
«Так само як Signal став стандартом у сфері месенджерів, подібні технології можуть стати стандартом у всій розробці застосунків», — підсумовує Трапп.

