Files
DLE/MASKING_AND_ENCRYPTION_PLAN.md

3.4 KiB

План задач по маскировке и шифрованию данных

1. Анализ данных

  • Определить, какие поля и таблицы содержат чувствительные данные (например, email, ФИО, адрес, сообщения, вложения).
  • Составить список полей для маскировки (для user/guest) и для шифрования (для хранения в БД).

2. Маскировка данных (токенизация)

  • Реализовать функцию маскировки на backend (Node.js):
    • Для ролей user/guest возвращать токены вместо реальных данных (например, token_<id>).
    • Для admin возвращать реальные значения.
  • Внедрить маскировку в API-эндпоинты, возвращающие списки пользователей, чатов, сообщений и т.д.
  • Обновить frontend для корректного отображения токенов и подсказок (например, «Данные скрыты, доступ только администратору»).

3. Шифрование данных при хранении

  • Выбрать алгоритм шифрования (например, AES-256-GCM).
  • Реализовать функции шифрования/дешифрования на backend для чувствительных полей.
  • Хранить ключи шифрования только в переменных окружения (не в коде и не в БД).
  • Мигрировать существующие данные: зашифровать чувствительные поля в БД.
  • Обновить логику создания/обновления записей: шифровать данные перед сохранением.
  • Обновить логику чтения: расшифровывать данные для admin, возвращать токены для user/guest.

4. Шифрование файлов и вложений

  • Реализовать шифрование файлов/вложений перед сохранением на диск или в облако.
  • Обеспечить расшифровку файлов только для admin.

5. Безопасное хранение ключей

  • Настроить хранение ключей шифрования в переменных окружения (Akash/Flux Cloud).
  • Обновить Dockerfile и инструкции деплоя для поддержки секретов.

6. Тестирование и аудит

  • Провести тестирование маскировки и шифрования для всех ролей.
  • Проверить, что admin видит реальные данные, user/guest — только токены.
  • Провести аудит безопасности (внешний или внутренний).

7. Документация

  • Описать логику маскировки и шифрования в README или отдельном разделе.
  • Добавить инструкции по настройке переменных окружения и деплою на Akash/Flux Cloud.