You are not logged in.
Идея простая - использовать ЧАСТИЧНО различные контрольные суммы в имени файла для быстрой сверки их. Допустим, CRC32 полностью, MD5 и SHA-1 (как самые популярные) - частично, хотя бы по 2 символа. Цели применения начиная с самых бытовых — чтобы никто не фотошопил фотографии, не меняли документы...
Такой способ придумывался, чтобы даже блондинка смогла относительно быстро и относительно точно проверить файл на подлинность. Используется очень небольшой объём данных (всего 6 байт), и интересует скорость подбора коллизий...
Offline
Если идея бредовая, то не кидайте тапками, к ИБ не имею никакого отношения). Просто пришла идея в головку.
Интересует зависимость от объёма файла и скорости подбора коллизии - ведь чем больше файл, тем медленнее считаются хэши, а использование хотя бы 2х символов из какой-либо хэш функции должно принуждать потенциального взломщика задействовать в переборе другую функцию. Т.е., если добавить какой-нибудь хэш посложнее, хотя бы 2 символа от SHA512, это ещё больше замедлит скорость перебора, хоть и увеличит вероятность частичного совпадения.
Last edited by Dreamject (2014-11-23 13:08)
Offline
Идея совсем не бредовая, но боюсь что не очень эффективна на практике. Ведь если кто-то захочет изменить содержимое файла, то они так же смогут обновить хеши в имени файла чтобы подошли к новому содержимому. А использование 3-ех частичных хешей не обязательно лучше чем использование одной полной, и довольно сильно влияет на скорость обработки файлов.
Для гарантии защиты против изменений файлов нужно использовать криптографические хеши, типа HMAC-MD5 или HMAC-SHA1, которые помимо данных файла используют ваш пароль. Такой хеш уже будет невозможно подделать без знания пароля.
Что-то немного похожее можно достичь с помощью правила PascalScript, к примеру смешивая хеш с паролем при помощи побуквенного XOR шифрования. Что-то подобное описывается здесь: Pascal script to XOR encrypt filenames?
Offline
→"то они так же смогут обновить хеши в имени файла чтобы подошли к новому содержимому"
Но сверить при желании будет куда проще, чем сравнивать контрольные суммы.
→ "А использование 3-ех частичных хешей не обязательно лучше чем использование одной полной, и довольно сильно влияет на скорость обработки файлов."
Если говорить об имени файла, то имеем не совсем конкретные, но ограничения. Имя желательно видеться сразу полностью, слишком длинное имя (особенно при частой практике) просто сбивает с толку, к тому же в различных файловых системах это может плохо обойтись, некоторые файловые обменники (например, vk.com обрезают имена файлов)... И тут можно будет использовать баяновские «уязвимости», когда имеем длинное имя файла, множество пробелов, на конце разрешение exe и иконка картинки.
По поводу «скорости обработки файлов» - по идее, это делается для замедления «хакеров». Сейчас при желании, любой школьник может разобраться в переборе коллизий (а если перебор неполный, всё ещё проще), а тут задача значительно усложняется.
Ну ещё неплохо использовать как идентификатор, который будет даже поисковиками индексироваться, можно файл хитро назвать и впоследствии искать по crc32+наводящим данным...
Offline