Архітектура безпеки: повний технічний стек

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

Стек безпеки Vaultaire використовує AES-256-GCM для шифрування файлів, PBKDF2 з 600 000 ітерацій для виведення ключів, ChaCha20 для захисту метаданих і Secure Enclave від Apple для апаратного управління ключами. Кожен файл отримує власний вектор ініціалізації, кожне сховище отримує власну сіль, а ключі видаляються з пам'яті при блокуванні застосунку.

Криптографічний стек

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

Це не складність заради складності. Кожен рівень усуває іншу поверхню атаки. AES-256-GCM обробляє масове шифрування файлів, оскільки він швидкий і апаратно прискорений на чіпах Apple. ChaCha20 захищає метадані, оскільки він постійночасовий і стійкий до атак через кеш. PBKDF2 виводить ключі через сотні тисяч ітерацій, роблячи атаки методом перебору обчислювально забороненими. Secure Enclave зберігає ключовий матеріал, оскільки лише програмного захисту недостатньо, коли хтось має фізичний доступ до вашого пристрою.

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

Глибокий захист

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

AES-256-GCM: шифрування файлів

Кожна фотографія, відео та документ, збережені у Vaultaire, шифруються за допомогою AES-256-GCM (Стандарту розширеного шифрування з 256-бітним ключем у режимі Галуа/лічильника). Це той самий шифр, який використовується урядом США для секретної інформації найвищого ступеня. Не маркетингове порівняння. Буквально той самий алгоритм, той самий розмір ключа і той самий режим роботи.

«256» в AES-256 означає довжину ключа в бітах. 256-бітний ключ має 2256 можливих значень. Для розуміння цього числа: в спостережуваному Всесвіті є приблизно 1080 атомів. Якщо б кожен атом був суперкомп'ютером, що перевіряє мільярд ключів за секунду і працює з моменту Великого вибуху, вони б дослідили менше трильйонної частки трильйонної частки одного відсотка простору ключів. AES-256 не буде зламано методом перебору. Ні сьогодні. Ні в цьому столітті. Ні до того, як згаснуть зірки.

Чому важливий режим GCM

AES є блоковим шифром: він шифрує дані блоками по 128 біт. «Режим» визначає, як ці блоки об'єднуються. GCM (режим Галуа/лічильника) забезпечує дві речі, яких не мають простіші режими на зразок CBC: паралельне шифрування і вбудовану автентифікацію.

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

PBKDF2: виведення ключів

Ваш ключ шифрування не береться нізвідки. Він виводиться з вашого візерунка (або таємної фрази) через функцію виведення ключів: алгоритм, спеціально розроблений для перетворення вводу від людини на криптографічний ключ. Vaultaire використовує PBKDF2 (функція виведення ключів на основі пароля 2) з HMAC-SHA512, рекомендований NIST стандарт, що використовується в урядових і фінансових системах по всьому світу.

Як PBKDF2 захищає ваш візерунок

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

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

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

256-бітний
Довжина ключа шифрування
6
Криптографічних рівнів
0
Ключів на серверах

ChaCha20: захист метаданих

Шифрування вмісту файлів недостатньо. Імена файлів, дати створення, розміри мініатюр і структура сховища є метаданими, а метадані можуть бути так само показовими, як і самі дані. Файл з назвою «податкова-декларація-2025.pdf» повідомляє зловмиснику точно, що всередині, навіть якщо вміст зашифрований. Мітка часу показує, коли ви використовували сховище. Розмір мініатюри вказує, чи є щось фотографією чи відео.

Vaultaire шифрує всі метадані за допомогою ChaCha20, потокового шифру, розробленого Деніелом Дж. Бернштейном. ChaCha20 використовується разом з AES, а не замість нього, з конкретної причини: криптографічного різноманіття.

Навіщо окремий шифр для метаданих?

