Pull to refresh

Comments 37

Что в этом плохого?

Ничего.

Давайте начнём с того, как MD5 и другие хэш-функции применяются в юриспруденции.

И далее полная ахинея.

Таким образом, хэшируя данные, мы можем понять (не читая ни одной строки в книге), что книгу изменили и это больше не оригинал. И одновременно мы можем выполнять такую же проверку для миллионов документов. Это довольно полезное и экономящее время изобретение!

Нет, не это. Вы считаете, что идентификатор, в данном случае MD5, служит для репрезентативного представления всего текста. В реальности MD5 является просто удобным отображением каталогизированного указателя на источник.

В данном случае MD5 представляет собой 32-значную строку 36-символьного кода в котором содержится дата, место и решение. 2024/01/10 (это пока 3 байта), 3 000 000 городов (это 3 байта) и приговор (до 2 байт). Итого: 8 байт преобразовываются в "32-значную строку 36-символьного кода". Насколько вероятно повторение? Ответ: практически никогда.

p.s. Чем круче оформлена статья, тем больше в ней странных утверждений.

Если юриспруденция будет использовать вместо MD5 качественные криптографические хэш-функции, то мы будем уверены во всех трёх пунктах.

Мы не будем уверены не в чем. Евгений Шелвин плохо спит из-за таких как вы, мечтающих сжать 3 в 2 или 100500 в 1.

Нет, не это. Вы считаете, что идентификатор, в данном случае MD5, служит для репрезентативного представления всего текста. В реальности MD5 является просто удобным отображением каталогизированного указателя на источник.

Нет, не это. Служить указателем - только одна из трёх используемых функций. Для неё коллизии лишь доставят неудобства, но не критичны. Две же другие, - 2) корректно копировался из оригиналов и 3) не менялся после момента их сбора - критичны и подвержены атаке.

В данном случае MD5 представляет собой 32-значную строку 36-символьного кода в котором содержится дата, место и решение.

В каком "данном случае"? В протоколе написано:
e-Files and e-Mail only The unique cryptographic code that is generated for an electronic item that may be used to verify authenticity of evidence, if authenticity is challenged. The cryptographic hashing standard to be adopted is MD5.
То есть они его используют не для хеширования выдуманного вами 36-символьного кода, а для верифицирования именно собираемых электронных документов и имейлов.

То же самое в карманном справочнике: hash value: A unique numerical identifier that can be assigned to a file, a group of files, or a portion of a file, based on a standard mathematical algorithm applied to the characteristics of the data set. The most commonly used algorithms, known as MD5 and SHA, will generate numerical values so distinctive that the chance that any two data sets will have the same hash value, no matter how similar they appear, is less than one in one billion. “Hashing” is used to guarantee the authenticity of an original data set and can be used as a digital equivalent of the Bates stamp used in paper document production. (здесь, правда, ещё и SHA упоминается)

Насколько вероятно повторение? Ответ: практически никогда.

Ответ: вполне возможно сгенерировать два разных файла с одинаковым хешом. Как этим можно воспользоваться в ситуации с судебными документами сложно представить, но техническая возможность этого существует.

Евгений Шелвин плохо спит из-за таких как вы, мечтающих сжать 3 в 2 или 100500 в 1.

Кто на ком стоялспал и кто куда кого сжимает? Это у вас что-то личное? Тут речь вообще не о сжатии и, тем более, не о 36-символьном коде (откуда вы вообще эту глупость взяли?), а об использовании устаревшего алгоритма не по назначению.

Вам же сказали (*), что в ДАННОМ случае, MD5 используется не по всему документу, а по очень ограниченному набору данных и как индекс фактически. А не как "подпись" содержимого документа.

Для подбора коллизий, требуется что бы:

  1. объем данных, по которым считается хэш, был большим

  2. коллизия была не проверяемой

В тексте, не так просто подобрать коллизию, что бы он не стал мусором.

Кстати, на платежных картах, как был SHA1 в сертификатах EMV, так и остался. И даже не потому что это дорого все менять. А скорее потому, что подобрать пару секретный публичный RSA ключ так что бы сохранить SHA1 хэш от публичной компоненты задача ничуть не проще чем просто "взломать" существующий корневой EMV публичный ключ Visa/MC/..

