Электронная цифровая подпись

Автор: Пользователь скрыл имя, 18 Февраля 2012 в 20:14, доклад

Описание работы

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

Работа содержит 1 файл

электронная цифровая подпись.doc

— 62.00 Кб (Скачать)

    Годом позже был введен ANSI X9.31, в котором  сделан акцент на цифровых подписях RSA, что отвечает фактически сложившейся  ситуации, в частности – для  финансовых учреждений.

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

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

    Как же работает алгоритм RSA?

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

    Сообщение представляется в виде числа M. Шифрование осуществляется с помощью общедоступной  функции f(M), и только адресату известно, как выполнить операцию f-1. Адресат  выбирает два больших простых (prime) числа p и q, которые делает секретными. Он объявляет n=pq и число d, c (d,p- 1)=(d,q-1)=1 (один из возможных способов выполнить это условие, выбрать d больше чем p/2 и q/2). Шифрование производится по формуле: f(M) є Md mod n, где M и f(M) оба Ј n-1. Как было показано, может быть вычислено за разумное время, даже если M, d и n содержит весьма большое число знаков. Адресат вычисляет M на основе Md, используя свое знание p и q. В соответствие со следствием 6, если dc є(p-1)1, тогда (Md)eє p1.

    Исходный  текст M получается адресатом из зашифрованного F(M) путем преобразования: M = (F(M))e (mod pq). Здесь как исходный текст, так и зашифрованный рассматриваются как длинные двоичные числа. Аналогично (Md)e є qM, если dc є (q-1)1. e удовлетворяет этим двум условиям, если cd є (p-1) (q-1)1.

    Теорема 1 гласит, что мы можем позволить e=x, когда x является решением уравнения dx + (p-1)(q-1)y = 1. 

    Так как (Md)e – M делимо на p и q, оно делимо и на pq, следовательно, мы можем определить M, зная Md, вычислив его значение в  степени e и определив остаток от деления на pq. Для соблюдения секретности важно, чтобы, зная n, было нельзя вычислить p и q. Если n содержит 100 цифр, подбор шифра связан с перебором ~1050 комбинаций. Данная проблема изучается уже около 100 лет. RSA-алгоритм запатентован (20 сентября 1983, действует до 2000 года).

    Теоретически  можно предположить, что возможно выполнение операции f-1, не вычисляя p и q. Но в любом случае задача эта  не проста и разработчики считают  ее трудно факторизуемой.

    Предположим, что мы имеем зашифрованный текст  f(M) и исходный текст M, и мы хотим найти значения p и q. Нетрудно показать, что таких исходных данных для решения задачи недостаточно – надо знать все возможные значения Mi.

    Проясним  использование алгоритма RSA на конкретном примере. Выбираем два простые 

    числа p=7; q=17 (на практике эти числа во много  раз длиннее). В этом случае n =

    p*q будет равно 119. Теперь необходимо  выбрать e, выбираем e=5. Следующий  шаг связан с формированием  числа d так, чтобы d*e=1 mod [(p-1)(q-1)]. d=77 (использован расширенный алгоритм Эвклида). d – секретный ключ, а e и n характеризуют открытый ключ. Пусть текст, который нам нужно зашифровать, представляется M=19.

    С = Memod n. Получаем зашифрованный текст C=66. Этот “текст” может быть послан соответствующему адресату. Получатель дешифрует полученное сообщение, используя М= Cdmod n и C=66. В результате получается M=19.

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

    Возможно ли взломать ЭЦП?

    Взлом ЭЦП фактически сводится к взлому алгоритма шифрования. В данном случае возможные варианты взлома мы рассмотрим на примере алгоритма RSA. Существует несколько способов взлома RSA. Наиболее эффективная атака – найти секретный ключ, соответствующий необходимому открытому ключу. Это позволит нападающему читать все сообщения, зашифрованные открытым ключом, и подделывать подписи. Такую атаку можно провести, найдя главные сомножители (факторы) общего модуля n – p и q. На основании p, q и e (общий показатель) нападающий может легко вычислить частный показатель d. Основная сложность в поиске главных сомножителей (факторинг) n.

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

    Фактически, задача восстановления секретного ключа  эквивалентна задаче разложения на множители (факторинга) модуля: можно использовать d для поиска сомножителей n и наоборот – можно использовать n для поиска d. Надо отметить, что усовершенствование вычислительного оборудования само по себе не уменьшит стойкость криптосистемы RSA, если ключи будут иметь достаточную длину.

    Фактически  же совершенствование оборудования увеличивает стойкость криптосистемы.

    Другой  способ взломать RSA состоит в том, чтобы найти метод вычисления корня степени e из mod n. Поскольку  С = Me mod n, то корнем степени e из mod n является сообщение M. Вычислив корень, можно вскрыть зашифрованные сообщения и подделывать подписи, даже не зная частный ключ. Такая атака не эквивалентна факторингу, но в настоящее время неизвестны методы, которые позволяют взломать RSA таким образом. Однако в особых случаях, когда на основе одного и того же показателя относительно небольшой величины шифруется достаточно много связанных сообщений, есть возможность вскрыть сообщения. Упомянутые атаки – единственные способы расшифровать все сообщения, зашифрованные данным ключом RSA.

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

    Самое простое нападение на отдельное  сообщение – атака по предполагаемому  открытому тексту. Нападающий, имея зашифрованный текст, предполагает, что сообщение содержит какой-то определенный текст (например, “Штирлиц – Плейшнеру”), затем шифрует  предполагаемый текст открытым ключом получателя и сравнивает полученный текст с имеющимся зашифрованным текстом. Такую атаку можно предотвратить, добавив в конец сообщения несколько случайных битов. Другая атака на единственное сообщение применяется в том случае, если отправитель посылает одно и то же сообщение M трем корреспондентам, каждый из которых использует общий показатель e = 3. Зная это, нападающий может перехватить эти сообщения и расшифровать сообщение M.

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

Информация о работе Электронная цифровая подпись