В большинстве систем безопасность данных держится только на пароле администратора. Если злоумышленник получил доступ к базе данных (БД) напрямую, он может менять цены, подделывать платежи или удалять историю операций. В RK-CMS мы подошли к этому вопросу иначе.
Мы исходим из простого принципа: даже если злоумышленник проник в базу данных, он не сможет незаметно изменить информацию или украсть деньги.
Для этого мы используем два уровня защиты: цифровые подписи (сигнатуры) и неразрывную цепочку транзакций.
Сигнатуры данных: Как печать на документе
Представьте, что каждая запись в нашей базе данных - это официальный документ. Чтобы документ считался настоящим, на нем должна стоять мокрая печать.
В RK-CMS роль такой печати выполняет сигнатура (уникальный цифровой код, хэш-сумма). Система автоматически вычисляет этот код для каждой записи на основе её содержимого.
Как это работает на практике:
Допустим, в базе есть строка: "Пользователь Вася, баланс: 100 рублей".
Система берет эту строку, пропускает через специальный алгоритм и получает код, например: A1B2C3. Этот код A1B2C3 сохраняется рядом с данными.
Теперь, если хакер попытается тихо подменить данные в базе и напишет «Баланс: 1 000 000 рублей», сигнатура не сойдется. Алгоритм для новой суммы выдаст другой код, например X9Y8Z7.
Результат: RK-CMS постоянно сверяет данные с их печатями. Если злоумышленник исправил цифру в базе, но не смог пересчитать сигнатуру (а он не может, так как не знает секретного ключа), система мгновенно видит подмену. Такие битые данные блокируются и не допускаются к выводу на сайт. Пользователь не увидит фейковый баланс, а администратор получит сигнал тревоги.
Целостность транзакций: Цепочка, которую нельзя разорвать
Баланс и история операций - это самое вкусное для хакеров. Можно просто удалить запись о списании денег или вставить фейковое пополнение. Чтобы этого не случилось, мы защищаем транзакции не поодиночке, а как единую цепь.
В RK-CMS все транзакции не просто лежат в таблице, они суммируются и связываются друг с другом.
Что произойдет, если хакер попытается удалить одну из транзакций?
Допустим, он стирает Транзакцию №2 (пополнение), чтобы у пользователя стало меньше денег или чтобы скрыть следы.
Цепочка тут же рвется. Хэш не сходится, итоговая контрольная сумма всего реестра операций не совпадает с эталоном.
Результат: Просто так удалить или вклинить операцию в середину истории невозможно. Система сразу определяет, что где-то в архиве дыра и блокирует работу с поврежденным участком до выяснения обстоятельств. Вы не потеряете деньги из-за того, что кто-то подчистил записи в базе.
RK-CMS защищает данные не периметром (огромным забором), а изнутри. Мы делаем так, чтобы сами данные было невозможно использовать во вред.
Подменили сумму? Сайт откажется её показывать.
Удалили операцию? Система увидит разрыв и восстановит историю из резервной копии или заблокирует попытку.
Благодаря этому RK-CMS гарантирует, что информация на сайте - это всегда честная и целостная информация из базы данных, а не результат действий злоумышленника.