Глосарій

Конфіденційність і шифрування

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

Прихований проти зашифрованого

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

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

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

Дивись також: У стані спокою чи під час передаванняChaCha20-Poly1305

ChaCha20-Poly1305

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

ChaCha20 виконує шифрування; Poly1305 створює мітку, що підтверджує незмінність даних. Разом вони утворюють те, що називають автентифікованим шифруванням, — розшифрування на зміненому файлі явно завершується помилкою, а не видає правдоподібне сміття.

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

Дивись також: У стані спокою чи під час передаванняОбгортка ключів

Обгортка ключів

шифрування конверта

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

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

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

Дивись також: Код відновленняChaCha20-Poly1305

Код відновлення

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

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

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

Дивись також: Обгортка ключівZero-knowledge (нульове розголошення)

Сейф-приманка

правдоподібне заперечення

Другий пароль, який відкриває інший, нешкідливий сейф. Того, кого змусили розблокувати додаток, він справді розблокує, але відкривається не те, що шукали.

Обидва паролі справжні, і кожен відкриває справжній сейф. Ніщо на екрані не вказує на існування іншого, і в додатка не можна запитати, який саме сейф він зараз показує.

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

Дивись також: Код відновленняПрихований проти зашифрованого

Брелок

Захищене системне сховище невеликих секретів, підкріплене апаратним забезпеченням безпеки пристрою. Тут місце ключам і токенам, і сюди не повинно потрапляти нічого великого.

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

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

Дивись також: Обгортка ключівУ стані спокою чи під час передавання

У стані спокою чи під час передавання

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

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

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

Дивись також: ChaCha20-Poly1305Zero-knowledge (нульове розголошення)

Zero-knowledge (нульове розголошення)

нульове знання

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

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

Компроміс тут реальний, і про нього варто говорити прямо, а не продавати як суцільну перевагу: справжнє нульове розголошення означає по-справжньому втратити доступ, коли втрачено останній ключ. Третього варіанту, за якого оператор може тебе врятувати, а більше ніхто не може, не існує.

Дивись також: Код відновленняУ стані спокою чи під час передавання

Біометрія

Face ID, Touch ID

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

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

Порівняння відбувається всередині виділеного апаратного модуля, і шаблони ніколи його не залишають. Додаток, що пропонує Face ID, ставить запитання системі, а не збирає щось сам.

Дивись також: БрелокОбгортка ключів

Анонімна аналітика

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

Знання про те, що екран відкрили, — це підрахунок. Знання про те, який файл відтворили, — це вже опис конкретної людини. Межу між ними проводить не слово «анонімно», а те, які поля несе саме ця подія.

Заява, якій варто довіряти, так само конкретно каже про те, що *не* надсилається, як і про те, що надсилається: жодних імен файлів, жодних шляхів, жодних URL, жодних облікових даних, жодного ідентифікатора, що переживає сесії, — і пропонує спосіб вимкнути все це цілком.

Дивись також: У стані спокою чи під час передавання

Інші теми