ЭЦП - что это такое? Электронная цифровая подпись: инструкция для начинающих

Алгоритмов), часы реального времени. Аппаратные ключи могут иметь различные форм-факторы , но чаще всего они подключаются к компьютеру через USB . Также встречаются с LPT - или PCMCIA -интерфейсами.

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

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

Энциклопедичный YouTube

    1 / 4

    Arduino NFC EEPROM электронный ключ RC522 Card Read Module RFID OLED LCD Display

    Arduino NFC билет Метро электронный ключ RC522 Card Read Module RFID Servo

    А. Пурнов. Зачем нужен электронный ключ от терминала? (трейдинг, биржевая торговля, игра на бирже)

    Как оплатить и активировать электронный ключ в PRAV.TV

    Субтитры

История

Защита ПО от нелицензионного пользования увеличивает прибыль разработчика. На сегодняшний день существует несколько подходов к решению этой проблемы. Подавляющее большинство создателей ПО используют различные программные модули, контролирующие доступ пользователей с помощью ключей активации, серийных номеров и т. д. Такая защита является дешёвым решением и не может претендовать на надёжность. Интернет изобилует программами, позволяющими нелегально сгенерировать ключ активации (генераторы ключей) или заблокировать запрос на серийный номер/ключ активации (патчи , крэки). Кроме того, не стоит пренебрегать тем фактом, что сам легальный пользователь может обнародовать свой серийный номер.

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

Защита ПО с помощью электронного ключа

Комплект разработчика ПО

Донгл относят к аппаратным методам защиты ПО, однако современные электронные ключи часто определяются как мультиплатформенные аппаратно-программные инструментальные системы для защиты ПО. Дело в том, что помимо самого ключа компании, выпускающие электронные ключи, предоставляют SDK (Software Developer Kit - комплект разработчика ПО). В SDK входит все необходимое для начала использования представляемой технологии в собственных программных продуктах - средства разработки, полная техническая документация , поддержка различных операционных систем , детальные примеры, фрагменты кода, инструменты для автоматической защиты. Также SDK может включать в себя демонстрационные ключи для построения тестовых проектов.

Технология защиты

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

  • проверка наличия подключения ключа;
  • считывание с ключа необходимых программе данных в качестве параметра запуска (используется, в основном, только при поиске подходящего ключа, но не для защиты);
  • запрос на расшифрование данных или исполняемого кода, необходимых для работы программы, зашифрованных при защите программы (позволяет осуществлять "сравнение с эталоном"; в случае шифрования кода, выполнение нерасшифрованного кода приводит к ошибке);
  • запрос на расшифрование данных, зашифрованных ранее самой программой (позволяет отправлять каждый раз разные запросы к ключу и, тем самым, защититься от эмуляции библиотек API / самого ключа)
  • проверка целостности исполняемого кода путём сравнения его текущей контрольной суммы с оригинальной контрольной суммой, считываемой с ключа (к примеру, путём выполнения ЭЦП кода или других переданных данных алгоритмом ключа и проверки этой ЭЦП внутри приложения; т.к. ЭЦП всегда разная - особенность криптографического алгоритма - то это также помогает защититься от эмуляции API/ключа);
  • запрос к встроенным в ключ часам реального времени (при их наличии; может осуществляться автоматически при ограничении времени работы аппаратных алгоритмов ключа по его внутреннему таймеру);
  • и т.д.

Стоит отметить, что некоторые современные ключи (Guardant Code от Компании "Актив", LOCK от Astroma Ltd., Rockey6 Smart от Feitian, Senselock от Seculab) позволяют разработчику хранить собственные алгоритмы или даже отдельные части кода приложения (например, специфические алгоритмы разработчика, получающие на вход большое число параметров) и исполнять их в самом ключе на его собственном микропроцессоре . Помимо защиты ПО от нелегального использования такой подход позволяет защитить используемый в программе алгоритм от изучения, клонирования и использования в своих приложениях конкурентами. Однако для простого алгоритма (а разработчики часто совершают ошибку, выбирая для загрузки недостаточно сложный алгоритм) может быть проведен криптоанализ по методу анализа "черного ящика".

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

