КАК СКОПИРОВАТЬ ПОДПИСЬ

Как скопировать подпись

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


КАК СКОПИРОВАТЬ ПОДПИСЬ

Для копирования подписи понадобятся: лист бумаги, куда необходимо поместить копию подписи, и авторучка – для простого способа копирования; компьютер, сканер, принтер, бумага и ручка – для более сложного способа. Сканируйте образец подписи, поместите образец в компьютер и распечатайте лист с подписью на чистом листе или бланке. При распечатывании на принтере используйте цвет самой малой насыщенности, предпочтительно синий или фиолетовый, так, чтобы подпись была еле различима на фоне бумаги. Распечатав бланк с подписью, аккуратно обведите ее авторучкой.

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

Аналогичный по сложности способ: при дневном свете закрепить документ с оригиналом подписи на стекле окна, наложить сверху чистый лист и воспроизвести авторучкой просвечивающуюся подпись. Для удобства и аккуратности подписи можно на стекле воспроизвести ее авторучкой со стержнем без чернил, а потом на более удобной поверхности обвести оттиск авторучкой с пастой. Если есть стеклянный стол, под ним располагаем источник света, кладем на стол документ с оригиналом подписи и проводим те же самые операции, что и на стекле окна.

ЭЦП:  РЕГИСТРАЦИЯ И ТАРИФЫ ЭЛЕКТРОННОЙ ТОРГОВОЙ ПЛОЩАДКИ SBERBANK AS ИНСТРУКЦИЯ ПО РЕГИСТРАЦИИ И УЧАСТИЮ В ТОРГАХ

Самый простой по механизму и самый сложный по качеству копирования способ (для натур с высоким художественным потенциалом) – поставить подпись по образцу.

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

Забыли пароль? Еще не зарегистрированы?

Подделываем вашу подпись при помощи шарнирного механизма. Теорема Кемпе

Время на прочтение

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

С развитием техники и появлением поездов у пытливых умов встала очень интересная проблема, а можно ли создать шарнирный механизм, который переводит круговое движение, в движение по прямой, выражаясь по-другому, рисует прямую. Шарнирный механизм — это много скрепленных между собой палочек, которые могут свободно вращаться в точках креплений. Многие ученые бились над этой проблемой, придумывая хитроумные механизмы, но все они рисовали неточные прямые. Вот, например, механизмы Ватта, Чебышева и Хойкена:

Многие математики считали, что проблема создания шарнирного механизма, рисующего идеальную прямую линию, является в принципе неразрешимой, пока в середине 19-го века не был открыт гениальный механизм Липкина-Посселье, который рисует точную прямую:
В этом механизме все палочки одинакового цвета имеют одинаковую длину. Доказать, что механизм действительно рисует прямую можно прямыми выкладками, как говорится, в лоб. Но люди, знакомые с преобразованием инверсии, могут увидеть довольно четкую логику в доказательстве. К моменту изобретения механизма Липкина-Посселье уже смазочные материалы были настолько хороши, что в технике могли обходиться без этого идеального преобразователя в прямолинейное движение. Ведь можно через еще одну палочку передавать почти прямолинейное движение на поршень. Эта палочка не будет всегда идеально параллельной направляющей поршня, но в этом ничего страшного нет. В итоге механизм Липкина-Посселье так и не нашел широкого применения в технике, но зато оказал огромное влияние на математику.
Через несколько лет математик-адвокат Кемпе приводит алгоритм, как абсолютно для любой алгебраической кривой на плоскости построить шарнирный механизм, который умеет рисовать только эту кривую и больше ничего не умеет. Иными словами, существует механизм, ограниченный в движении одной степенью свободы. Двигаясь вдоль этой степени свободы механизм рисует нашу алгебраическую кривую. Прекрасное изложение доказательства Кемпе я нашел в этой статье. Напомним читателю, что алгебраические кривые, о которых идет речь в теореме Кемпе — это кривые, заданные уравнением

— любой многочлен. Например,

— это окружность радиуса

— наклоненная прямая,

— парабола. В своем доказательстве Кемпе использует много интересных идей, но ключевым инструментом построения является уже известный нам механизм Липкина-Посселье.

Процесс

