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

 

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

Криптография (от греческого kripto - тайна) представляет собой сово­купность методов преобразования данных, направленных на то, чтобы сделать зашифрованные данные бесполезными для злоумышленника. Шифрование (необходимо отличать от кодирования) - это многократное однотипное математическое преобразование текста по определенному алгоритму с помощью ключа шифрования. Ключ шифрования - это конкретное состояние алгоритма из множества возможных состояний. В качестве алгоритмов используют замены, перестановки или их сочетание, осуществляемые по определенным законам. Например, в качестве алгоритма можно выбрать матрицу размерностью M x N. Исходный текст записывается по строкам, а зашифрованный считывается по столбцам. Здесь ключом шифрования будет размерность матрицы.

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

При симметричном методе шифрование и расшифровка документа осуществляется одним ключом, сгенерированным по заданному алгоритму специальным генератором (программой). Одним из существенных недостатков этого метода является трудность в передаче ключа. Однако, в со­временных информационных системах этот метод широко используется совместно со специальными методами передачи ключей для канального (поточного) шифрования данных, передаваемых в сети Интернет. Для этих целей используются сеансовые ключи, которые действуют непродолжительное время, что делает бесполезным их определение для злоумышленника даже в случае перехвата зашифрованного сообщения. В России алго­ритм симметричного шифрования утвержден государственным стандар­том ГОСТ 28147 - 89.

Метод несимметричного шифрования является основой коммерческой криптографии. В этом методе специальной программой генерируется два ключа - публичный (открытый для всех пользователей информационной системы) и закрытый ключ, хранящийся в секрете у пользователя, сгене­рировавшего эти ключи. Математической основой метода шифрования с публичным ключом служит утверждение о том, что в настоящее время отсутствуют математические доказательства какого-либо способа нахожде­ния сомножителей двух простых чисел по известному их произведению. Впервые это было показано американскими математиками Райвестом, Шамилем и Адельманом. Поэтому в их честь один из алгоритмов шифро­вания называется RSA.

Суть алгоритма заключается в последовательности следующих действий. Выбираются (генерируются) два простых числа q и p большой раз­мерности (до 200 знаков). Затем вычисляется произведение этих чисел [n = q*p]. Ищется число e совместно простое с произведением [e U (q-1)*(p-1)]. Затем находится число d , удовлетворяющее условию e*d mod (q-1)*(p-1) = 1. Операция mod n означает остаток от деления. В качестве ключей шиф­рования выбираются пары чисел: {e, n) - открытый ключ, {d, n} - закрытый ключ. Открытый ключ рассылается всем заинтересованным партнерам, а закрытый ключ хранится у отправителя. Подчеркнем важное свойство алгоритма шифрования: сообщение зашифрованное открытым клю­чом может быть расшифровано только связанным с ним закрытым клю­чом, причем открытый ключ не позволяет вычислить ключ закрытый.

Процедура шифрования выполняется по формуле C = M^e mod N. Здесь М открытый текст, а С - зашифрованное сообщение, е - открытый ключ, N - произведение исходных простых чисел, на основе которых вычислялись ключи шифрования. Процедура расшифрования заключается в вычислениях по формуле M= C^d mod N (d - закрытый ключ). Не забываем, что обрабатываемые на компьютере тексты, представлены в двоичном коде.

В России для асимметричного шифрования используется алгоритм, усложненный по отношению к алгоритму RSA и утвержденный государственным стандартом ГОСТ Р3410-10.

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

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

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

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

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

Технология получения и проверки ЭЦП включает в себя следующие процедуры: 1) процедуру вычисления дайджеста (хэш - функции) сообще­ния; 2) процедуру зашифрования дайджеста закрытым ключом отправите­ля; 3) процедуру вычисления дайджеста сообщения (хэш - функции) получателем; 4) проверку полученного дайджеста, путем расшифрования его открытым ключом; 5) сравнение вычисленного получателем дайджеста с полученным в результате расшифрования (верификация).

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

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

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

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

Технология использования ЭЦП является надежным средством обес­печения безопасности при ведении электронного бизнеса.