Способ шифрования электронной цифровой подписью

Электронная библиотека

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

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

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

Ключевая пара – открытый и закрытый ключи, которые используются для шифрования данных.

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

· симметричные криптосистемы (одноключевые);

· асимметричные криптосистемы (двухключевые).

Ключи, используемые в одноключевых и двухключевых криптосистемах, называются, соответственно, симметричными и асимметричными.

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

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

Закрытый и открытый ключи определенным образом связаны между собой и

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

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

Основное применение ассиметричных криптосистем – создание/проверка электронной цифровой подписи и асимметричное шифрование.

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

Шифрование информации гарантирует вам:

· недоступность информации для сторонних лиц;

· подлинность информации (информации поступит в неискаженном виде);

· целостность информации (данные, которые вы хотите передать останутся целыми в процессе передачи).

В общем случае шифрование состоит из следующих этапов (рис. 5.9):

Рис. 5.9 Шифрование данных

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

2) после этого вы отправляете зашифрованные данные партнеру;

3) ваш партнер получает зашифрованные данные. С помощью своего закрытого ключа и вашего открытого он расшифровывает данные. В результате ваш партнер получает тот самый открытый текст (конфиденциальные данные) который вы зашифровали.

Одним из самых распространенных алгоритмов шифрования является алгоритм RSA, длина ключа которого обычно 1024 бита. Принцип работы этого алгоритма достаточно простой. Каждый участник криптосистемы генерирует два случайно больших простых числа p и q, выбирает число e, меньшее pq и не имеющее общего делителя с (p-1)(q-1), и число d, такое, что (ed-1) делится на (p-1)(q-1). Затем он вычисляет n = pq, а p и q уничтожает. Пара (n,e) называется открытым ключом, а пара (n,d) – закрытым ключом.

Читайте также:  Чугун с шаровидным графитом способ получения

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

Стойкость RSA есть функция сложности разложения произведения pq на простые множители p и q (эту задачу придется решать тому, кто вознамерится «вычислить» закрытый ключ из открытого). При достаточной длине этих простых чисел (несколько тысяч двоичных разрядов) такое разложение вычислительно невозможно. Для обеспечения конфиденциальности участник А «шифрует» сообщение m участнику Б с помощью открытого ключа Б:

а участник Б «расшифровывает» его с помощью своего закрытого ключа:

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

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

Электронно-цифровая подпись является подтверждением подлинности, целостности и авторства электронного документа.

При соблюдении правовых условий использования ЭЦП в электронном документе она признается равнозначной собственноручной подписи в документе на бумажном носителе. Правовыми основами использования ЭЦП в системах электронного документооборота являются главы Гражданского кодекса Российской Федерации, федеральные законы (ФЗ) РФ «Об информации, информатизации и защите информации» № 24-ФЗ от 20 февраля 1995 г. и «Об электронной цифровой подписи» №

1-ФЗ от 10 января 2002 г.

При использовании электронно-цифровой подписи в условиях электронного документооборота применяется технология «криптография с открытым ключом». Для наложения цифровой подписи (рис. 5.10) участник А «шифрует» сообщение m участнику Б с помощью своего закрытого ключа:

и отправляет подпись s вместе с сообщением m. Участник Б может верифицировать подпись участника А с помощью открытого ключа А, вычислив:

Если m = mп, то сообщение m признается подписанным пользователем, который предоставил ранее открытый ключ (n,e).

Рис. 5.10 Работа с электронно-цифровой подписью

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

Перед непосредственным созданием ЭЦП (см. рис. 5.10) на документе происходит процесс хэширования с помощью специальной хэш-функции. Представленная на рис. 5.10 процедура соответствует, например, стандарту ГОСТ Р 34.10-94.

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

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

Читайте также:  Способы изучения земных недр

· вычислительно неосуществимо нахождение сообщения m, хэш-функция которого была бы равна заданному значению h;

