Информатика для юристов и экономистов

         

Техническое обеспечение электронной цифровой подписи


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

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

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

Потребность в криптографии

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

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

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

• автором сообщения действительно является партнер (идентификация партнера);

• сообщение не было изменено в канале связи (аутентификация сообщения).

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

Метод и ключ шифрования



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

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

A=D                  B = E                   С = Р и т. д.

Разумеется, в данном случае как метод, так и ключ шифрования настолько просты, что на их защищенность можно рассчитывать только в том случае, если канал обслуживают лица (посыльные), не имеющие элементарной грамотности. Незначительно повысить защиту можно, если использовать более длинный ключ шифрования, например: 3—5—7. В этом случае первый символ сообщения смещается на три позиции, второй — на пять, третий — на семь позиций, после чего процесс циклически повторяется. В данном случае последовательность символов ключа можно рассматривать как ключевое слово. Если ключ содержит несколько ключевых слов, его называют ключевой фразой.

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


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

Симметричные и несимметричные методы шифрования

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

         





ключ шифрования

">



ключ партнеру (Б)

">





сообщение своим ключом сообщение таким же ключом

">

             Рис. 9.1. Защита сообщения симметричным ключом

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

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

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

• эти ключи пришлось бы передавать по незащищенным каналам связи, а это практически ничем не лучше, чем сразу открыто передавать по ним данные о платежном средстве;



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

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

Основы несимметричной криптографии

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

Ключ, оставленный для себя, называется закрытым, или личным, ключом (private). Опубликованный ключ называется открытым, или публичным (public).

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



При этом важно обратить внимание на следующие обстоятельства.

1. Использование закрытого ключа позволяет идентифицировать отправителя.

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





открытый и закрытый

">



">



Сообщение закрытым ключом сообщение открытым ключом

">



Сообщение закрытым ключом сообщение открытым ключом

">

                      Рис. 9.2. Защита сообщения несимметричными ключами

2.Использование открытого ключа позволяет аутентифицировать сообщения.

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

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

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


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

Простейшая структура ЭЦП

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

 

Понятие о компрометации ЭЦП

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

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

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

• получение ключа в результате ответа на запрос, исполненный с признаками мошенничества или подлога;

• хищение ключа, вытекающее из хищения оборудования, на котором он хранился (даже если хищение оборудования производилось не с целью доступа к ключу);



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

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

Предпосылками возможной реконструкции являются следующие обстоятельства:

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

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

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

• ему известен метод шифрования и дешифрования, по которому работает программное средство ЭЦП (в общем случае алгоритм не скрывается а, наоборот, широко публикуется для всеобщего тестирования).

Понятие о криптостойкости средств ЭЦП

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

Существует специальная отрасль науки, называемая криптоанализом.


Она занимается разработкой методов, позволяющих:

а) воспроизводить зашифрованную информацию, то есть снимать с нее защиту;

б) оценивать качество защиты информации, то есть давать объективную оценку принятым методам защиты.

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

• из-за «слабости» алгоритма, лежащего в основе действия средства ЭЦП;

• из-за характерных особенностей ключа (неудачных свойств ключевой пары).

Два подхода к оценке криптостойкости алгоритмов

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

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

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

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


В этом случае защита может основываться на «закрытости» алгоритма.

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

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

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

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



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

Два подхода к оценке криптостойкости ключей

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

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

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

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


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

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

Влияние размера ключей на их криптостойкость

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

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


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

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

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

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

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


Содержание раздела