CottonБезопасность
Безопасность

Безопасность, которую видно в обычной работе.

Шифрование, которое не нужно включать. Passkeys, которыми можно управлять. Целостность БД, нагрузка на хранилище и админские проверки там, где вы их видите, а не в тайных настройках во время пожара.

AES-GCM на чанкКлиентское шифрованиеPasskeys и TOTPАдминская проверка

Шифрование чанков

Cotton шифрует хранимые данные через потоковый AES-GCM конвейер: обёрнутые ключи на файл, теги аутентификации на чанк, структурированные nonce и аутентифицированные метаданные контейнера. Фокус не в экзотической крипте, а в консервативном формате хранения, который можно держать включённым всегда.

  • Шифрование идёт в обычном пути хранения.
  • Теги аутентификации помогают ловить подмену, пропуски блоков, дубликаты блоков и порчу.
  • Серверный master key защищает зашифрованные данные хранилища и артефакты бэкапов.

Скучная крипта — это фича

AES-GCM — широко применяемый режим аутентифицированного шифрования. Cotton использует стандартную криптографию рантайма, а не изобретает свой шифр. Вся специфичная работа вокруг: обёртывание ключей, заголовки файлов и чанков, раскладка nonce, ограниченные буферы и тесты, которые фиксируют поведение контейнера.

  • 32-байтные ключи и 16-байтные теги аутентификации соответствуют дизайну хранилища.
  • 12-байтные nonce собираются из префикса файла и счётчика чанков.
  • Золотые векторы и тесты на подмену не дают формату случайно поплыть.

Клиентски зашифрованные папки

Cotton поддерживает выбранные E2E-папки и файлы. Когда политика включена, новые загрузки шифруются в браузере на ключе хранилища до отправки на сервер; зашифрованные отображаемые метаданные позволяют вернуть имена и типы контента после разблокировки.

  • Пароль шифрования отделён от пароля аккаунта и не отправляется на сервер.
  • Зашифрованные файлы используют непрозрачные серверные имена и клиентские отображаемые метаданные.
  • Текущий браузерный конвейер на Blob ограничен 512 MB на файл, пока его не заменит клиентское потоковое шифрование.

Граница доступа админа

Шифрование на уровне хранилища защищает каждый сохранённый чанк, а клиентски зашифрованные папки поднимают границу приватности для выбранного контента. Публичная формулировка остаётся честной: E2E относится к этим клиентски зашифрованным файлам, а не ко всем байтам всех фич магическим образом.

  • Сохранённые чанки зашифрованы и контентно-адресуемы.
  • Видимое дерево папок живёт в метаданных, а не в обычных пользовательских каталогах.
  • Админская диагностика показывает риски развёртывания вместо того, чтобы прятать их.

Безопасность аккаунта

Пользователи могут входить по паролю, TOTP, платформенным passkeys или внешним WebAuthn-ключам безопасности. Настройки профиля показывают активные сессии, чтобы подозрительное устройство можно было отозвать без выброса всех остальных.

  • Passkeys и аппаратные ключи безопасности — полноценные учётные данные аккаунта.
  • Настройка TOTP и сценарии восстановления находятся в безопасности профиля.
  • Неудачные входы и события безопасности могут становиться уведомлениями.

Целостность базы данных

Защищённые строки БД несут подписи целостности, выведенные из материала master key. Чувствительные к безопасности чтения могут проверить подпись и поднять ошибку, а не слепо доверять изменённым метаданным.

  • Пользователи, учётные данные, токены, настройки, узлы, манифесты и чанки покрываются дескрипторами целостности.
  • Мостовой режим раскатки может подписывать старые строки и предупреждать админов, что раскатка ещё не завершена.

Админская проверка безопасности

Страница админской безопасности оценивает конкретные риски развёртывания: публичное создание аккаунтов, источник master key, покрытие админов 2FA, диагностику .NET, дампируемость Linux, seccomp, capability ptrace, записываемую корневую файловую систему, доступность Docker socket, сигналы host PID namespace, дампы памяти и изоляцию.

Нагрузка на хранилище и квоты

Хранилище на файловой системе проверяет свободное место перед новой физической записью чанков. Публичные/демо-инстансы могут применять квоты пользователей по умолчанию, чтобы онбординговый контент не превращался в неконтролируемую яму для диска.

Честная позиция по крипте

Модули шифрования покрыты тестами на золотые векторы, подмену, усечение, стабильность, pipe, отмену и производительность, но сайт не заявляет сторонний аудит, которого не было. Лучше честно назвать границы, чем надувать доверие. Правильное публичное заявление: потоковый AES-GCM по учебнику для слоя хранилища плюс клиентское шифрование для папок/файлов, где политика E2E явно включена.