Как только я узнал о теореме Кемпе, я сразу же захотел написать программу, в которой пользователь может нарисовать любую кривую, скажем свою подпись, а программа аппроксимирует подпись алгебраической кривой, а потом по алгоритму Кемпе построит шарнирный механизм, подделывающий ее. Мне очень хотелось сделать веб-приложение, чтобы пользователю не нужно было ничего устанавливать на компьютер, чтобы можно было зайти на сайт и запустить все «в один клик». Так как я не программист, то это еще было для меня прекрасной возможностью познакомиться с JavaScript и HTML5.
После того, как я выучил доказательство Кемпе, передо мной встала очень серьезная проблема:
как аппроксимировать подпись алгебраической кривой

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

-ая окружность является, очевидно, алгебраической кривой, так как задается полиномиальным уравнением

— центр окружности, а

— ее радиус. Алгебраической кривой, очевидно, будет и объединение всех маленьких окружностей, так как это объединение будет задаваться полиномиальным уравнением

. Но как вы видите, такой вид аппроксимации нам совершенно не подходит, потому что возникает очень много точек самопересечений. Хотелось бы иметь более «красивую» аппроксимацию. Оказывается, проблема «красивой» аппроксимации сложная как с математической точки зрения, так и с вычислительной. Чтобы как-то прочувствовать это, полезно представить алгебраическую кривую

как пересечение поверхности

. Линия пересечения очень чувствительна к коэффициентам многочлена

Такими кривыми проще простого аппроксимировать любые непрерывные кривые, в том числе и нашу подпись. Можно аппроксимировать так называемыми полиномами Чебышева, а можно сначала приблизить рядами Фурье, а потом тригонометрические функции в рядах Фурье приблизить рядами Тейлора. Получается, что вместо того, чтобы пытаться аппроксимировать кривую алгебраическими кривыми, лучше изменить само доказательство Кемпе и научиться строить шарнирные механизмы, умеющие строить более подходящие для задач аппроксимации кривые.
Вся эта история по ощущениям была похожа на находку огромного алмаза. Но, к своему стыду, я не до конца разобрался в той статье. Статья написана довольно сложно. Но сам факт того, что существует решение моей проблемы открыл мне глаза. Я сообразил, что незначительным изменением оригинального доказательства Кемпе можно строить шарниры, рисующие косинусоидальные тригонометрические кривые, то есть кривые вида

Такими кривыми даже еще легче аппроксимировать нашу подпись (теория рядов Фурье), чем кривыми со статьи Каповича-Миллсона. Действительно, из теории рядов Фурье следует, что на отрезке

можно разложить в ряд по косинусам. Для точности аппроксимации

легко находятся. Нужно просто умножить равенства слева и справа на

и проинтегрировать от

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

в первом равенстве и при члене

во втором. В итоге получится:

Я очень долго думал размещать ли в этом посте алгоритм построения шарниров, которые и строят эти тригонометрические кривые. Потом я понял, что это добавит математической скучности в текст. Люди обычно не любят в текстах такого рода читать длинные доказательства. Поэтому я обойдусь просто ссылкой (upd: зеркало). Любопытные могут посмотреть.
A вот, собственно, и само приложение, которое подделывает вашу подпись: david.wf/linkage. (upd: зеркало) Прошу заметить, мышкой можно двигать конструкцию, а скроллером — приближать и удалять (upd: степень аппроксимации тоже можно менять специальным ползунком «approximation»). Приложение работает на современных браузерах, на старых я не тестировал. Меньше всего тормозит на хроме, так как только хром намного быстрее других браузеров рисует прямые (пруфлинк). Признаться, я потратил много сил на оптимизацию, чтобы ничего не тормозило на слабых компах, но, скажу честно, особых успехов не достиг. Еще раз подчеркну, шарнир, который строит программа ничего не умеет рисовать, кроме вашей подписи. Шарнир приводится в движение крутящимся синеньким треугольником — «двигателем».


КАК СКОПИРОВАТЬ ПОДПИСЬ

Рис. 1. Процедура инкрементального сохранения, на которой основаны цифровые подписи PDF. По результатам тестирования, это самый эффективный способ подделки документов

Теоретически, цифровые подписи PDF надёжно удостоверяют автора документа. Но на практике обработку PDF обычно осуществляет проприетарный софт, который не совсем корректно выполняет проверку. Специалисты Рурского университета в Бохуме (Германия) описали несколько вариантов подделки PDF-документов с цифровой подписью, которые срабатывают в большинстве программ просмотра PDF и сервисов онлайновой проверки.

