Knock
Приватність Безпека Підтримка EN · UK

Security

Востаннє оновлено 2026-09-27 · технічний огляд простою мовою, не юридичний документ · також доступно англійською

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

Що зашифровано наскрізно

Зашифровано на вашому пристрої ще до того, як дістанеться сервера Knock, і читається лише пристроями, що беруть участь у розмові:

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

Шифрування використовує libsignal — реалізацію протоколу Signal з відкритим кодом, яку підтримує Signal Messenger: встановлення сеансу PQXDH (включно з одноразовими постквантовими ключами ML-KEM/Kyber) і Double Ratchet з SPQR — постквантовим розширенням ратчета від Signal. Knock не реалізує власні криптографічні примітиви.

Шифрування — на рівні пристрою, не акаунту

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

Зашифроване сховище на вашому пристрої

Розшифровані повідомлення та весь ваш приватний матеріал ключів шифрування зберігаються в локальній базі даних, зашифрованій у стані спокою (SQLCipher, AES-256). Ключ бази даних генерується на вашому пристрої й зберігається в iOS Keychain або Android Keystore — ніколи не надсилається на сервер Knock, ніколи не міститься у файлі самої бази даних. Якщо цей ключ неможливо прочитати або він не розблоковує базу даних, Knock відмовляє за замовчуванням (fail closed): нічого не зберігається без шифрування мовчки.

Чого сервер Knock не може бачити

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

Що сервер Knock може бачити

Щоб зʼєднувати й доставляти розмови, сервер Knock обробляє:

  • дані вашого акаунту: імʼя користувача, показуване імʼя і (якщо додали) фото профілю;
  • на яких пристроях ви ввійшли, та їхні публічні ключі шифрування;
  • з ким і коли ви спілкуєтесь — членство в розмовах, час і порядок повідомлень;
  • зашифрований розмір повідомлення чи файлу (доповнений, але не прихований);
  • статус доставки й прочитання, індикатори набору тексту;
  • чи ви зараз онлайн і коли були в мережі востаннє, якщо ви це дозволили (див. нижче);
  • метадані зʼєднання, як-от IP-адреса та час зʼєднання;
  • для голосових дзвінків: хто кому дзвонив, коли, який пристрій відповів і як завершився дзвінок.

Це метадані, потрібні Knock для маршрутизації розмов, — це не зміст повідомлень, і вони не зашифровані наскрізно.

Фото профілю не зашифровані наскрізно

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

Як працюють зашифровані медіафайли

Фото, відео, голосові повідомлення та файли ніколи не подорожують всередині повідомлення так, як текст. Кожен файл шифрується на вашому пристрої власним випадковим ключем за допомогою автентифікованого шифрування (AES-256-GCM, у потоковій конструкції, тож увесь файл ніколи не зберігається в незашифрованому вигляді в памʼяті цілком), а потім завантажується як непрозорий зашифрований блок. Сам ключ подорожує лише всередині зашифрованого змісту повідомлення — сервер ніколи його не має й ніколи не бачить справжній вміст, назву чи тип файлу.

Як захищені голосові дзвінки

Звук дзвінка використовує стандартне шифрування медіа WebRTC — DTLS-SRTP — наскрізно між двома телефонами: сервер Knock ніколи не отримує звук, а сервер-ретранслятор (TURN) Knock, який використовується, коли телефони не можуть зʼєднатися напряму, лише пересилає зашифровані пакети. Встановлення дзвінка — зокрема відбитки ключів і мережеві адреси телефонів — має наскрізне шифрування тими самими сесіями протоколу Signal, що й ваші повідомлення, тож наш сервер зʼєднує дзвінок, але не може його слухати чи стати посередником. Сам звук не «зашифрований протоколом Signal»: це DTLS-SRTP, автентифікований через ці сесії Signal. Дзвінки ніколи не записуються. Прямий дзвінок може показати співрозмовнику вашу IP-адресу; «Завжди через ретранслятор» у налаштуваннях приватності цьому запобігає.

Присутність і підтвердження прочитання

Показ того, коли хтось онлайн, і підтвердження прочитання — обидва залежать від того, що сервер знає ваш стан, — вони не є і не можуть бути зашифровані наскрізно так, як зміст повідомлень. Обидва є взаємними й контрольованими в Налаштуваннях: якщо ви вимикаєте поширення своєї присутності, ви перестаєте бачити чужу теж; те саме стосується підтверджень прочитання. Кожне з них видиме лише людям, з якими ви вже ведете спільну розмову.

Резервні копії

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

Поточні обмеження альфа-версії

Прочитайте цей розділ так само уважно, як і решту. Knock — приватна альфа-версія, і:

  • реалізація шифрування ще не пройшла незалежний аудит безпеки;
  • поки немає інтерфейсу для перевірки ідентичності друга (порівняйте з «кодами безпеки»); новий пристрій автоматично довіряється під час першого спілкування з ним — відоме обмеження базового протоколу без такої перевірки;
  • тестування досі зосереджувалось на симуляторах та емуляторах, з обмеженим тестуванням на фізичних пристроях;
  • скомпрометований пристрій або шкідливе програмне забезпечення на ньому — поза тим, від чого будь-що з цього захищає.

Knock не описує себе як «незламний», «військового рівня», «zero-knowledge» чи такий самий надійний, як якийсь конкретний інший месенджер. Ці слова не витримують перевірки, а ми радше хочемо, щоб нас перевіряли, ніж справляли враження.

Компоненти з відкритим кодом

Шифрування Knock спирається на програмне забезпечення з відкритим кодом, включно з libsignal (ліцензія AGPL-3.0-only) та SQLCipher. Екран із повідомленнями про відкритий код у застосунку заплановано, але ще не випущено.

Читати Політику конфіденційності →

Приватність Умови Підтримка Безпека

Knock — проєкт Ivan Salo. © 2026. Український текст — переклад з англійської; якщо тексти розходяться, чинною є англійська версія.