Демо-аккаунты

Публичное демо не держится на одном общем аккаунте. Ссылка для входа генерирует учётные данные под браузер и может засеять контент по умолчанию в новый аккаунт тем же продуктовым механизмом, что используется для онбординга.

Текущие ограничения

Называем сразу. Клиентское E2E сейчас идёт через браузерный Blob-конвейер с лимитом 512 MB на файл, пока не появится потоковый конвейер. Опубликованные бенчмарки — это машинные базовые замеры, а не математика живой загрузки end-to-end; реальная пропускная способность зависит ещё от браузера, HTTP/TLS, базы, диска и параллелизма. А шифрование хранилища — это AES-GCM «по учебнику», но без стороннего аудита.

Поверхности безопасности, которые видно

История безопасности Cotton видна в механике продукта: серверное шифрование чанков, выбранные клиентски зашифрованные папки, passkeys, TOTP, отзыв сессий, подписи базы данных, квоты, проверки нагрузки на хранилище и админская диагностика имеют пользовательскую или операторскую поверхность.

  • Сохранённые чанки используют потоковый AES-GCM в обычном пути.
  • Клиентски зашифрованные папки не пускают секрет хранилища в серверный поток входа.
  • Защищённые строки базы данных можно сверять с подписями целостности.

Безопасность в продуктовой тропе

Cotton говорит прямо: это безопасность внутри файлового облака, а не галочка, прикрученная к UI общих папок. Продукт показывает рискованные состояния, чтобы оператор мог починить их до инцидента.

Что не надо обещать

Cotton не продаётся как универсально end-to-end зашифрованный. Точная формулировка: потоковый AES-GCM на слое хранилища по умолчанию плюс клиентское шифрование для папок и файлов, где такая политика явно включена.

Доказательство безопасности

Безопасность должна быть видна до того, как что-то сломалось.

Cotton не сжимает безопасность в одно мутное заявление про шифрование. Он разделяет шифрование хранилища, папки с клиентским шифрованием, контроль аккаунтов, целостность метаданных и диагностику для оператора.

Шифрование хранилища

Сохранённые чанки проходят через аккуратный AES-GCM container: завёрнутые ключи файлов, теги на каждый чанк и структурированные nonces.

Папки с клиентским шифрованием

Выбранные папки могут поднять границу приватности: файлы шифруются в браузере до загрузки.

Безопасность аккаунта

Passkeys, внешние ключи WebAuthn, TOTP, активные сессии и отзыв доступа видны пользователю как нормальные элементы управления.

Целостность и операции

Подписи в БД, задачи проверки согласованности хранилища, проверки давления на хранилище и диагностика админки делают риск видимым.

Проверка в админке

Админка должна назвать риск, а не спрятать его.

Проверка в Cotton — поверхность оператора, а не публичный театр. Она оценивает конкретные сигналы развёртывания и аккаунтов, чтобы маленький self-hosted инстанс видел, что ещё надо захарденить.

  • public registration
  • master-key source
  • admin 2FA coverage
  • .NET diagnostics
  • Linux dumpability
  • seccomp and ptrace
  • writable root filesystem
  • Docker socket exposure
Путь безопасности

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

Криптографическая позиция

История с шифрованием намеренно скучная: стандартный AES-GCM, явные правила контейнера для файлов и чанков, форматные векторы и тесты на подделку вместо заявлений о самодельном шифре.

Граница заявлений

Cotton не заявляет сторонний аудит безопасности, которого не было. Публичное заявление точное: потоковое шифрование хранилища AES-GCM плюс клиентское шифрование там, где включена политика папок.

Вопросы

Прямые ответы

Cotton поддерживает passkeys?

Да. Пользователи могут регистрировать WebAuthn-учётные данные, переименовывать или удалять их в настройках профиля и входить через платформенные passkeys или внешние ключи безопасности.

Шифрование Cotton — это E2E?

У Cotton два слоя. Сохранённые чанки используют серверный потоковый AES-GCM по умолчанию. Выбранные папки/файлы могут дополнительно использовать браузерное клиентское шифрование с ключом хранилища, непрозрачными серверными именами и зашифрованными отображаемыми метаданными; вот это и есть поверхность E2E.

У Cotton был сторонний аудит безопасности?

Публичное заявление об аудите нельзя делать, пока такого аудита нет. Сайт должен описывать конкретные меры контроля и границы, а не занимать доверие у несуществующей проверки.

Cotton использует свой алгоритм шифрования?

Нет. Cotton использует AES-GCM через стандартные криптографические примитивы. Своя инженерия здесь — контейнер хранилища: обёрнутые ключи файлов, теги чанков, раскладка nonce, потоковые буферы и тесты поведения формата.