А Вы вместо того, что бы опровергнуть/подтвердить это начинаете цитировать "об опасность подписи документов".

(*) - человек наверное знает, раз сказал. Особенность использования в данной теме.

Вам же сказали (*), что в ДАННОМ случае

непонятно кто сказал какую-то выдумку ничем не подтерждённую. Поэтому я и спрашивал что означает "в данном случае" - в данном, выдуманном комментатором случае? Ну, окей. Но какое он имеет отношение к фактическому состоянию дел?

А Вы вместо того, что бы опровергнуть/подтвердить это начинаете цитировать "об опасность подписи документов".

Не понял. Я процитировал "Unified Technical protocol (“E‐court Protocol”) for the provision of
evidence, witness and victims information in electronic form" - насколько я понимаю, официальный протокол работы с юридическими документами, принятыми в работе уголовных судов о которых идёт речь.
А так же "Managing Discovery of Electronic Information: A Pocket Guide for Judges" - насколько я понимаю, документ не официальный, но являющийся практической рекомендацией по организации работы судей с электронными документами. Если (допущение, тк я не лойер из страны назначения) это те самые документы, которыми руководствуются суды в работе, то цитаты напрямую опровергают выдумки о 36-битных шифрах и напрямую подтверждают факт подписи именно самих целевых документов. Никаких цитирований "об опасность подписи документов" я не начинал.

В тексте, не так просто подобрать коллизию, что бы он не стал мусором.

А речь про текстовые документы и не шла. В примере приведены сгенерированные .ps файлы с коллизией по md5. В упомянутом E‐court Protocol определяется много типов возможной документации - и сканы оригинальных физических документов в tiff и pdf и OCR-нутые тексты и прочие медиаформаты изображений видео и звуков. Все они достаточно объёмные и имеют достаточно мест с незначащей метаинформацией которую можно использовать как nonce и намайнить коллизию. Понятно, что теоретически это возможно для любых подписей, но тут речь о том, что для md5 известно и доказано, что это возможно сделать за разумное время и не очень большими вычислительными ресурсами. Как этим можно воспользоваться для манипуляции судебными документами вопрос открытый, как я и говорил, но это уже за рамками обсуждаемой темы.

(*) - человек наверное знает, раз сказал.

Хороший аргумент, особенно в суде ))

не буду спорить. Для чего конкретно используется хэш в данном случае - нужно вникать в специфику работы с документами в суде.

Если хэш просто для создания индекса (для поиска, например) на документ - то это вполне нормальная и типичная практика. И в этом случае выбор алгоритма определяется скорее "так получилось" (размер/формат индекса вот такой и это уже тяжело изменить), чем требования "нет коллизии".

Если "подпись", то сам по себе хэш ну ни как не может быть "подписью". Что собственно и вызывает сомнение в Вашей интерпретации назначения MD5 в "судебной практике" как "подпись".

Использование уязвимых к подбору коллизий алгоритмов хэш в алгоритмах криптографических подписей не допустимо если:

  • данные достаточно большие (для коротких данных время подбора коллизии стремится к бесконечности)

  • данные не имеют никаких других критериев целостности кроме самого хэш.

Меня бесят "специалисты" безопасности, которые считают, например, что факт уязвимости SHA-1 требует перевыпуска подписей публичных ключей на SHA-512 (например). Иначе мол ключ можно изменить. Ну ну.

А в чем смысл сжимать 36 символов в 32? Тем более, что судя по построению, эти 36 символов и так не повторяются (а если даже и повторятся, то, сюрприз, их хэш тоже повторится!)?

Там речь о другом. Результирующая строка MD5 записана алфавитом из 36 символов (26 букв латиницы + 10 цифр), а ее длина составляет 32 позиции.

Статья очень однобокая.

Приводится один довольно редкий вектор атаки: имея возможность изменять файл до хэширования, можно заранее изготовить подделку с таким же хэшем. Простите, но если я могу подделывать улики до их предъявления суду, то о чём мы тут вообще? Что вы хотите починить при помощи SHA-%x, на этот раз точно стойкого?

И вот на этом основании начинается истерика "аааа срочно всё поменять". Простите, а за чей счёт всё поменять? Автор готов поработать с юристами забесплатно? Или "они и так много денег зарабатывают"?