Алгоритм шифрования может быть секретным или публичным. Секретные алгоритмы разрабатываются самим производителем средств защиты, в том числе и индивидуально для каждого заказчика. Главным недостатком использования таких алгоритмов является невозможность оценки криптографической стойкости . С уверенностью сказать, насколько надёжен алгоритм, можно было лишь постфактум: взломали или нет. Публичный алгоритм, или «открытый исходник», обладает криптостойкостью несравнимо большей. Такие алгоритмы проверяются не случайными людьми, а рядом экспертов, специализирующихся на анализе криптографии . Примерами таких алгоритмов могут служить широко используемые ГОСТ 28147-89 , AES , RSA , Elgamal и др.

Защита с помощью автоматических средств

Для большинства семейств аппаратных ключей разработаны автоматические инструменты (входящие в SDK), позволяющие защитить программу «за несколько кликов мыши». При этом файл приложения «оборачивается» в собственный код разработчика. Реализуемая этим кодом функциональность варьируется в зависимости от производителя, но чаще всего код осуществляет проверку наличия ключа, контроль лицензионной политики (заданной поставщиком ПО), внедряет механизм защиты исполняемого файла от отладки и декомпиляции (например, сжатие исполняемого файла) и др.

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

Реализация защиты с помощью функций API

Помимо использования автоматической защиты, разработчику ПО предоставляется возможность самостоятельно разработать защиту, интегрируя систему защиты в приложение на уровне исходного кода. Для этого в SDK включены библиотеки для различных языков программирования , содержащие описание функциональности API для данного ключа. API представляет собой набор функций, предназначенных для обмена данными между приложением, системным драйвером (и сервером в случае сетевых ключей) и самим ключом. Функции API обеспечивают выполнение различных операций с ключом: поиска, чтения и записи памяти, шифрования и расшифрования данных при помощи аппаратных алгоритмов, лицензирования сетевого ПО и т. д.

Умелое применение данного метода обеспечивает высокий уровень защищённости приложений. Нейтрализовать защиту, встроенную в приложение, достаточно трудно вследствие её уникальности и «размытости» в теле программы. Сама по себе необходимость изучения и модификации исполняемого кода защищенного приложения для обхода защиты является серьёзным препятствием к её взлому. Поэтому задачей разработчика защиты, в первую очередь, является защита от возможных автоматизированных методов взлома путём реализации собственной защиты с использованием API работы с ключами.

Обход защиты

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

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

Взлом программного модуля

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

Отладка осуществляется с помощью специальной программы - отладчика, который позволяет по шагам исполнять любое приложение, эмулируя для него операционную среду. Важной функцией отладчика является способность устанавливать точки (или условия) остановки исполнения кода. С помощью них злоумышленнику проще отслеживать места в коде, в которых реализованы обращения к ключу (например, остановка выполнения на сообщении типа «Ключ отсутствует! Проверьте наличие ключа в USB-интерфейсе»).

Дизассемблирование - способ преобразования кода исполняемых модулей в язык программирования, понятный человеку - Assembler . В этом случае злоумышленник получает распечатку (листинг) того, что делает приложение.

