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

Что BlokNet защищает сегодня — и чего мы не обещаем

Здесь описана фактическая реализация текущей версии, включая новый формат защищённых заметок и правила передачи данных в AI.

Коротко: новые защищённые заметки используют AES-256-GCM и PBKDF2-SHA256. Шифрование и расшифрование выполняет серверное PHP-приложение, поэтому BlokNet не позиционируется как end-to-end или zero-knowledge система.

Защищённые заметки

Для заметки можно включить отдельное шифрование и задать пароль. Для новых записей сервер генерирует случайные salt и IV, получает 256-битный ключ через PBKDF2-SHA256 с 150 000 итераций и шифрует содержимое в режиме AES-256-GCM с authentication tag.

Пароль заметки не хранится в её записи. При этом он передаётся серверному приложению в момент шифрования и расшифрования, поэтому модель нельзя называть клиентским E2E-шифрованием.

Совместимость со старыми заметками

Старые записи формата AES-256-CBC продолжают открываться прежним паролем. После успешной расшифровки приложение автоматически перепаковывает содержимое в новый формат AES-256-GCM.

Что получает AI

В планировщике AI может получать активные задачи, статистику выполнения, возраст и время последнего изменения задач, нагрузку по дням, приоритеты, повторяющиеся формулировки и накопленную историю переносов.

Добровольно заполненный профиль «Обо мне» используется только согласно настройке пользователя. В чате по заметкам пользователь сам выбирает материалы для контекста.

Зашифрованные заметки исключены из AI-контекста. Сервер проверяет признак шифрования перед формированием запроса и не добавляет такую заметку даже если её ID попытаться передать вручную.

Пароли учётных записей

Пользовательские пароли проверяются через password_verify() и создаются с помощью стойкого хэширования паролей. Исходный пароль не должен храниться в открытом виде.

Сессии

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

Что стоит улучшить дальше

  • Перенести криптографические операции защищённых заметок полностью в браузер через Web Crypto API.
  • Провести отдельный внешний аудит слоя авторизации, сессий, секретов и серверной конфигурации.
  • Добавить политику ротации резервных ключей и документированный процесс восстановления инфраструктуры.
  • Только после реализации и проверки клиентской криптографии отдельно оценивать возможность заявлять end-to-end / zero-knowledge.

Сообщить о проблеме

Если вы нашли уязвимость или подозрительное поведение, напишите на support@bloknet.app с шагами воспроизведения. Не публикуйте пользовательские данные и рабочие ключи.