· вычислительно неосуществимо нахождение двух сообщений m1 и m2 m1 с равными значениями хэш-функций, то есть удовлетворяющих условию h(m1) = h(m2).

Если эти требования не выполняются, то потенциальный злоумышленник может подделать сообщение для подписанной хэш-функции. Во втором случае это осуществляется путем совместной подготовки истинного и поддельного документа. Отметим, что трудоемкость такой атаки в среднем составляет около 2 r/2 вычислений хэш-функции и не зависит от качества преобразований, используемых для задания хэш-функции. Это обстоятельство определяет длину хэш-кода r = 128 бит.

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

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

Сертификат предназначен для:

· подтверждения подлинности ЭЦП и идентификации ее автора;

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

· аутентификации владельца при установлении защищенных соединений по TLS/SSL протоколам.

Сертификат представляет собой информационный блок данных, формат которого включает следующую информацию (в соответствии с положениями международной Рекомендации ITU-T Х.509):

· номер версии сертификата;

· серийный номер сертификата;

· идентификатор алгоритма, используемого для подписи удостоверяющего центра;

· сведения об издателе сертификата (УЦ);

· период действия сертификата: начало и конец периода;

· сведения о владельце сертификата, однозначно идентифицирующие его в рамках данной системы;

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

· дополнительные атрибуты, определяемые требованиями использования сертификата в системе;

· ЭЦП Удостоверяющего Центра.

Срочно?
Закажи у профессионала, через форму заявки
8 (800) 100-77-13 с 7.00 до 22.00

Источник

Как работает электронная подпись

И зачем она нужна.

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

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

Электронная подпись — это технология, которая помогает подтвердить подлинность электронного документа: договора, справки, выписки или чего-то ещё.

Если упрощённо, работает так:

👉 Есть некий документ, подписанный ЭП

👉 С помощью специальной программы можно проверить подлинность этой подписи и документа

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

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

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

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

Основа ЭП — асимметричное шифрование

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

Как работает: сертификаты

Электронная подпись состоит из двух принципиальных частей:

  1. Сертификат для удостоверения подписывающего.
  2. Криптографическая часть для проверки подлинности документа.

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

В сертификате хранятся данные о владельце подписи:

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

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

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

Как работает: алгоритмы шифрования

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

Проблема в том, что ЭП основана на алгоритмах асимметричного шифрования, а их много: разложение на простые множители, дискретное логарифмирование, эллиптические кривые и множество других. Ключ из одного алгоритма не подойдёт для использования в другом, поэтому в России договорились использовать стандарт шифрования ГОСТ Р 34.10-2012, основанный на эллиптических кривых. Все государственные органы работают только с таким алгоритмом и не принимают другие ЭП.

Это значит, что нам нужен специальный софт, в котором уже есть этот алгоритм. Чаще всего используют КриптоПРО, реже — ViPNet CSP. С помощью этих программ можно подписать документы и проверить сертификаты на подлинность.

Принцип работы электронной подписи

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

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

Разберём по шагам:

  1. В удостоверяющем центре вы получаете сертификат и ключ электронной подписи. Это закрытый ключ, который передавать никому нельзя. Открытый же ключ хранится в самом сертификате, который прикладывается к каждому документу и доступен всем.
  2. Берёте нужный документ и получаете его криптографический хеш. Хеш — это небольшая строка, которая представляет собой «цифровой отпечаток» файла. У каждого файла с уникальным набором битов будет уникальный хеш, причём он всегда одинаковой длины. Подробнее о хешах мы писали, когда разбирали скандал с паролями Фейсбука.
  3. Шифруете этот хеш своим закрытым ключом. Полученный результат шифрования добавляете к исходному документу.
  4. Туда же добавляете сертификат, чтобы все могли проверить и убедиться, что документ подписали вы.

А что если подменят сам сертификат?

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

Источник

Оцените статью
Разные способы