Пошук друзів у месенджері та збереження приватності адресної книги — не одне й те саме завдання. Програма має визначити, які ідентифікатори належать учасникам сервісу, але спосіб зіставлення визначає, яку інформацію отримує сервіс. Саме собою хешування номера телефону не гарантує, що номер неможливо визначити.
Чому хешований номер можна визначити?
Хеш-функція перетворює вхідні дані на значення сталої довжини. Проте простір телефонних номерів обмежений і структурований. Зловмисник може генерувати ймовірні номери, обчислювати їхні хеші та шукати збіги. Це не «розшифрування хешу», а перевірка передбачуваних вхідних даних.
Signal пояснює саме це обмеження ідентифікаторів із невеликою різноманітністю в описі проблеми приватного пошуку контактів. Та сама стаття представляє схему на основі довіреного середовища виконання; цей історичний приклад не слід поширювати на всі месенджери без перевірки версії та нової документації.
Отже, фраза «сервер бачить лише хеші» не дає повної відповіді на питання приватності. Має бути зрозуміло, хто може обчислювати збіги, які запити записуються і скільки зберігаються дані.
Що дозволяє доступ до контактів?
Дозвіл читати контакти надає програмі доступ до даних адресної книги; сам собою він не визначає, чи завантажує програма ці дані на сервер. Імена, номери, адреси електронної пошти та нотатки контактів можуть бути чутливими, особливо коли стосуються людей, які взагалі не користуються сервісом.
Документація Android Contacts Provider розрізняє широке читання адресної книги та вибір одного контакту через системний інтерфейс. Обсяг доступу залежить від реалізації та версії операційної системи.
| Спосіб пошуку контакту | Можлива перевага | Що слід перевірити |
|---|---|---|
| Передавання імені користувача або посилання-запрошення | Може не потребувати читання всієї адресної книги | Можливість пошуку ідентифікатора та знаходження облікового запису іншими людьми |
| Вибір кількох контактів | Програмі доступно менше даних | Чи отримує програма лише вибрані записи? |
| Завантаження списку номерів або хешів | Простіше зіставлення із зареєстрованими користувачами | Можливість підбору номера, запису запитів і зберігання списку |
| Спеціальний протокол приватного пошуку | Може зменшити розкриття в межах моделі загроз | Припущення щодо довіри, обмеження та свідчення незалежної перевірки |
Чого шифрування повідомлень не доводить про адресну книгу?
Наскрізне шифрування може приховувати текст розмови від сервера, але саме собою нічого не говорить про дозвіл на контакти, запити пошуку користувачів або реєстрацію комунікацій. Навіть без адресної книги інформація маршрутизації може розкривати частину комунікаційних зв’язків.
На сторінці безпеки Livara пояснює зберігання та обробку операційних даних, як-от членство в групах, час і маршрутизація. Із цього документа не можна зробити висновок, що адресна книга хешується певним способом, що жодна історія не зберігається або що граф зв’язків повністю прихований. Для таких тверджень потрібне окреме пояснення пошуку контактів.
Перш ніж надати дозвіл, поставте п’ять запитань
- Чи можу я спілкуватися за іменем користувача або прямим запрошенням без доступу до контактів?
- Які саме поля залишають пристрій: лише номер чи також ім’я та інші відомості?
- Як використовуються й видаляються відомості про людей, не зареєстрованих у сервісі?
- Відкликання дозволу припиняє лише майбутній доступ чи є також спосіб видалити вже надіслані дані?
- Чи відповідають технічне пояснення та політика зберігання даних поточній версії програми?
Перегляньте дозволи програми в системних налаштуваннях і обмежте непотрібний доступ, якщо автоматичний пошук друзів вам не потрібен. Назви параметрів на різних телефонах відрізняються. Не вважайте відкликання дозволу рівнозначним видаленню вже завантажених даних.
Приватність контактів оцінюють за мінімізацією даних і зрозумілістю їхнього шляху, а не лише за наявністю слова «хеш» поруч із номером телефону.



