Дабы сделать задачу по подтверждению подлинности снимка более определённой в итоговом результате, а также чтобы в целом упростить процесс верификации фотодокументов, ведущие производители фотооборудования, такие как Canon и Nikon, некоторое время тому назад разработали фирменные системы аутентификации цифровых изображений.
Работая независимо друг от друга, Canon и Nikon встроили в топовые модели своих фотокамер специальный модуль цифровой подписи, а в комплект к нему предоставляют клиентам дополнительное программное обеспечение для проверки подлинности снимков (так называемое validation software).
Благодаря этой технологии теперь каждая фотография криптографически подписывается цифровой сигнатурой внутри камеры и непосредственно в момент съёмки. А последующая процедура верификации — с помощью установленного на компьютере специального ПО — позволяет пользователям снимков убедиться, действительно ли фотография осталась неизменной или же была подвергнута модификациям, поскольку малейшие изменения в битах файла неизбежно должны отражаться в несоответствии значений цифровой подписи.
И Canon, и Nikon на рынке представили свои системы верификации снимков как вполне серьёзный продукт, предназначенный для доказательства подлинности фотодокументов в работе таких структур, как правоохранительные органы и прочие правительственные ведомства, страховые компании, корпорации, новостные агентства и так далее. В реальности, однако, дела с надёжностью технологии обстоят далеко не так красиво — если ознакомиться с результатами исследований известной российской фирмы ЭлкомСофт, специализирующейся на быстром взломе/восстановлении паролей и преодолении всевозможных систем защиты информации.
Как это часто бывает, сами компании Canon и Nikon предпочли не публиковать никаких сведений о внутреннем устройстве своих систем аутентификации снимков, избрав хоть и давно скомпрометированный, но по сию пору очень популярный среди корпораций подход под общим названием Security Through Obscurity, или «Безопасность через неясность». Иначе говоря, конкретные алгоритмы, применяемые этими изготовителями в процедурах верификации, считаются неизвестными, поэтому специалистам ЭлкомСофта пришлось для начала их восстанавливать методами обратной инженерной разработки.
В обоих случаях итоговым результатом такого восстановления и последующего анализа стало обнаружение в системах фатальных слабостей. Из-за этих слабостей, как продемонстрировали в ЭлкомСофте, потенциальные злоумышленники без проблем могут манипулировать изображением на фотографиях как угодно, а затем генерировать к подделке такую цифровую подпись, которая успешно проходит все предусмотренные процедуры по верификации подлинности снимка. Чтобы сделать этот результат подоходчивее для масс, в ЭлкомСофте изготовили целую галерею забавных и заведомо сфабрикованных фотоподделок, которые при этом подтверждаются как подлинные фирменными программами проверки.
Система фирмы Canon была тотально скомпрометирована специалистами ЭлкомСофта ещё в ноябре прошлого года. Теперь же очередь дошла до Nikon, так что с подробностями о деталях проведённого анализа удобнее рассказать на этом, совсем свежем примере.
В случае системы Nikon, как показали исследования ЭлкомСофта, собственно данные снимка и сопровождающие его метаданные обрабатываются независимо — как два отдельных файла — и прогоняются через хеш-функцию SHA-1. Получаемые на выходе два стошестидесятибитных хеш-значения затем шифруются с помощью секретного ключа по стандартному алгоритму RSA-1024, в результате чего генерируется цифровая сигнатура снимка, составленная из двух частей. То есть на самом деле вычисляются две подписи длиной по 1024 бита (128 байт), которые добавляются в служебную часть файла (EXIF MakerNote tag 0×0097), в раздел параметров цветового баланса.
Впоследствии, когда подлинность фотоснимка Nikon проверяют с помощью фирменной программы Image Authentication Software, то эта программа сама вычисляет два хеш-значения SHA-1, как это делалось и в фотоаппарате. А затем с помощью известного открытого ключа программа расшифровывает те две сигнатуры, что хранятся для проверки в файле. Если фотография подлинная, то вычисленные программой хеши и значения, расшифрованные из снимка, должны полностью совпасть. Если же совпадения нет, значит, фотография подвергалась манипуляциям.