Використання одного алгоритму для вмісту файлів і метаданих означає, що теоретичний прорив проти цього алгоритму одразу відкриє все. Використовуючи AES-256-GCM для вмісту файлів і ChaCha20 для метаданих, Vaultaire гарантує, що навіть у надзвичайно малоймовірному випадку компрометації одного шифру інший рівень залишається недоторканним.

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

Архітектура нульових знань

Варто запитати про будь-який застосунок безпеки: що станеться, якщо компанія, що стоїть за ним, буде зламана, отримає судовий запит або просто стане недобросовісною?

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

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

Що означає нульова довіра на практиці

Якщо правоохоронний орган направить Vaultaire судовий запит з вимогою надати ваші дані, компанія може повністю виконати його і передати рівно нічого корисного. Немає ключів для передачі. Немає головного пароля. Немає бекдора. Зашифровані блоби, збережені в iCloud, математично невідрізненні від випадкового шуму без вашого ключа, а ваш ключ існує лише у вашій голові (як візерунок) і миттєво у Secure Enclave вашого пристрою (поки застосунок відкритий).

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

Нікому не довіряй. За задумом.

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

Інтеграція Secure Enclave

Суто програмна безпека має межу. Незалежно від того, наскільки ретельно застосунок обробляє ключі шифрування в пам'яті, операційна система, інші застосунки або інструменти фізичного доступу теоретично можуть зчитати цю пам'ять. Secure Enclave від Apple усуває цю вразливість, надаючи апаратно ізольоване середовище для операцій з ключами.

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

Vaultaire використовує Secure Enclave для управління ключами. Коли ви малюєте візерунок і функція виведення ключів створює ключ шифрування, цей ключ передається до Secure Enclave. Всі подальші операції шифрування і дешифрування делегуються апаратному забезпеченню. Ключ ніколи не існує у пам'яті застосунку у формі, яку міг би витягти відладчик, інструмент джейлбрейку або система форензичного знімання образу.

Це означає, що навіть якщо зловмисник має root-доступ до вашого iPhone (сценарій, що вимагає складного джейлбрейку), ключі шифрування залишаються недоступними. Secure Enclave є окремим чіпом з власним кремнієм. Компрометація iOS не компрометує анклав.

Вектори ініціалізації для кожного файлу

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

Vaultaire усуває це, генеруючи унікальний криптографічно випадковий вектор ініціалізації (IV) для кожного файлу. IV поєднується з ключем шифрування під час операції AES-256-GCM, гарантуючи, що навіть побайтово ідентичні файли дають абсолютно різний шифротекст. Дві копії однієї фотографії, зашифровані одним ключем, виглядатимуть як абсолютно не пов'язані випадкові дані.

IV зберігаються разом із зашифрованими файлами, але не є секретними: їхня безпека ґрунтується на унікальності, а не конфіденційності. Кожен IV генерується за допомогою криптографічного генератора випадкових чисел пристрою, який черпає ентропію з апаратних джерел шуму. Ймовірність генерації однакового IV двічі є астрономічно малою: приблизно 1 з 296 для 96-бітних IV GCM.

Конвеєр шифрування
Ваш візерунок
Введення на сітці 5×5
PBKDF2
KDF з великою кількістю ітерацій
Secure Enclave
Апаратне зберігання ключів
AES-256-GCM + IV
Шифрування кожного файлу

Управління пам'яттю: ключі, що самознищуються

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

Vaultaire застосовує агресивний підхід до гігієни пам'яті. Коли ви закриваєте застосунок або блокуєте сховище, відбувається наступна послідовність:

  • Ключі шифрування перезаписуються. Ділянки пам'яті, що містять ключовий матеріал, заповнюються нулями, потім випадковими даними, потім знову нулями. Це не просте звільнення пам'яті: пам'ять активно стирається для запобігання відновленню.
  • Виведений ключовий матеріал очищується. Проміжні значення з обчислення PBKDF2, тимчасові буфери та будь-які кешовані розшифровані дані обнуляються.
  • Ключі Secure Enclave анулюються. Посилання на ключі в Secure Enclave позначаються для знищення, що гарантує неможливість їх повторного використання без повторного виведення з візерунка.
  • Розшифровані мініатюри і попередні перегляди очищуються. Будь-які кешовані дані зображень у пам'яті перезаписуються до повного закриття застосунку.

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

