Форум — Ответы ( К темам )
? | Fantom: Алгоритмы — защиты целостности файла? (17-04-2003 12:53:17) |
Уважаемые коллеги! Значит нужны идеи по следующей теме: Необходимо защитить файл (например, обычный текстовый) от изменения пользователем! Т.е. при определенных условиях я должен знать — лазил ли кто нить в него руками и не менял ли чего? Можно выставлять контрольную сумму файла, писать ее в реестр, считывать и работать... но тут сразу много вопросо, каким алгоритмом подсчитать эту контрольную сумму (с учетом того, что в файл мона зайти и поменять один символ на другой ну и т.д.), и где и как ее хранить, дабы никто не мог до нее добраться? Если кто работал по данной теме — киньте идею плиз. Заранне благодарен за помощь! | |
Alexander (17-04-2003 16:22:00) | |
Где ее хранить — это сам думай. у юзера правов столько же, сколько у тебя, он может сохранить реестр и сравнить потом изменения, так что найдет :) А считать сумму — обычная циклическая сумма, например 4-байтное число s, берешь из файла по 4 байта b (если в конце остается меньше — добиваешь справа нулями) и пока файл не кончился s += b; Можешь добавить какой-нибудь сдвиг: for (i=0;... s += (b << (i % 24)) ; где под << я подразумеваю циклический побитный сдвиг. | |
Георгий (18-04-2003 12:39:20) | |
для оценки алгоритмов зашиты необходимо определиться с категорией пользователей, от которых хочется защититься: 1. глупые (никого не хочу обидеть, но это типа домохозяек) 2. не опытные (это когда есть "учебный" или "компьютер для бухгалтерии и интернета") 3. нормальные (обычно могут переустановить ОС и поставить драйвера для железок, подробности функционирования железа и ПО не знают, но знают где и что надо нажать, чтоб получить нечто вроде желаемого результата) 4. опытные (знают что такое файл, реестр, процессор, но в програмировании не понимают) 5. "очень" опытные (они же кулхацкеры) — аналог 4, но обладают большим кол-вом свободного времени и энтузиазмом — потенциально опасны 6. нормальные специалисты — способны отслеживать изменения в системе и делать на основе этого выводы, опасны, но только в том случае если этого будут требовать обстоятельства 7. "программисты" — сами пишут программы и системы защиты — как ни странно опасность низкая — понимают, что если "взломом" зашиты они другого программиста оставят без денег, то сами могут очутиться в аналогичной ситуации 8. "хакеры" — аналог "программистов", но практически лишены моральных устаев — за $$$$ способны разобраться со многими программами, а за $$$$$ или $$$$$$ практически любая защита падёт перед ними 9. "специалисты" — наше управление "Р", работники банков, специализирующиеся на системах защиты информации, разработчики антивирусов — все способны проанализировать практически любую программу, даже аппаратные ключи не спасают от них — защита одна — не попасть в область их интересов. практически не хулиганят благодаря высокой оплате рабочего времени. и так от кого будем защищаться? | |
Fantom (18-04-2003 13:28:35) | |
Берем по максимуму! А что полностью защитится нельзя ну эт понятно :) | |
Георгий (18-04-2003 15:14:01) | |
1. использую обычное шифрование 2. использую цифровую подпись — в конец текстового файла пиши число явл. функцией от содержимого файла, тогда при изменения файла не твоей программой функция не совпадёт. едснственная сложность подобрать функцию с хорошим разбросом значений |