Декомпиляция - преобразование исполняемого модуля приложения в программный код на языке высокого уровня и получение представления приложения, близкого к исходному коду. Может быть проведена только для некоторых языков программирования (в частности, для.NET приложений, создаваемых на языке C# и распространяемых в байт-коде - интерпретируемом языке относительно высокого уровня).

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

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

Даже те бухгалтеры, которые давно сдают отчетность через интернет, не всегда представляют, как работает один из главных элементов системы сдачи отчетности — электронная цифровая подпись (ЭЦП). Между тем такие знания позволяют предотвратить некоторые элементарные ошибки, которые могут привести к конфликтам с инспекцией. Кроме того, бухгалтер, получивший представление об основах технологии ЭЦП, будет тратить на общение с операторами call-центров гораздо меньше времени.

Создание ЭЦП

Существуют разные способы сформировать электронную цифровую подпись. На практике самым удобным и распространенным способом является создание ЭЦП с помощью двух ключей — открытого и закрытого. Оба этих ключа создаются с помощью специальной шифровальной программы (например, «Крипто-про»). Для создания закрытого ключа необходимо либо хаотично двигать мышку, либо бессистемно нажимать клавиши на клавиатуре. Программа преобразует эти движения в очень длинный набор символов (его размер 512 бит; о том, много это или мало — ниже, в разделе «Дополнительная информация»). Так создается закрытый ключ.

Затем та же программа на основании закрытого ключа создает открытый ключ (сразу отметим, что обратный процесс — подобрать закрытый ключ по открытому ключу — невозможен). Открытый ключ публикуется на сайтах удостоверяющих центров и спецоператора связи, чьими услугами пользуется владелец ключа, а вот закрытый ключ следует хранить со всеми возможными мерами предосторожности.

Зачем нужны удостоверяющие центры

Решают важнейшую задачу: они подтверждают подлинность информации о владельце ключа и его полномочиях. Если бы УЦ не существовало, любой, кто купил бы программу для шифрования, мог объявить свой открытый ключ ключом главного бухгалтера «Газпрома» или начальника инспекции по крупнейшим налогоплательщикам.

Поэтому бухгалтер (руководитель), для оформления электронной цифровой подписи должен предоставить в УЦ документы, удостоверяющие его личность, доверенность от компании и написать запрос на выдачу сертификата открытого ключа подписи. Центр выдает электронный и бумажный сертификаты открытого ключа подписи. Электронный сертификат — это файл, который представляет из себя открытый ключ клиента, подписанный ЭЦП удостоверяющего центра. Бумажный сертификат содержит следующие данные: открытый ключ ЭЦП, ФИО его владельца, срок действия сертификата (обычно один год), область применения ключа (перечень документов, которые можно подписывать с помощью ключа, на который выдан сертификат), информация об организации, представителем которой является владелец ключа.

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

Открытым шифруем, закрытым расшифровываем

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

Далее программа, с помощью которой бухгалтер отправляет отчетность, шифрует декларацию открытым ключом инспекции. Зашифрованный файл отправляется в инспекцию. Налоговики получают файл и расшифровывают его своим закрытым ключом. Затем проверяют ЭЦП плательщика с помощью реестра сертификатов открытых ключей (такая проверка при приеме отчетности осуществляется автоматически). Проверка дает ответ на два вопроса: была ли после подписания ЭЦП плательщика нарушена целостность документа и действительно ли данная ЭЦП принадлежит плательщику, сдавшему отчетность.

После проверки инспекция отправляет организации протокол входного контроля. Инспектор подписывает протокол своим закрытым ключом. Затем шифрует протокол открытым ключом компании и направляет файл с зашифрованной информацией в адрес компании. Бухгалтер открывает зашифрованную в файле информацию своим закрытым ключом.

Теоретически перехватить зашифрованный файл может кто угодно. Однако расшифровать файл, направленный в адрес инспекции, можно только имея закрытый ключ инспекции. Соответственно, зашифрованный файл, направленный в компанию, может открыть только тот, у кого есть закрытый ключ компании.

Что будет, если небрежно хранить закрытый ключ

Самая главная проблема, которой может обернуться для компании небрежное хранение закрытого ключа — это так называемая компрометация ключа. То есть доступ к закрытому ключу посторонних. Если ключ хранится на дискете, которая лежит на столе бухгалтера или ключ записан на жесткий диск бухгалтерского компьютера, то компания рискует нарваться на серьезные неприятности. Имея закрытый ключ, какой-нибудь недоброжелатель может отправить за компанию заведомо ложную отчетность. Например, задолго до срока, в который бухгалтер планирует сдать отчетность, послать в инспекцию декларацию по НДС с огромными суммами к возмещению. В этом случае компании как минимум грозит утомительное разбирательство с налоговиками, которые уже приняли «ложную» отчетность и занесли ее в свою базу. А как максимум (если бухгалтер вовремя не обнаружит факт «ложной» отправки) — истребование документов в ходе углубленной камеральной проверки, доначисления, пени, штрафы и судебный процесс.

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

Утрата действующего ключа накануне сдачи отчетности приводит к тому, что вовремя отправить декларацию через интернет не удастся. Дело в том, что никто не сможет выдать организации «дубликат» закрытого ключа — у удостоверяющего центра его просто-напросто нет, а воссоздать закрытый ключ по открытому невозможно. Без закрытого ключа компания не сможет подписать отчетность и расшифровать протоколы из инспекции, где сообщается о том, принята ли отчетность или не принята из-за каких-то ошибок. Единственный выход — получать новые ключи. Если эта процедура затянется, и информацию о новых ключах инспекция примет к сведению с опозданием, декларации придется сдавать лично или отправлять обыкновенной почтой.

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

Дополнительная информация
Насколько надежна ЭЦП

Как мы уже упоминали, размер закрытого ключа ЭЦП, используемой при сдаче отчетности, составляет 512 бит. Для того, чтобы понять, какую степень надежности обеспечивает такой размер ключа, приведем пример. На подбор ключа размером 72 бита у группы исследователей, использовавших сотни компьютеров, ушло три года. Размер нашего ключа — 512 бит. Условия проведенного эксперимента позволяют вычислить количество лет, которое потребуется на его подбор. Этот срок выражается числом со 130-ю нулями. Для сравнения: возраст Земли оценивается в 4,5 миллиарда лет, а миллиард — число с 9 нулями.

Чем ЭЦП отличается от старых шифровок

Одним из первых шифрование информации (криптографию) на практике применил император Гай Юлий Цезарь. Он отправлял в удаленные провинции послания, где вместо буквы A ставил букву D, вместо буквы B — букву E и т д. То есть использовал алфавитный сдвиг на три буквы. Этого было достаточно, чтобы враги, перехватившие послание, не могли его расшифровать. Зато адресаты в провинциях, которым секрет шифра был известен, легко читали распоряжения из столицы.
С тех пор прошло больше двух тысяч лет. За это время было придумано огромное множество шифров (у Цезаря это был простейший алфавитный сдвиг на 3 буквы, а в аппаратах-шифраторах второй мировой войны уже применялись жуткие тысячезначные числа). Однако вплоть до недавнего времени ничего принципиально нового наука о шифровании не изобретала. Суть оставалась прежней: до сеанса документооборота отправитель сообщения и его получатель должны были разделить секрет шифра (для чего требовалась либо личная встреча, либо использование каких-то сверхнадежных каналов связи). Такое шифрование, при котором участникам документооборота необходимо передать друг другу секрет шифра, называется симметричная криптография.

Однако в семидесятые годы прошлого века был изобретен принципиально новый способ криптографической защиты информации. Он не требует предварительного обмена секретом шифра, поэтому и был назван ассиметричной криптографией. Именно такой способ шифрования используется в работе ЭЦП. Чтобы послать кому-либо зашифрованную информацию, достаточно самому иметь ключи ЭЦП и знать открытый ключ адресата.

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

Электронно-цифровая подпись - это программно-криптографическое средство, которое обеспечивает:

    проверку целостности документов;

    конфиденциальность документов;

    установление лица, отправившего документ.

Преимущества использования электронно-цифровой подписи

Использование электронно-цифровой подписи позволяет:

    значительно сократить время, затрачиваемое на оформление сделки и обмен документацией;

    усовершенствовать и удешевить процедуру подготовки, доставки, учета и хранения документов;

    гарантировать достоверность документации;

    минимизировать риск финансовых потерь за счет повышения конфиденциальности информационного обмена;

    построить корпоративную систему обмена документами.

Виды электронно-цифровой подписи

Существует три вида электронной цифровой подписи:

Простая электронно-цифровая подпись

Посредством использования кодов, паролей или иных средств, простая электронно-цифровая подпись подтверждает факт формирования электронной подписи определенным лицом.

Простая электронно-цифровая подпись имеет низкую степень защиты. Она позволяет лишь определить автора документа.

Простая электронно-цифровая подпись не защищает документ от подделки.

Усиленная неквалифицированная электронно-цифровая подпись

1) получена в результате криптографического преобразования информации с использованием ключа электронной подписи;