Поширені запитання

Чи справді AES-256 неможливо зламати?

Жоден алгоритм шифрування не може бути доведено нерозривним у абсолютному математичному сенсі. Проте AES-256 витримав понад два десятиліття публічного криптоаналізу світовою дослідницькою спільнотою. Найвідоміша атака проти AES-256 зменшує ефективну стійкість ключа з 256 біт до приблизно 254,4 біт (скорочення настільки незначне, що воно не має жодного практичного впливу). Злом AES-256 методом перебору потребував би більше енергії, ніж існує в Сонячній системі. На всі практичні цілі він є нерозривним для будь-яких технологій, що існують або є теоретично передбачуваними.

Чому для виведення ключів використовується PBKDF2?

PBKDF2 з HMAC-SHA512 є рекомендованим NIST стандартом з десятиліттями перевіреного аналізу безпеки. У поєднанні з великою кількістю ітерацій Vaultaire і випадковими солями для кожного сховища атаки методом перебору потребують років обчислень для кожного сховища. PBKDF2 реалізовано нативно у фреймворку Apple CommonCrypto, уникаючи залежностей від третіх сторін і забезпечуючи виконання виведення ключів у захищеному перевіреному системному коді.

Які дані Vaultaire надсилає на свої сервери?

Жодних. У Vaultaire немає серверів, які отримують ваші дані. Якщо ви увімкнете резервне копіювання iCloud, ваші зашифровані дані зберігаються у вашому особистому обліковому записі iCloud, зашифровані до виходу з пристрою ключами, яких Apple не має. Компанія Vaultaire ніколи не отримує, не обробляє і не зберігає жодних даних користувачів, ні зашифрованих, ні інших.

Чи може зламаний iPhone скомпрометувати моє сховище?

Джейлбрейк дає зловмиснику права root-доступу до iOS, але Secure Enclave є фізично окремим співпроцесором з власною межею безпеки. Джейлбрейк iOS не зламує Secure Enclave. Ключі шифрування, що зберігаються там, залишаються недоступними навіть за повного контролю над операційною системою. Проте зламаний пристрій збільшує поверхню атаки для кейлогінгу або захоплення екрана, тому Vaultaire рекомендує використовувати пристрій без джейлбрейку для максимальної безпеки.

Навіщо використовувати два різних шифри для файлів і метаданих?

Криптографічне різноманіття. Якщо б у AES була виявлена вразливість (вкрай малоймовірно, але не неможливо), ваші метадані залишалися б захищеними ChaCha20, і навпаки. Крім того, ChaCha20 пропонує характеристики постійного часу виконання, що ідеально підходять для невеликих структурованих даних, як-от імена файлів і мітки часу, усуваючи категорію атак через побічні канали, які теоретично можуть вплинути на AES у програмних реалізаціях.

Що станеться з моїми ключами, якщо застосунок впаде?

iOS звільняє всю пам'ять застосунку під час завершення роботи, незалежно від того, нормальне воно чи ні. Посилання на ключі Secure Enclave прив'язані до сесії застосунку і автоматично анулюються при завершенні процесу. Навіть у разі збою ключовий матеріал не зберігається у доступній формі. Наступний запуск вимагає повного введення візерунка і нового виведення ключів: відновити попередню сесію неможливо.

Побачте стек у дії

Шість криптографічних рівнів. Жодної сліпої довіри. Завантажте Vaultaire і відчуйте архітектуру безпеки, що захищає вас від усіх, включно з нами.

Завантажити Vaultaire безкоштовно