Защита от всех атак обеспечивается только в единственной программе, да и та работает под Linux.

Структура PDF


КАК СКОПИРОВАТЬ ПОДПИСЬ

Рис. 2. Структура документа PDF

Структура документа PDF изображена на рис. 2. При инкрементальном сохранении изменений в PDF-документ добавляются новые объекты в body, а также новая таблица Xref с описанием новых объектов и новый trailer со ссылками на catalog (см. рис. 1). Каталог — это корневой объект PDF-файла, он определяет структуру документа и может дополнительно определять разрешения на доступ.

Каждый объект начинается с номера объекта и номера версии, который увеличивается при каждом обновлении объекта.


КАК СКОПИРОВАТЬ ПОДПИСЬ

Рис. 2. Структура объекта PDF

Создание подписи

Добавление цифровой подписи в PDF-документ полагается на механизм инкрементального сохранения (см. рис. 1). При добавлении подписи во время инкрементального сохранения в документ добавляется следующий контент:

На рис. 3 приведена упрощённая схема PDF-файла с цифровой подписью.


КАК СКОПИРОВАТЬ ПОДПИСЬ

Рис. 3. Упрощённая схема PDF-файла с цифровой подписью

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

Проверку подписи осуществляет приложение, в котором открывается PDF-документ. Оно сразу извлекает подпись из PDF и применяет криптографические операции для проверки её корректности, а затем проверят, можно ли доверять сертификату X.509, ключи которого использовались для подписи.

Что характерно, все приложения для чтения PDF не доверяют встроенному в операционную систему хранилищу ключей. Как и браузер Firefox, они распространяют собственное хранилища ключей и обычно позволяют пользователю указать хранилище с доверенными сертификатами. Эта функция позволяет доверять только определённым сертификатам, например, от собственного центра сертификации.

Подделка цифровой подписи

Исследователи описывают три способа подделки с изменением содержимого подписанных PDF-документов.

Универсальная подделка подписи (USF)

Атака USF предусматривает отключение проверки подписи в приложении, которое открывает PDF. При этом пользователю выводится нормальное сообщение об успешной валидации подписи. Это делается с помощью манипуляции объектом Signature в документе: или внутри этого документа создаётся некорректная запись, или из файла удаляется ссылка на сам объект. Хотя программа просмотра PDF не может проверить корректность подписи, но в некоторых случаях программа всё равно показывает её наличие, что удовлетворяет целям злоумышленника.

Исследователи сформулировали 18 векторов атаки USF, восемь из них показаны на рис. 4.


КАК СКОПИРОВАТЬ ПОДПИСЬ

Рис. 4. Восемь вектором атаки для обхода проверки цифровой подписи

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

Атака на инкрементальное сохранение (ISA)

Этот класс атак заключается в переопределении структуры и контента в добавочной секции документа. Идея в том, что подпись вычисляется на основе диапазона байтов, указанного в ByteRange, а добавочная секция не попадает в этот диапазон, как показано на рис. 5.


КАК СКОПИРОВАТЬ ПОДПИСЬ

Рис. 5. При добавлении контента в добавочную секцию не нарушается цифровая подпись

Есть несколько способов, как обойти проверку на изменение документа и блокировать показ соответствующего предупреждения в программе просмотра PDF-документов.

Атака на обёртку подписи (SWA)

Наконец, последний класс атак позволяет обойти проверку подписи без инкрементального сохранения, а путём перемещения подписанной части PDF в конец документа и повторного использования указателя xref в подписанном Trailer на изменённую таблицу Xref. При этом чтобы избежать обработки перемещённой части, она может быть обёрнута в какой-нибудь посторонний объект, например, stream или dictionary.


КАК СКОПИРОВАТЬ ПОДПИСЬ

Рис. 6. Сравнение оригинального и изменённого документов PDF

Эффективность атак

Исследователи проверили эффективность каждого типа атаки в разных программах для просмотра PDF. Не удалось обмануть только Adobe Reader 9 под Linux. Во всех остальных программах проверка подписи обходится одним или несколькими способами.


КАК СКОПИРОВАТЬ ПОДПИСЬ

Не лучше ситуация и с сервисами онлайновой проверки цифровой подписи PDF.


КАК СКОПИРОВАТЬ ПОДПИСЬ

Оцените статью
ЭЦП64