Подпишись и читай
самые интересные
статьи первым!

Как работает электронная цифровая подпись. Электронные ключи

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

Создание ЭЦП

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Отвечая на вопрос: «ЭЦП - что это такое?» - стоит отметить, что являются стандартным элементом большинства криптографических наборов протоколов и обычно используются для распространения ПО, совершения финансовых операций, а также во многих иных случаях, когда это важно для определения подделки или фальсификации.

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

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

ЭЦП - что это такое?

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

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

Криптография с открытым ключом или структура ЭЦП

Что это такое? Цифровая схема подписи включает в себя одновременно три алгоритма.

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

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

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

Как установить ЭЦП?

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

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

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

Применение цифровых подписей

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

Аутентификация

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

Целостность

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

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

Неотрекаемость

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

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

Ввод секретного ключа на смарт-карте

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

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

Более надежная альтернатива для хранения секретного ключа - смарт-карта. Многие смарт-карты оснащены защитой от несанкционированного вмешательства.

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

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

Алгоритмов), часы реального времени. Аппаратные ключи могут иметь различные форм-факторы , но чаще всего они подключаются к компьютеру через 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# и распространяемых в байт-коде - интерпретируемом языке относительно высокого уровня).

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

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

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

Отличие коробочных версий от электронных

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

Лицензия и ее продление

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

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

Цена

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

В статье даны ответы на вопросы: «Как выглядит электронная подпись», «Как работает ЭЦП», рассмотрены ее возможности и основные компоненты, а также представлена наглядная пошаговая инструкция процесса подписания файла электронной подписью.

Что такое электронная подпись?

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

Справочно:

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

Согласно законодательству РФ, квалифицированная электронная подпись — это эквивалент подписи, проставляемой «от руки», обладающий полной юридической силой. Помимо квалифицированной в России представлены еще два вида ЭЦП:

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

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

Возможности электронной подписи

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

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

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

Что означает фраза «клиенту выдана электронная подпись»? Как выглядит ЭЦП?

Сама по себе подпись является не предметом, а результатом криптографических преобразований подписываемого документа, и ее нельзя «физически» выдать на каком-либо носителе (токене, smart-карте и т.д.). Также ее нельзя увидеть, в прямом значении этого слова; она не похожа на росчерк пера либо фигурный оттиск. О том, как «выглядит» электронная подпись, расскажем чуть ниже.

Справочно:

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

Flash-носитель — это компактный носитель данных, в состав которого входит flash-память и адаптер (usb-флешка).

Токен — это устройство, корпус которого аналогичен корпусу usb-флешки, но карта памяти защищена паролем. На токене записана информация для создания ЭЦП. Для работы с ним необходимо подключение к usb-разъему компьютера и введения пароля.

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

Sim-карта с чипом — это карта мобильного оператора, снабженная специальным чипом, на которую на этапе производства безопасным образом устанавливается java-приложение, расширяющее ее функциональность.

Как же следует понимать фразу «выдана электронная подпись», которая прочно закрепилась в разговорной речи участников рынка? Из чего состоит электронная подпись?

Выданная электронная подпись состоит из 3 элементов:

1 - средство электронной подписи, то есть необходимое для реализации набора криптографических алгоритмов и функций техническое средство. Это может быть либо устанавливаемый на компьютер криптопровайдер (КриптоПро CSP, ViPNet CSP), либо самостоятельный токен со встроенным криптопровайдером (Рутокен ЭЦП, JaCarta ГОСТ), либо «электронное облако». Подробнее прочитать о технологиях ЭЦП, связанных с использованием «электронного облака», можно будет в следующей статье Единого портала Электронной подписи.

Справочно:

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

Важно: токен и средство квалифицированной ЭЦП на нем должны быть сертифицированы ФСБ РФ в соответствии с требованиями федерального закона № 63.

