![шлях](/f/dee1993bcc8a1eaeb63c246e3a9d8e66.jpeg)
Минулого тижня в Інтернеті вибухнула новина про соціальну програму для iOS "Шлях" завантаження всієї адресної книги на свої сервери, а потім зберігати їх там. Що ще гірше, це надсилання та зберігання їх у звичайному тексті (хоча з'єднання було принаймні із шифруванням SSL). Очевидно, що сповістити вас про шлях, коли ваші друзі приєднаються до служби, зручно, але чи є спосіб зробити це без шкоди для конфіденційності? Згідно з Edinburgh iOS supremo Matt Gemmell, існує.
Джеммелл пояснює процедуру на великій (і цікавій) глибині. Коротше кажучи, все це робиться за допомогою хешів. Ні, не смачна страва на сніданок, а математичний вид, який вам може бути відомий, завантажуючи програмне забезпечення з відкритим кодом. Хеш-це числа, створені з атрибутів файлу або, скажімо, адреси електронної пошти. Вони майже унікальні, залишаючись анонімними. Хешування файлу або адреси електронної пошти завжди дає однаковий результат, але його неможливо (без великої роботи) скасувати.
Таким чином, Path може хешувати всі електронні листи у вашій адресній книзі, завантажувати їх та мати анонімний список ваших контактів. Коли приєднується нова особа, її електронна пошта хешується, і якщо рядок відповідає одному з ваших, вітаємо! У вас є новий друг.
Хеш працює так: помножте 6 × 7 і отримаєте 42. Відповідь однакова, хто робить математику. Але якщо я дам вам номер 42 і запитаю, якими цифрами я його отримав, у вас є багато варіантів. Додайте алгоритми замість прямого множення та набагато більші числа, ніж шість і сім, і ви зрозумієте. Так, ви можете зламати свій телефон, щоб захистити вас, але це може бути дратівливі наслідки.
На практиці є ще щось інше (і смачні солоні хеші грають роль), але це виглядає як чудовий компроміс. Зрештою, мені подобається, коли Instagram каже мені, що до служби приєднався новий друг. Мені просто не подобається, що в ньому є всі адреси, номери телефонів і, можливо, навіть нотатки моїх контактів. Шлях має, як ми вже повідомляли, зробив завантаження необов’язковим, але якщо ви натиснете так, то це має бути хешування вашої цінної інформації.
[через @mattgemmel]