Базы данныхИнтернетКомпьютерыОперационные системыПрограммированиеСетиСвязьРазное
Поиск по сайту:
Подпишись на рассылку:

Назад в раздел

Надежна ли цифоровая подпись ?

div.main {margin-left: 20pt; margin-right: 20pt} Надежна ли цифоровая подпись ?

Илья Ивт, Вадим Богданов


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

Но если вы получаете по e­mail письмо, подписанное "Саша Сидоров" или расплачиваетесь кредитной картой в online­магазине, вы не можете быть на сто процентов уверены, что письмо действительно послал ваш друг Саша, а магазин настоящий, а не очередная хакерская проделка, и номер вашей кредитки и ваш PIN­код не станут достоянием всей хакерской братии.

Поэтому, как только в Internet пришел бизнес, а с ним и необходимость всегда точно определять, с кем имеешь дело, довольно широко стали использоваться технологии, позволяющие аутентифицировать субъектов Сети, как пользователей, так и серверы. Одна из них - электронная продпись (ЭП), стандарт которой (DSS) был выработан в 1991 году.

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

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


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

Контрольная сумма


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

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

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

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

Шифрование с открытым ключом

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

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

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

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

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

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

Взгляд хорошо информированного оптимиста на ту же проблему


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

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

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

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

1) защита надежна и безопасна, если не предпринимаются попытки ее взлома;

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

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

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

Злоумышленник перехватывает конверт, отрезает ЭП = PK1*CRS1 + OK1, меняет данные, генерирует пару ключей PK2 - OK2 и вновь собирает конверт:

Получатель проверяет ЭП, убеждается, что OK2 дешифрует PK2*CRS2 так, что CRS2 соответствует "данным2", и что подпись настоящая и данные оригинальны.

Для того чтобы описанный подлог был невозможен, ключ OK1 не должен находиться в конверте, а должен быть доставлен получателю отдельно, причем по каналу секретной связи. Таким образом исключаются перехват и подмена. Однако о какой секретной связи мы говорим, если речь идет об ОК­шифровании? Таким образом, "открытый ключ" вовсе не является открытым, он должен быть передан приватным образом, но в этом случае мы получаем перерождение ОК­шифрования в классическое симметричное с приватной передачей секретного ключа.

• Сборщик информации генерирует пару ключей PK1 - OK1, рассылает открытый ключ OK1 всем партнерам, которые должны прислать ему секретную (друг от друга и всех посторонних) информацию.

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

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

• Система "клиент­банк": каждый клиент Ki имеет на руках индивидуальный приватный ключ PKi, в банке хранится таблица соответствующих открытых ключей Ki - OKi. Клиент Ki посылает в банк платежное поручение, банк удостоверяется в подписи клиента по таблице и производит соответствующую денежную операцию.

Злоумышленник генерирует свою пару ключей PKX - OKX, подменяет открытый ключ клиента K2 в банке с OK2 на OKX (не знаю, как насчет швейцарских банков, а в российских такая подмена не составляет труда, т. к. самое большее, что, как правило, используют наши банки для защиты от НСД своих компьютеров - это милицию в бронежилетах и варианты парольного ограничения доступа). Среднестатистический российский банкир просто не обращает на подобную ерунду внимания и отправляет свою платежку. Банк получает платежку злоумышленника, идентифицирует его как клиента 2 и переводит все денежки клиента туда, куда направил их злоумышленник.

Создание защищенной системы регистрации

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

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

Протоколы защищенной телекоммуникационной связи SSL (2,3)


• Широко разрекламированная и уже собирающая колоссальные дивиденды защищенная телекоммуникационная связь с протоколами SSL 2,3 предусматривает обмен абонентов открытыми ключами, шифрование данных двойными - своим секретным и чужим открытым - ключами, еще массу всяких наворотов, убеждающих пользователя в бесконечной секретности соединения, однако как выяснить, кто, собственно, с кем соединился?

