В вашем случае подпись ставится под каждым документом. В моем случае "подпись ставится" по сеансом контроля в целом. Поэтому мою схему можно реально внедрить, а вашу нет. Вашу схему можно атаковать. Как ни крути, а приватный ключ так или иначе оказывается в памяти устройства. В моем случае в памяти устройства ничего не указывается. Процесс "вывернут". Пользователь ничего не сообщает системе. Он записывает информацию на бумажку. И все. Дальше можно атаковать только бумажку
А зачем вам старое состояние объекта? Нужно ведь не "старое", а такое, которое соответствует реальности. Система фиксирует факт изменения и переводит объект в разряд требующих проверки. А контролер производит проверку. Процесс проверки означает сверку с первичными документами, а не с каким-то состоянием в базе данных
И что? Вот проверили-подписали вы таблицу по вашей схеме. К моменту следующей проверки в таблице 5 записей добавили, 3 удалили, 8 изменили. Что вам даст подпись таблицы?
А я ее скачаю непосредственно перед запуском. И запущусь на новом устройстве
Улучшайте, улучшайте вашу схему. В конце придете к моей )))
В вашем случае подпись ставится под каждым документом. В моем случае "подпись ставится" по сеансом контроля в целом. Поэтому мою схему можно реально внедрить, а вашу нет. Вашу схему можно атаковать. Как ни крути, а приватный ключ так или иначе оказывается в памяти устройства. В моем случае в памяти устройства ничего не указывается. Процесс "вывернут". Пользователь ничего не сообщает системе. Он записывает информацию на бумажку. И все. Дальше можно атаковать только бумажку
Оповещение и защищает. Такова природа информации. Главное - узнать куда смотреть
Первичка хранится пять лет, а в оперативной базе два года. Что в принципе нормально. Не надо сравнивать все документы. Сравниваем только измененные
Все то же защищает. Удаление это всего лишь разновидность изменения
А хешировать может система. При условии, что на конце цепочки появляется все тот же человек с ручкой и бумажкой.
Подписывать должен человек. Иначе, это профанация подписи
А зачем вам старое состояние объекта? Нужно ведь не "старое", а такое, которое соответствует реальности. Система фиксирует факт изменения и переводит объект в разряд требующих проверки. А контролер производит проверку. Процесс проверки означает сверку с первичными документами, а не с каким-то состоянием в базе данных
Тем, что надо подписывать каждую транзакцию
И бумажку мою он тоже перепишет?
Да, конечно, если каждую транзакцию подписывать ЭЦП, то... Но вы же сами понимаете, что такая схема нежизнеспособна в отличие от предложенной
Под откатом я понимаю откат журнала, а не базы
Нет. Вы не поняли. Я не буду откатывать базу. Я откачу журнал к предыдущему состоянию
И что? Вот проверили-подписали вы таблицу по вашей схеме. К моменту следующей проверки в таблице 5 записей добавили, 3 удалили, 8 изменили. Что вам даст подпись таблицы?
А это и есть защита. Такова природа информации. Установив факт, я восстановлю информацию так или иначе
В какой момент и что именно вы будете подписывать цифровой подписью относительно таблицы в целом? Количество записей?
В этом случае я просто откатываюсь к предыдущей точке контроля. Да, неприятно. Но можно сделать контроль почаще.
Факта достаточно. Дальше в ход идут бэкапы
Как минимум, это не защищает от удаления