Компания Mozilla запустила новый сервис Firefox Send, предоставляющий средства для обмена файлами между пользователями с применением оконечного шифрования (end-to-end). Изначально данный сервис проходил тестирование в рамках программы Test Pilot ещё в 2017 году, а теперь признан готовым для повсеместного использования.

Firefox Send позволяет загрузить в хранилище на серверах Mozilla файл, размером до 1 Гб в анонимном режиме и 2.5 Гб при создании зарегистрированной учётной записи. На стороне браузера файл шифруется и передаётся на сервер уже в зашифрованном виде. После загрузки файла пользователю предоставляется ссылка, которая генерируется на стороне браузера и включает идентификатор и ключ для расшифровки (ключ не передаётся на сервер Mozilla). При помощи предоставленной ссылки получатель загружает файл и расшифровывает на своей стороне.

Отправитель имеет возможность определить число загрузок, после которых файл будет удалён из хранилища Mozilla, а также время жизни файла (от одного часа до 7 дней). По умолчанию файл удаляется после первой загрузки или после истечения 24 часов. Также можно задать отдельный пароль для расшифровки, позволяющий предотвратить доступ к конфиденциальной информации в случае попадания ссылки не в те руки (для усиления защиты пароль можно передать отдельной от ссылки, например через SMS или опубликовать ссылку публично, а пароль отправить только избранным пользователям).

Сервис Send не привязан к Firefox и подготовлен в виде универсального web-приложения, не требующего встраивания в браузер дополнений. Серверная часть написана на JavaScript с использованием Node.js и СУБД Redis. Для шифрования применяется API Web Crypto и алгоритм блочного шифрования AES-GCM со 128-разрядным ключом. Код сервера размещён на GitHub под лицензией MPL 2.0 (Mozilla Public License), что позволяет любому желающему развернуть аналогичный сервис на подконтрольном оборудовании.