2) позволяет определить лицо, подписавшее электронный документ;

3) позволяет обнаружить факт внесения изменений в электронный документ после момента его подписания;

4) создается с использованием средств электронной подписи.

Усиленная неквалифицированная электронно-цифровая подпись имеет среднюю степень защиты.

Чтобы использовать неквалифицированную электронную подпись, необходим сертификат ключа ее проверки.

Усиленная квалифицированная электронно-цифровая подпись

Для квалифицированной электронной подписи характерны признаки неквалифицированной электронной подписи.

Усиленная квалифицированная электронно-цифровая подпись соответствует следующим дополнительным признакам подписи:

1) ключ проверки электронной подписи указан в квалифицированном сертификате;

2) для создания и проверки электронной подписи используются средства электронной подписи, получившие подтверждение соответствия требованиям законодательства.

Усиленная квалифицированная электронно-цифровая подпись является наиболее универсальной и стандартизованной подписью с высокой степенью защиты.

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

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

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

А также установить, изменялся ли документ уже после того, как был подписан.

Когда применяются разные виды подписи

Простая электронно-цифровая подпись

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

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

Усиленная неквалифицированная электронно-цифровая подпись

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

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

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

Усиленная квалифицированная электронно-цифровая подпись

Для некоторых видов отчетности использование квалифицированной подписи прямо определено нормативными документами.