Вообще, конечно, юриспруденция крайне консервативна. Многие практики у них тянутся со времён Римской империи, и они считают, что это типа круто. ИМХО, смена алгоритма хеширования если и произойдёт, то только в результате какой-то более крупной технологической революции. Ну не знаю, появления форматов файлов, загружаемых прямо в мозг, или чего-то такого же масштабного.

Вот-вот, там для нужд юристов не то что MD5, там и CRC32 хватило бы)

Главное, чтобы шифр Цезаря не использовали.

>Простите, но если я могу подделывать улики до их предъявления суду, то о чём мы тут вообще?
Ну, если я правильно всё понял - то примерно так. Предположим, Алиса распространяет детскую порнографию. Она заранее подстилает себе соломки - подготавливает дубликаты запрещенного контента, на которых (дубликатах) изображены розовые пони и которые имеют такой же md5 hash. Если дело попадает в суд - у нее есть гипотетическая возможность для манёвра.
Этот пример был в статье.

Для этого существует нотариально заверенный скриншот:)

Как написали выше, секретарь суда абсолютно всё распечатывает и складывает в папочки-скоросшиватели "дело №..."

Если я правильно понял ваш аргумент, то и MD5 там не нужен? Если никто не может подделать улитки до предъявления суду, то зачем там MD5?

Все попытки манипуляции с хэшами разбиваются об одну консервативную особенность судебного делопроизводства: всё, что может быть представлено на бумаге, будет представлено на бумаге. Файл PostScript из поста (который, вообще говоря, программа, заставляющая компьютер вывести на экран определённое изображение, вследствие чего этот формат и был выбран для демонстрации «уязвимости» — число программ, выводящих одну и ту же картинку, бесконечно велико) будет просто напечатан, подписан секретарём суда и вшит в дело.

"напечатан, подписан секретарём суда"

И он это сделает прямо в присутствии оперативника, собиравшего доказательства?
Или просто распечатает из базы данных?
Я думаю последнее, а значит есть возможность изменить документ между этими двумя событиями. С другой стороны, тот у кого есть такая возможность, скорее всего, и хэш заменить сможет.

«Программисты из-за своего консерватизма продолжают использовать устаревший и небезопасный SHA-1 в системе контроля версий Git»

Как вам такой заголовок, а?

Слишком желто? А вот и нет, чистая правда, коммиты можно и подменить: https://habr.com/ru/articles/322622/

Готовы ли криптофанатики, из-за которых уже просто невозможно пользоваться частью софта, из-за бесконечной паранойи этого софта и сервисов, предать своего бога Линуса и его самую «безопасную» ос Linux, из-за возможных уязвимостей в Git? Уже отказались от всего Open Source для которого используются Git?

Кто сказал что коллизии не будут завтра на изи создаваться для «супер-пупер алгоритм»?

Может быть юристам просто не нужна иллюзия безопасности?

Уж простите в этом и суть любого, даже самого криптостойкого хеша - он может совпасть для разных данных.

Ужасно поломано!

Чтобы говорить о проблеме MD5 в области юриспруденции для начала необходимо продемонстрировать коллизию в виде двух осмысленных документов с одинаковым хэшем. Причем оба документа должны принадлежать одному делу.

Мне кажется, эта проблема решается вообще без всякого отказа от MD5. Органы при изъятии документа могут просто сохранить два хэша - MD5 и SHA1 (раз юристы пользуют и его). Сделать поддельный осмысленный документ, имеющий такие же значения двух хэшей разом, что и настоящий - это задача весьма нетривиальная, даже если md5 и sha1 скомпрометированы).

Да проблемы по сути и нет. Просто чего-то раздули из ничего .MD5, SHA1 там выше крыши. Возможно даже CRC32 может хватить

Достаточно хранить MD5 оригинального документа и MD5 документа к которому прибавили какую-то соль. Даже так получить коллизию будет практически невозможно. А уж с заданным необходимым смыслом изменения так тем более.

А соль где хранить? Только не говорите, что она секретная, сторонний суд как будет проверять такие документы?

Солить номером дела и номером документа в описи. Для каждого файла соль уникальная и узнать её до попадания документа в дело невозможно — заранее соломку не подстелишь.

