Здравствуйте, CreatorCray, Вы писали:
privat key как раз будет размещаться в доступном для исследования exe-шнике.
CC>Кроме того прочитай еще раз выделенное. У тебя там грубейшая ошибка применения: если у тебя приватный ключ выложен в открытый доступ (читай "privat key как раз будет размещаться в доступном для исследования exe-шнике") — считай что шифрования у тебя нету вообще. Приватный ключ на то и приватный что его надо держать в секрете. Всегда.
Да это я как раз написал только как ответ на сообщение, чтобы показать невозможность применения Privat/Public key в чистом виде. Сейчас шифрование применяется по простому алгоритму с одним ключом для шифрации/дешифрации только для того, чтобы исключить возможность модификации (или просмотра) записей лога с помощью какого-нибудь блокнота или Hex-редактора.
CC>Проблема в том, что тебе надо постоянно дописывать в файл. Если бы тебе надо было бы защитить однократно записанные данные от модификации — такой проблемы бы не было.
CC>Но тебе надо защищать данные пока они на диске. Причем ты и записывающая и читающая(тебе же надо убедиться что данные к которым ты дописываешь не были модифицированы) сторона.
Скажем так... Вопрос дозаписи в лог посторонней информации некритичен, куда важнее защитить лог от стирания уже существующих записей. Самый простой способ — скопировать файл лога до выполнения некой операции и заменить его уже после выполнения. Эту проблему я решаю с помощью "мониторных" записей — логирующий модуль с определенным интервалом скидывает в лог информацию о том, что он жив и работает, а при импорте лога в модуле аудита я анализирую интервалы времени между такими записями и если они выше критического установленного порога — регистрирую это событие и информирую администратора.
Также это защищает от возможных попыток заморозить или приостановить логирующий процесс каким-нибудь способом и тому подобных действий.
CC>Простого решения похоже нет. Надо искать варианты.
Пара вариантов мне уже пришла в голову в процессе обсуждения:
ЗдесьАвтор: CreatorCray
Дата: 04.09.08
и здесьАвтор: ice1
Дата: 04.09.08
CC>Как вариант: накопление данных в памяти и окончательная запись на диск небольшими порциями (каждый час например), каждую из которых подписываешь с использованием открытого ключа.
Думал. Опасно. Банальный диспетчер задач или зависание системы (по любому поводу, возможно спровоцированное) лишает лог информации на значительное время и довольно трудно доказать что именно послужило причиной такого разрыва — злой умысел или какой-то форсмажор.