Например, такой порядок установлен для:

    годовой бухгалтерской отчетности, которую необходимо сдать в Росстат;

    формы РСВ-1 ПФР;

    отчетности в налоговую инспекцию – декларации.

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

Заявление о постановке на учет (снятии с учета) в налоговом органе заверяется только усиленной квалифицированной подписью.

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


Электронно-цифровая подпись (ЭЦП): подробности для бухгалтера

  • Можно ли применять электронную цифровую подпись и факсимильную подпись при оформлении бухгалтерских документов?

    Соглашением сторон. Электронная цифровая подпись (ЭЦП) В настоящее время отношения в... подробно о порядке применения видов ЭЦП при подписании документов бухгалтерского и...

  • Электронное взаимодействие работника и работодателя при оформлении трудовых отношений

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

  • Чем рискует главбух: сравниваем работу по ТК РФ и ГК РФ

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

  • Формулы для определения нормативных значений ключевых показателей экономической ценности предприятий

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

  • Регистрация бизнеса

    Необходимо предварительно приобрести. Стоимость такой ЭЦП варьируется примерно в пределах от... учредителем выгода существенная. Если, например, ЭЦП будет приобретена за 1000 руб... направлены вам электронно, с усиленной ЭЦП налогового органа. Сайт госуслуг предоставляет...

  • Пошаговая инструкция по получению имущественного вычета

    Порядке? Тогда вводим пароль от ЭЦП (электронной цифровой подписи). Если ранее... пароль от ЭЦП не был получен, то сохраняем... шестом шаге вводим пароль от ЭЦП, который придумали при ее создании...

  • Электронный больничный – право, а не обязанность

    Ранее найденного больничного плагин КриптоПро ЭЦП browser plug-in не видит...

  • Оформление счетов-фактур: первая половина 2017 года

    Этих целей используется усиленная квалифицированная ЭЦП (п. 6). В соответствии с... электронного образца, подписанного усиленной квалифицированной ЭЦП руководителя компании, неправомерно. В общем...

  • Почему переход на онлайн-кассы может занять полгода

    Ли будет получать дополнительную ЭЦП? Алексей Макаров: ЭЦП ужеимеется у многих – она...

  • Изменения в Законе о контрактной системе: разъяснения Минфина в отношении переходного периода

    С 01.07.2018 вступают в силу отдельные положения федеральных законов от 31.12.2017 № 504-ФЗ «О внесении изменений в Федеральный закон «О контрактной системе в сфере закупок товаров, работ, услуг для обеспечения государственных и муниципальных нужд» и от 31.12.2017 № 505-ФЗ «О внесении изменений в отдельные законодательные акты Российской Федерации». В Письме от 25.06.2018 № 24-06-08/43650 Минфином сообщается позиция в отношении переходного периода с 01.07.2018 до 01.01. ...

  • Документы и документооборот в бухгалтерском учете: проект ФСБУ

    31 мая 2018 года на сайте Минфина был опубликован проект федерального стандарта бухгалтерского учета «Документы и документооборот в бухгалтерском учете». Публичное обсуждение проекта закончится 30 сентября 2018 года. Ознакомимся с новым документом. 31 мая 2018 года на сайте Минфина был опубликован проект федерального стандарта бухгалтерского учета «Документы и документооборот в бухгалтерском учете». Публичное обсуждение проекта закончится 30 сентября 2018 года. Ознакомимся с новым документом. ...

  • Электронный ПТС в России

    С 1 июля 2018 года на всей территории ЕАЭС - в России, Белоруссии, Казахстане, Армении и Кыргызстане, вводится обязательное применение электронных паспортов транспортных средств (далее - ПТС). Вся информация, внесенная в электронный ПТС, в обязательном порядке заверяется усиленной квалифицированной электронной подписью, выданной удостоверяющим центром, аккредитованным Минкомсвязи России. С 1 июля 2018 года на всей территории ЕАЭС - в России, Белоруссии, Казахстане, Армении и Кыргызстане, ...

  • Как подать документы в суд в электронном виде?

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

  • Новый, 2018 год – новые правила закупок

    Уже год унитарные предприятия при осуществлении закупок руководствуются Федеральным законом от 05.04.2013 № 44-ФЗ «О контрактной системе в сфере закупок товаров, работ, услуг для обеспечения государственных и муниципальных нужд». В конце 2017 года Федеральным законом от 31.12.2017 № 504-ФЗ в Закон № 44-ФЗ были внесены изменения. Самое важное нововведение – возможность осуществления закупок в электронной форме, но не остались без внимания и иные моменты. Некоторые изменения уже начали действовать...

  • Изменения в Законе №44-ФЗ 2018 года. Новые правила закупок

    Уже год унитарные предприятия при осуществлении закупок руководствуются Федеральным законом от 05.04.2013 № 44-ФЗ «О контрактной системе в сфере закупок товаров, работ, услуг для обеспечения государственных и муниципальных нужд». В конце 2017 года Федеральным законом от 31.12.2017 № 504-ФЗ в Закон № 44-ФЗ были внесены изменения. Самое важное нововведение – возможность осуществления закупок в электронной форме, но не остались без внимания и иные моменты. Некоторые изменения уже...