2 - ключевая пара, которая представляет из себя два обезличенных набора байт, сформированных средством электронной подписи. Первый из них - ключ электронной подписи, который называют «закрытым». Он используется для формирования самой подписи и должен храниться в секрете. Размещение «закрытого» ключа на компьютере и flash-носителе крайне небезопасно, на токене — отчасти небезопасно, на токене/smart-карте/sim-карте в неизвлекаемом виде — наиболее безопасно. Второй — ключ проверки электронной подписи, который называют «открытым». Он не содержится в тайне, однозначно привязан к «закрытому» ключу и необходим, чтобы любой желающий мог проверить корректность электронной подписи.

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

В соответствии с законодательством РФ различают:

— «сертификат ключа проверки электронной подписи» формируется для неквалифицированной ЭЦП и может быть выдан удостоверяющим центром;

— «квалифицированный сертификат ключа проверки электронной подписи» формируется для квалифицированной ЭЦП и может быть выдан только аккредитованным Министерством связи и массовых коммуникаций УЦ.

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

Подводя итог вышеизложенному, фраза «клиенту выдана электронная подпись» состоит из трех слагаемых:

  1. Клиент приобрел средство электронной подписи.
  2. Он получил «открытый» и «закрытый» ключ, с помощью которых формируется и проверяется ЭЦП.
  3. УЦ выдал клиенту сертификат, подтверждающий, что «открытый» ключ из ключевой пары принадлежит именно этому человеку.

Вопрос безопасности

Требуемые свойства подписываемых документов:

  • целостность;
  • достоверность;
  • аутентичность (подлинность; «неотрекаемость» от авторства информации).

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

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

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

Как подписать файл электронной подписью?

Для подписания файла ЭЦП нужно выполнить несколько шагов. В качестве примера рассмотрим, как поставить квалифицированную электронную подпись на свидетельство на товарный знак Единого портала Электронной подписи в формате.pdf. Нужно:

1. Кликнуть на документ правой кнопкой мышки и выбрать криптопровайдер (в данном случае КриптоАРМ) и графу «Подписать».

2. Пройти путь в диалоговых окнах криптопровайдера:

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

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

В блоке «Свойства подписи» выбираете «Подписано», при необходимости можно добавить комментарий. Остальные поля можно исключить/выбрать по желанию.

Из хранилища сертификатов выбираете нужный.

После проверки правильности поля «Владелец сертификата», нажимайте кнопку «Далее».

В данном диалоговом окне проводится финальная проверка данных, необходимых для создания электронной подписи, а затем после клика на кнопку «Готово» должно всплыть следующее сообщение:

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

Итак, как же выглядит электронная подпись на документе?

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

Фрагмент рабочего стола. Слева: файл, подписанный ЭП, справа: криптопровайдер (например, КриптоАРМ).

Визуализация электронной подписи в самом документе при его открытии не предусмотрена ввиду того, что она является реквизитом. Но есть исключения, например, электронная подпись ФНС при получении выписки из ЕГРЮЛ/ЕГРИП через онлайн сервис условно отображается на самом документе. Скриншот можно найти по

Но как же в итоге «выглядит» ЭЦП , вернее, как факт подписания обозначается в документе?

Открыв через криптопровайдер окно «Управление подписанными данными», можно увидеть информацию о файле и подписи.

При нажатии на кнопку «Посмотреть» появляется окно, содержащее информацию о подписи и сертификате.

Последний скриншот наглядно демонстрирует как выглядит ЭЦП на документе «изнутри».

Приобрести электронную подпись можно по .

Задавайте другие вопросы по теме статьи в комментариях, эксперты Единого портала Электронной подписи обязательно ответят Вам.

Статья подготовлена редакцией Единого портала Электронной подписи сайт с использованием материалов компании SafeTech.

При полном или частичном использовании материала гиперссылка на www..

Включайся в дискуссию
Читайте также
Быстрые оладушки на кефире Оладьи быстрый и простой рецепт
Национальная кухня австрии Лучшие рецепты приготовления блюд австрийской кухни
Бриошь: рецепты приготовления Булочка бриошь с начинкой