У меня есть уникальная проблема, которую нужно решить. У меня есть устаревшее java приложение, которое подключается к Oracle RDBMS. В приложении разбросаны всевозможные запросы и DML - вставки, обновление, удаление и, конечно, выбор. Он использует JB C (Preparedstatement
), хотя один недавно добавленный модуль использует JPA.
У меня есть требование добавить защитный слой / logi c в приложение / базу данных, в результате чего любой пользователь ( может даже быть администратором БД или пользователем ОС root), пытающимся изменить данные (обновления, вставки или удаления), минуя приложение, мы можем идентифицировать операцию как часть аудита.
Журнал аудита казалось, что это go здесь, за исключением того, что мы даже не можем доверять пользователю ОС root, и, таким образом, парень с правами администратора и доступа root может легко изменить данные и удалить их следы в журналах аудита.
Я думал о реализации алгоритма шифрования циклического типа c для чувствительных таблиц, чтобы на каждом DML, выполняемом приложением, вводился крипто / ха sh, и он постепенно увеличивался, так что любой изменение легко поймать, выполнив аудит с использованием приложения.
Теоретически это представляется возможным, за исключением того, что оно может стать сложным, потому что после каждого DML мы будем сильными Я действительно должен пересчитать контрольную сумму ha sh / для ряда последующих записей, и это может привести к перегрузке приложения / базы данных.
Является ли это возможным решением?