(ПО) и данных от копирования, нелегального использования и несанкционированного распространения.

Современные электронные ключи

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

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

На российском рынке наиболее известны следующие линейки продуктов (в алфавитном порядке): CodeMeter от WIBU-SYSTEMS, Guardant от компании «Актив», HASP от Aladdin, LOCK от Astroma Ltd., Rockey от Feitian, SenseLock от Seculab и др.

История

Защита ПО от нелицензионного пользования увеличивает прибыль разработчика. На сегодняшний день существует несколько подходов к решению этой проблемы. Подавляющее большинство создателей ПО используют различные программные модули, контролирующие доступ пользователей с помощью ключей активации, серийных номеров и т. д. Такая защита является дешёвым решением и не может претендовать на надёжность. Интернет изобилует программами, позволяющими нелегально сгенерировать ключ активации (генераторы ключей) или заблокировать запрос на серийный номер/ключ активации (патчи , крэки). Кроме того, не стоит пренебрегать тем фактом, что сам легальный пользователь может обнародовать свой серийный номер.

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

Защита ПО с помощью электронного ключа

Комплект разработчика ПО

Донгл относят к аппаратным методам защиты ПО, однако современные электронные ключи часто определяются как мультиплатформенные аппаратно-программные инструментальные системы для защиты ПО. Дело в том, что помимо самого ключа компании, выпускающие электронные ключи, предоставляют SDK (Software Developer Kit - комплект разработчика ПО). В SDK входит все необходимое для начала использования представляемой технологии в собственных программных продуктах - средства разработки, полная техническая документация , поддержка различных операционных систем , детальные примеры, фрагменты кода, инструменты для автоматической защиты. Также SDK может включать в себя демонстрационные ключи для построения тестовых проектов.

