Архитектура безопасности SafeDrop

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

Транспорт
TLS 1.3
Хранение
AES-256
Сквозное
OpenPGP
Площадки
Tier III/IV

Модель угроз

Мы проектируем платформу так, чтобы личность заявителя не раскрылась, даже если один из участников действует против него.

Модель угроз
ПротивникВозможностиЧто ему недоступно
Недобросовестный работодательАдминистратор кабинета, доступ к корпоративной сети и устройствамВключить журналы адресов, встроить свой скрипт в форму, увидеть, кто открывал страницу линии
Оператор платформыИнженеры SafeDrop с доступом к инфраструктуреОткрытый текст обращений: закрытый ключ организации у нас не хранится
Внешний атакующийУтечка базы данных или резервной копииАдреса, отпечатки браузеров и исходные файлы: их нет в хранилище, остальное зашифровано

Шифрование на трёх уровнях

Каждый уровень защищает от своего класса атак и не зависит от двух других.

Сквозное шифрование OpenPGP

Текст и вложения шифруются в браузере заявителя открытым ключом организации: обмен ключами X25519, симметричное шифрование AES-256, подпись Ed25519. Открытый ключ закреплён в коде формы, отпечаток показан заявителю. Закрытый ключ создаётся на аппаратном токене или устройстве куратора и не покидает его.

Транспорт: только TLS 1.3

Соединения с версией ниже 1.3 отклоняются. Наборы шифров: TLS_AES_256_GCM_SHA384 и TLS_CHACHA20_POLY1305_SHA256, прямая секретность через ECDHE. Домены включены в список предзагрузки HSTS, заголовки Content-Security-Policy запрещают загрузку сторонних скриптов на формах.

Хранение: AES-256 at rest

Тома баз данных, объектное хранилище и резервные копии зашифрованы AES-256-GCM. Ключи шифрования томов находятся в аппаратных модулях безопасности и ротируются каждые 90 дней. Резервные копии хранятся на второй площадке и проверяются восстановлением раз в неделю.

Чего платформа не записывает

Сетевые адреса

Балансировщик завершает TLS и передаёт запрос приложению без адреса клиента. Формат журналов на всех узлах собран без поля адреса, а конфигурация проверяется автоматическим тестом при каждом выпуске. Ограничение частоты запросов работает по одноразовому токену сессии формы.

Метаданные файлов

Модуль WebAssembly в браузере заявителя пересобирает файл до шифрования. Поддерживаются JPEG, PNG, HEIC, WebP, PDF, DOCX, XLSX, PPTX, ODT, MP4 и MOV. Файлы неподдерживаемых форматов форма предлагает отправить архивом с предупреждением о возможных метаданных.

Отпечаток браузера

Форма не обращается к Canvas, WebGL, списку шрифтов и датчикам устройства. Заголовок User-Agent отбрасывается вместе с адресом. На страницах линии нет cookie, счётчиков и шрифтов со сторонних серверов.

Код обращения

Код генерируется в браузере заявителя. Сервер хранит только его хэш Argon2id с солью, поэтому даже сотрудник с доступом к базе не сможет войти в переписку от имени заявителя.

Дата-центры

Основная площадка в Москве и резервная в Санкт-Петербурге построены по стандарту Tier III, аппаратные модули с ключами томов размещены в зоне уровня Tier IV. Синхронная репликация между площадками, переключение без потери принятых обращений.

  • Резервирование питания и охлаждения N+1
  • Круглосуточная охрана и биометрический доступ к стойкам
  • Цель восстановления: RPO 0, RTO 15 минут

Комплаенс

Платформа помогает клиенту выполнить требования к каналам сообщений о нарушениях. Ответственность за регламент проверки остаётся за организацией.

152-ФЗ
Локализация персональных данных граждан РФ, поручение на обработку, уведомление клиента об инцидентах в течение 24 часов.
GDPR
Роль processor для содержимого обращений, соглашение об обработке данных по запросу.
Директива ЕС 2019/1937
Конфиденциальный канал, подтверждение получения в течение 7 дней, обратная связь заявителю.
ISO/IEC 27001, ISO 37002
Процессы управления информационной безопасностью и работы с обращениями выстроены по этим стандартам.

Доступ сотрудников SafeDrop

  • Минимальные привилегииДоступ к инфраструктуре выдаётся на время задачи и отзывается автоматически через 8 часов.
  • Правило двух лицИзменения конфигурации журналов и балансировщиков требуют подтверждения второго инженера.
  • Неизменяемый журналДействия инженеров записываются в журнал с защитой от изменения и хранятся 5 лет.
  • Внешний аудитНезависимый тест на проникновение раз в полгода, сводка результатов доступна клиентам по запросу.

Ответственное раскрытие уязвимостей

Если вы нашли уязвимость, напишите нам до публикации. Мы не преследуем исследователей, действующих по этим правилам.

Адрес для отчётов

support@corenode-cloud.ru, тема [security]

Отпечаток PGP-ключа для отчётов

4C1E 8A27 D903 6F5B 21AA
7E40 C9D2 0B6F 93E1 58C7

В рамках программы

  • corenode-cloud.ru и поддомены форм
  • кабинет организации и его API
  • модуль шифрования и очистки метаданных
  • любая утечка адресов или отпечатков заявителей

Вне рамок

  • нагрузочные атаки и спам через формы
  • социальная инженерия против сотрудников
  • физический доступ к площадкам
  • отчёты автоматических сканеров без подтверждения

Наши сроки

подтверждение
2 дня
оценка
10 дней
исправление критичных
30 дней

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