SHARE THE PERSPECTIVE
Браузер може виконувати стійку криптографію; коду, доставленому до браузера, усе одно потрібно довіряти.

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

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

Криптографічні будівельні блоки браузера

WebCrypto надає низькорівневі операції шифрування, виведення ключів, підписування та керування ключами. Поширені реалізації пропонують примітиви на кшталт AES-GCM і ECDH. Ці операції — будівельні блоки, а не повний автентифікований протокол обміну повідомленнями.

Вебзастосунок може додати перевірену реалізацію ML-KEM за допомогою JavaScript або WebAssembly там, де потрібний нативний API недоступний. Підтримка браузерів змінюється, тому розробникам слід перевіряти наявність можливостей у конкретних цільових версіях, а не вважати, що кожен браузер пропонує ті самі алгоритми.

Концептуальна гібридна схема така:

  1. Згенерувати належні ключі з криптографічно безпечною випадковістю.
  2. Автентифікувати ключовий матеріал співрозмовника через механізм ідентифікації протоколу.
  3. Отримати класичний і постквантовий внески у спільний секрет.
  4. Поєднати їх за визначеною схемою виведення ключів з урахуванням контексту розмови.
  5. Використовувати виведені ключі для автентифікованого шифрування з правильним опрацюванням nonce та стану.

Це пояснювальний нарис, а не рецепт реалізації. FIPS 203 стандартизує ML-KEM; він не сертифікує конкретний браузерний застосунок і не визначає кожен крок протоколу чату.

Доставка через HTTPS — частина моделі довіри

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

HTTPS допомагає автентифікувати доставку й захистити її від мережевого втручання. Він не доводить, що оператор джерела, його система розгортання чи залежності не скомпрометовані. Звичайна HTTPS-сторінка не є автоматично незалежно підписаним пакетом застосунку.

У міркуваннях W3C щодо безпеки WebCrypto розглядаються ін’єкції скриптів і потреба захищати цілісність застосунку. Content Security Policy, ретельне керування залежностями та інші засоби веббезпеки зменшують ризики, але жоден не перетворює довільний скрипт того самого джерела на недовіреного спостерігача, який не здатен торкнутися даних застосунку.

WebAssembly також поділяє межу безпеки застосунку. Його пісочниця обмежує доступ до хоста через визначені інтерфейси; вона не робить сторінку, що його викликає, надійною. Компіляція C у Wasm не робить вихідну мову безпечною щодо пам’яті.

Ключі не обов’язково існують лише в оперативній пам’яті

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

Варто поставити такі запитання:

  • Які ключі зберігаються та в якому сховищі браузера?
  • Що відбувається після очищення даних сайту або завершення сеансу приватного перегляду?
  • Чи може шкідливий код, що працює в контексті застосунку, і далі використовувати невивантажуваний ключ?
  • Чи може щойно доставлене оновлення отримати доступ до старого локального стану?
  • Відновлення повертає ідентичність, історію повідомлень чи обидва складники?

Невивантажуваний ключ WebCrypto обмежує експорт через API. Сам по собі він не заважає ворожому коду застосунку запитувати дозволені операції або збирати відкритий текст.

Веб- і нативні клієнти мають різні компроміси

Аспект Браузерний клієнт Нативний клієнт
Розповсюдження Джерело, хостинг і конвеєр вебоновлень Магазин застосунків або розповсюдження пакетів і конвеєр підписування
Локальне збереження Сховище браузера та поведінка профілю Сховище застосунку в ОС і життєвий цикл застосунку
Поверхня впливу Скрипти того самого джерела, розширення та вразливості браузера Залежності застосунку й вразливості ОС/застосунку
Доступність Доступний домен і необхідні мережеві служби Інстальованому застосунку все одно потрібні його мережеві служби

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

Вимірюйте продуктивність замість обіцянок

За FIPS 203 ML-KEM-768 використовує ключ інкапсуляції розміром 1 184 байти та шифротекст розміром 1 088 байтів. Ці розміри допомагають пояснити, чому протоколи можуть планувати оновлення KEM, а не додавати новий матеріал до кожного короткого повідомлення. Це не вимірювання трафіку чи швидкості всього застосунку.

Корисний тест указує браузер, пристрій, збірку, метод прогріву, вимірювану операцію та розподіл тривалостей. Враховуйте запуск сторінки, завантаження модулів, використання пам’яті, малопотужні пристрої та мережеві накладні витрати. Твердження на кшталт «менше двох мілісекунд на всіх сучасних телефонах» потребують опублікованих вимірювань; ця стаття їх не надає.

Застосування до Livara

Огляд безпеки Livara документує LVR1 і межі його відновлення. Proof Lab демонструє вибрані локальні операції P-256, HKDF та AES-GCM; сторінка прямо залишає повну композицію LVR1/LGS1 за межами цього стенда. Тож успішна демонстрація не доводить безпеки всього вебкоду, що постачається.

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

Перевірте криптографію Livara
CONTINUE THE THREADPost-quantum encryption ↗
YOU’VE REACHED THE ENDBack to the reading room ↗