Технология защиты

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

  • проверка наличия подключения ключа;
  • считывание с ключа необходимых программе данных в качестве параметра запуска (используется, в основном, только при поиске подходящего ключа, но не для защиты);
  • запрос на расшифрование данных или исполняемого кода, необходимых для работы программы, зашифрованных при защите программы (позволяет осуществлять "сравнение с эталоном"; в случае шифрования кода, выполнение нерасшифрованного кода приводит к ошибке);
  • запрос на расшифрование данных, зашифрованных ранее самой программой (позволяет отправлять каждый раз разные запросы к ключу и, тем самым, защититься от эмуляции библиотек API / самого ключа)
  • проверка целостности исполняемого кода путём сравнения его текущей контрольной суммы с оригинальной контрольной суммой, считываемой с ключа (к примеру, путем выполнения ЭЦП кода или других переданных данных алгоритмом ключа и проверки этой ЭЦП внутри приложения; т.к. ЭЦП всегда разная - особенность криптографического алгоритма - то это также помогает защититься от эмуляции API/ключа);
  • запрос к встроенным в ключ часам реального времени (при их наличии; может осуществляться автоматически при ограничении времени работы аппаратных алгоритмов ключа по его внутреннему таймеру);
  • и т.д.

Стоит отметить, что некоторые современные ключи (Guardant Code от Компании "Актив", LOCK от Astroma Ltd., Rockey6 Smart от Feitian, Senselock от Seculab) позволяют разработчику хранить собственные алгоритмы или даже отдельные части кода приложения (например, специфические алгоритмы разработчика, получающие на вход большое число параметров) и исполнять их в самом ключе на его собственном микропроцессоре . Помимо защиты ПО от нелегального использования такой подход позволяет защитить используемый в программе алгоритм от изучения, клонирования и использования в своих приложениях конкурентами. Однако для простого алгоритма (а разработчики часто совершают ошибку, выбирая для загрузки недостаточно сложный алгоритм) может быть проведен криптоанализ по методу анализа "черного ящика".

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

Алгоритм шифрования может быть секретным или публичным. Секретные алгоритмы разрабатываются самим производителем средств защиты, в том числе и индивидуально для каждого заказчика. Главным недостатком использования таких алгоритмов является невозможность оценки криптографической стойкости . С уверенностью сказать, насколько надёжен алгоритм, можно было лишь постфактум: взломали или нет. Публичный алгоритм, или «открытый исходник», обладает криптостойкостью несравнимо большей. Такие алгоритмы проверяются не случайными людьми, а рядом экспертов, специализирующихся на анализе криптографии . Примерами таких алгоритмов могут служить широко используемые ГОСТ 28147-89 , AES , RSA , Elgamal и др.

Защита с помощью автоматических средств

Для большинства семейств аппаратных ключей разработаны автоматические инструменты (входящие в SDK), позволяющие защитить программу «за несколько кликов мыши». При этом файл приложения «оборачивается» в собственный код разработчика. Реализуемая этим кодом функциональность варьируется в зависимости от производителя, но чаще всего код осуществляет проверку наличия ключа, контроль лицензионной политики (заданной поставщиком ПО), внедряет механизм защиты исполняемого файла от отладки и декомпиляции (например, сжатие исполняемого файла) и др.

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

Реализация защиты с помощью функций API

Помимо использования автоматической защиты, разработчику ПО предоставляется возможность самостоятельно разработать защиту, интегрируя систему защиты в приложение на уровне исходного кода. Для этого в SDK включены библиотеки для различных языков программирования , содержащие описание функциональности API для данного ключа. API представляет собой набор функций, предназначенных для обмена данными между приложением, системным драйвером (и сервером в случае сетевых ключей) и самим ключом. Функции API обеспечивают выполнение различных операций с ключом: поиска, чтения и записи памяти, шифрования и расшифрования данных при помощи аппаратных алгоритмов, лицензирования сетевого ПО и т. д.

Умелое применение данного метода обеспечивает высокий уровень защищённости приложений. Нейтрализовать защиту, встроенную в приложение, достаточно трудно вследствие её уникальности и «размытости» в теле программы. Сама по себе необходимость изучения и модификации исполняемого кода защищенного приложения для обхода защиты является серьёзным препятствием к ее взлому. Поэтому задачей разработчика защиты, в первую очередь, является защита от возможных автоматизированных методов взлома путем реализации собственной защиты с использованием API работы с ключами.

Обход защиты

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

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

Взлом программного модуля

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