В качестве соли для второго хеша можно взять хоть номер дела, хоть дату, да хоть первый хеш. Главное, чтобы хеша было два сразу, это уже не позволит использовать существующие методы подбора для одного хеша. Эффективных (способных выдать результат к моменту когда он еще имеет ценность) методов, которые позволяют подбирать данные под совпадение двух хэшей сразу, насколько мне известно сейчас нет.

В чем проблема запихать в документ кучу информации, не меняющие его осмысленность? Это ж не бумага, где кроме видимых букв других средств что-то добавить нет. Там небось еще пресловутый doc ходит с их уровнем технологий, поля для метаданных в нем есть, а уж сколько неиспользуемых стилей можно запихать...

Потому что изменение размера файла - параметр, который легко отследить глазами?

Потому что это явно заметно? :)

Я с судебным делопроизводством знаком не очень хорошо, но с государственным отлично. Там, например, диск с файлами будет занесён в опись следующим образом:

Hidden text

Диск CD-R, учётный № 666/1 от 02.01.2000, экз. единственный, для служебного пользования, файлы:

  1. «Письмо.pdf» (100 КБ), контрольная сумма D41D8CD98F00B204E9800998ECF8427E, дата создания 01.01.2000 12:00:00;

  2. «Приложение.zip» (100 МБ), контрольная сумма D41D8CD98F00B204E9800998ECF8427E, дата создания 01.01.2000 12:00:00.

Если размер не совпадает, до проверки контрольной суммы дело даже не дойдёт. Так что полностью поддерживаю: дописывание информации — дело бессмысленное.

Я не достаточно разбираюсь в предметной области, но что мешает перехешировать полученный документ без помощи "специальных" программ для выявления возможной первичной манипуляции второго документа?

Я не специалист в этой сфере

Может не стоит тогда писать про то в чем не разбираетесь?

Что в этом плохого? MD5 ужасно поломан. Настолько поломан, что специалисты уже больше десятка лет говорят, что никто не должен пользоваться MD5.

Это называется "слышал звон, но не знаю где он". Спектр использования хеш функций не ограничивается криптографией. И там где стойкость хеш функции не важна, абсолютно нормально использовать MD5. Гоните в шею специалистов, которые не понимают сферу применимости инструмента в котором они "специализируются".

Вначале хакер с солонкой должен предоставить убедительную демонстрацию.
Например в виде сервиса, куда можно загрузить два документа с разным текстом и на выходе получить 2 документа с тестами имеющим такое же значение, но другими синонимами, незначимыми но не выглядищими нелепо фразами итп.
Такое автоматический майнинг. Генеративные нейросети тут помогут.

В идеале конечно, к существующему документу, который остается неизменным подгонять альтернативный документ.

Потом на реальныйх процессах реальные адвокаты должны использовать такие документы, для пользы подзащитного. Например заявляя что оригинальный документ был подменен в хранилище и бумагах, а вот он на самом деле, и MD5 верный.

Все таки в отличие от солонок дела в суде дают финансовую мотивацию для атаки, и значит такая атака произойдет.

MD5 действительно "недостаточно сломан" для того как его применяют в суде.
Пример того, где он достаточно сломан - торренты - где куски файла хешировались как раз MD5 - и владельцам фильма/музыки было достаточно подсунуть скачивающим кусок с любым мусором - только чтобы хеш совпал и размер.
А посыл юристам - ваш алгоритм сломан - пока некритично - но когда будет критично, будет поздно. И замена алгоритму есть и заменить несложно - так что вложитесь в будущее.

Примерно то же что происходит со всем остальным миром шифрования и PQC (постквантовое шифрование). Когда квантовый компьютер сделают и что именно он будет уметь никто точно не знает. но меры принимают уже сейчас.

Что бы хэш и размер совпал, простите что?

Зачем им это делать?

Зачем правообладатель вставляет палки в колеса пиратам. Гм. И правда, зачем?

Суд не обязательно должен быть уголовным.

MD5 часто применяется в ведомостях файлов - приложениях к договорам и актам приема-передачи. Делается это для того, чтобы зафиксировать версии файлов в том числе и для разрешения конфликтных ситуаций.

Главное, что MD-5 для таких документов типа стандарт де-факто, как и написано в статье. Поэтому придется и дальше использовать.

Sign up to leave a comment.