Сквозное шифрование лежит в основе работы Proton Drive. Именно оно обеспечивает конфиденциальность ваших файлов: доступ к ним имеете только вы и те, кому вы его предоставили (даже у нас нет такой возможности). Поскольку в наших приложениях для облачного хранения защищена каждая операция с файлами, эффективность криптографии напрямую влияет на скорость загрузки и скачивания.
После наших предыдущих улучшений производительности SDK при загрузке и скачивании это обновление продолжает работу, делая основной уровень шифрования Proton Drive еще более эффективным.
Proton Drive использует стандарт OpenPGP для шифрования содержимого файлов. Сейчас мы внедрили криптографическое решение, представленное в обновлении этого стандарта. Важной частью работы над SDK в течение этого года был перенос файловых операций хранилища на единую основу, что ускорило работу приложений на всех платформах. В результате скорость загрузки файлов увеличилась до 4 раз. Это также закладывает основу для следующего поколения функций хранилища.
Влияние на производительность
Шифрование сильно влияет на то, насколько плавно работает приложение каждый день, поэтому четырехкратное сокращение времени на этот процесс значительно ускоряет загрузку файлов, особенно на устройствах, где производительность критически важна:
- Результаты тестов на мобильных устройствах показывают, что шифрование файла размером 4 МБ теперь занимает 32 мс вместо прежних 97 мс.
- На более мощных процессорах та же операция теперь занимает всего 3 мс вместо прежних 12 мс.
Раньше шифрование HD-фильма или 1000 фотографий высокого разрешения занимало на телефоне около полутора минут, а на быстром компьютере — около 12 секунд. С этим обновлением та же задача выполняется примерно за 30 секунд на мобильных устройствах и около 3 секунд на компьютере.
Как Proton Drive стал быстрее
В структуре Proton Drive используется файловый узел (node), который может иметь множество версий (revisions), каждая из которых представляет собой вариант файла. Содержимое затем разбивается на блоки (blocks). Узел содержит криптографические данные для шифрования блоков. Эти данные файлового узла состоят из ключа узла (node key) (заблокированного секретного ключа PGP) и пакета ключа содержимого (content key packet) (PKESK, зашифрованного ключом узла).

Сообщения PGP, которые Proton Drive использует для содержимого файлов, состоят из двух пакетов:
- Шифруемый открытым ключом сеансовый ключ (PKESK): это пакет ключа содержимого узла, общий для всех блоков.
- Симметрично зашифрованный пакет данных с защитой целостности (SEIPD): это зашифрованное содержимое блока.
Новая схема шифрования
До этого обновления криптографии при загрузке файлов использовались пакеты PKESK версии 3 и SEIPD версии 1. Теперь алгоритм шифрования требует использования PKESK версии 6 и SEIPD версии 2. Для содержимого применяется симметричное шифрование AES-GCM, которое в полной мере задействует возможности аппаратного шифрования на большинстве современных устройств.
Поскольку сеансовый ключ является общим для всех версий при обновлении файлов, all revisions on a file must match the encryption scheme used by the first one. Это означает, что для внесения изменений в файл и загрузки новой версии клиентские приложения должны быть обновлены для поддержки соответствующей версии PKESK. Клиенты, созданные на базе Proton Drive SDK, обрабатывают это автоматически, так как информация передается в сеансовом ключе. Ключ генерируется здесь(новое окно) и используется при шифровании блоков(новое окно).
Во избежание проблем с дешифрованием в дальнейшем, новые версии файлов с неверной версией схемы шифрования будут отклоняться. Это означает, что клиенты, не поддерживающие эту функцию, не смогут обновлять файлы, загруженные после вступления изменений в силу. Обязательно обновите свои приложения Proton Drive, чтобы воспользоваться всеми преимуществами производительности.
Что дальше
Это важный шаг в развитии единой архитектуры Proton Drive в сторону более производительного и функционального облачного хранилища под защитой сквозного шифрования. Благодаря SDK каждое клиентское приложение хранилища получает общее криптографическое ядро. Это позволяет осуществлять столь масштабные изменения и быстрее внедрять новые технологии. Следите за обновлениями в этом году.
Спасибо за вашу постоянную поддержку,
Команда инженеров Proton Drive