В конечном итоге выясняется, что пользователь должен-таки предварительно сходить в тот или иной идентификационный центр и получить там уникальный сертификат, на основании которого и строится весь последующий секретный диалог с открытыми ключами. Причем так или иначе в этом диалоге оказывается задействованным и идентификационный центр, выдавший пользователю сертификат (абонент A посылает абоненту B открытый ключ OKA; B посылает A свой сертификационный ключ OKA*PKBI*SKB, зашифрованный сначала приватным PKBI, а потом открытым OKA; A дешифрует SKB до состояния PKBI*SKB; затем связывается с идентификационным центром I; центр высылает A открытый ключ OKI; A отправляет в центр ключи OKA1, OKI*PKAI*SKA, OKI*PKBI*SKB; I, имеющий парные ключи PKI, OKAI, OKBI, дешифрует сертификаты SKA, SKB и сверяет их с базовой информацией, после чего высылает абоненту A ответ, зашифрованный ключами OKA1*PKI, относительно личности B; и A идентифицирует B; потом B так же идентифицирует A; наконец они переходят к собственно обмену данными). Опять ОК­шифрование реально базируется на секретном симметричном ключе (сертификате) и надежность всей схемы зависит в первую очередь от того, насколько надежно охраняются сертификаты пользователей, а во вторую - не вклинится ли кто-нибудь в диалог абонентов уже после того, как идентификация состоялась, как это описано в двух первых примерах.

Будущего у электронных подписей пока нет


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

1) с математической точки зрения все известные алгоритмы с открытым ключом являются лишь условно-надежными;

2) принципиальная концепция шифрования с открытым ключом условна и опирается на ничем не обеспеченное допущение феномена "спонтанной идентификации" обменивающихся данными сторон;

3) государственные службы безопасности продвигают на внутренних и особенно внешних рынках заведомо "дырявые" системы и препятствуют попаданию в массы надежных алгоритмов;

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

Дополнительные сложности в аутентификации создают контрольные суммы. Разработчики в азарте творчества часто преувеличивают свои достижения до абсурда, утверждая, например, что контроль целостности произвольных данных произвольного объема может быть обеспечен числом из 15 или 20 знаков, что противоречит теории информации так же, как вечный двигатель - законам термодинамики. На самом деле для обеспечения стопроцентной гарантии целостности данных объем "довешиваемой" информации должен составлять, в зависимости от шумового коэффициента исходного материала, от доли процента до ста процентов объема исходных данных. Для текста ЭП гарантирующая целостность исходного документа составляет не менее 10% его объема, для архивного файла - не менее 70%. (Вы можете легко проверить, выполняется ли это условие в используемых вами подписях.) Заметим, что, в отличие от ЭП, шифрование (с обратной связью) дает стопроцентную гарантию целостности данных без увеличения их объема вне зависимости от природы этих данных.

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

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

В реально сложившейся юридической практике (см. Решение Высшего арбитражного суда РФ № C1-7/ок-587 от 19.08.94) принятие в качестве доказательства подлинности документа электронной подписи, какими бы сертификатами она ни подтверждалась, совершенно неочевидно.

Еще в 1994 г. были обнаружены закладки, в частности против систем, построенных на основе пакета PGP (Pretty Good Privacy), при помощи которых были подделаны электронные документы (журн. "Частный сыск" № 1, 1995 г., статья А. Щербакова). Между тем PGP построен на наиболее распространенном во всем мире (и в том числе в России) методе шифрования RSA, считающимся стандартом в США (опять же для неправительственных и "Outside USA" сфер). Что после этого можно сказать об отечественных подписях, опирающихся на тот же метод RSA либо на наши ГОСТ P 34.10-94 и ГОСТ P 34.11-94, которые практически не используются в международных масштабах и соответственно не подвергаются массированным атакам со стороны разного рода хакеров...


  • Главная
  • Новости
  • Новинки
  • Скрипты
  • Форум
  • Ссылки
  • О сайте




  • Emanual.ru – это сайт, посвящённый всем значимым событиям в IT-индустрии: новейшие разработки, уникальные методы и горячие новости! Тонны информации, полезной как для обычных пользователей, так и для самых продвинутых программистов! Интересные обсуждения на актуальные темы и огромная аудитория, которая может быть интересна широкому кругу рекламодателей. У нас вы узнаете всё о компьютерах, базах данных, операционных системах, сетях, инфраструктурах, связях и программированию на популярных языках!
     Copyright © 2001-2024
    Реклама на сайте