Отладка осуществляется с помощью специальной программы - отладчика, который позволяет по шагам исполнять любое приложение, эмулируя для него операционную среду. Важной функцией отладчика является способность устанавливать точки (или условия) остановки исполнения кода. С помощью них злоумышленнику проще отслеживать места в коде, в которых реализованы обращения к ключу (например, остановка выполнения на сообщении типа «Ключ отсутствует! Проверьте наличие ключа в USB-интерфейсе»).

Дизассемблирование - способ преобразования кода исполняемых модулей в язык программирования, понятный человеку - Assembler . В этом случае злоумышленник получает распечатку (листинг) того, что делает приложение.

Декомпиляция - преобразование исполняемого модуля приложения в программный код на языке высокого уровня и получение представления приложения, близкого к исходному коду. Может быть проведена только для некоторых языков программирования (в частности, для.NET приложений, создаваемых на языке C# и распространяемых в байт-коде - интерпретируемом языке относительно высокого уровня).

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

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

Подробно о том, что такое электронная цифровая подпись, зачем она нужна бизнесу и обычным граждан, где её используют, какими преимуществами обладает и в чём суть применения ЭЦП.

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

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

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

Метод криптографического преобразования информации применяют для повышения уровня защиты передачи и хранения данных.

Электронную подпись используют для:

  • контроля целостности электронного документа;
  • подтверждения авторства документа;
  • защиты документа от его подделки или внесения изменений.

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

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

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

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

Виды электронной подписи

ЭП бывает трёх видов:

  1. Простая – факт формирования подписи определяется через использование специальных паролей и кодов.
  2. Усиленная неквалифицированная – ЭП создаётся с помощью криптографического преобразования информации и с использованием закрытого ключа.
  3. Усиленная квалифицированная – отличается от неквалифицированной наличием криптозащиты.

По закону большинства стран, в том числе СНГ, электронная подпись имеет такую же юридическую силу, как и просто роспись человека с печатью.

Области применения электронной цифровой подписи

Электронный документооборот между юридическими и физическими лицами

ЭЦП используют в различных сферах бизнеса сегмента B2B и B2C для обмена документами. Электронная подпись позволяет подтверждать достоверность, юридическую силу документа и отправлять его, по средствам электронной почты или программы, клиенту, покупателю или подразделению компании, находящемуся в другом городе или стране.

Использование ЭП позволяет моментально подписывать и передавать готовые документы в проверяющие инстанции.

Физические лица могут использовать ЭП для заверения подлинности документов, удалённой подписи договоров или актов приёма-сдачи работ.

Электронная отчётность

ЭЦП используют для сдачи отчётности в электронном формате в налоговую, ФНС, ФСС и другие контролирующие органы. Например, в Беларуси с 2015 года индивидуальных предпринимателей активно переводят на электронное декларирование. Для этого налогоплательщику выдаётся специальное программное обеспечение и ключ на съёмном носителе.

Судебная практика

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

Интернет-торги

При оптовых закупках или продаже товаров поставщики и покупатели могут подписывать любые документы ЭП. Такую подпись сейчас активно используют на государственных и коммерческих торговых интернет-площадках.

Государственные услуги

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

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

Преимущества электронного документооборота с ЭЦП

Электронный документооборот имеет массу преимуществ по сравнению с бумажным вариантом.

Главные преимущества, это:

  • Быстрая доставка документов.
  • Сокращение издержек на подготовку и отправку документов.
  • Ускорение бизнес-процессов.
  • Гарантии, что документ не затеряется на почте.
  • Возможность автоматизации обработки документации.

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

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

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

Применение электронной документации для сдачи отчётности упрощает жизнь компаний и предпринимателей. Нет необходимости лично ехать в контролирующую инстанцию – можно просто отправить документ через специальное ПО или электронной почтой.

«Ко мне на согласование, по системе электронного документооборота, приходит какой-то документ. Я вставляю в компьютер носитель (флешку – прим. автора) с моей электронной цифровой подписью. Предлагается ввести пароль. Ввожу его и подписываю документ. Всё, документ согласован.»

Валерий Сабатович – замначальника РУП «Национальный центр электронных услуг»

Электронная подпись упрощает ряд процедур связанных с документооборотом. Поэтому её уже активно используют в бизнесе и в государственных органах. Среди граждан она пока не пользуется популярностью. В основном из-за слабой осведомлённости людей о доступности и возможности использования такой подписи.