Сравнение стандартов электронной подписи РФ и США

 

Содержание

 

Введение.............................................................................................................................3

1. Стандарты электронно-цифровой подписи................................................................5

1.1. Эволюция ЭП...................................................................................................5

1.2. Принцип построения ЭП................................................................................6

1.3. Новые стандарты ЭП......................................................................................7

2. Электронная подпись  в РФ..........................................................................................8

2.1. ГОСТ 34.10-2012.............................................................................................9

2.2. Алгоритм ЭП..................................................................................................10

2.2.1. Параметры схемы  цифровой подписи...........................................10

2.2.2. Двоичные векторы...........................................................................11

2.2.3. Формирование  цифровой подписи................................................12

2.2.4. Проверка цифровой  подписи.........................................................14

3. Электронная подпись  в США....................................................................................16

3.1. Digital Signature Standard. Алгоритм DSA..................................................17

3.1.1. Использование DSA........................................................................17

3.1.2. Параметры схемы  цифровой подписи...........................................17

3.1.3. Открытый и секретный  ключи.......................................................19

3.1.4. Генерация подписи..........................................................................19

3.1.5. Проверка подписи...........................................................................20

3.2. Алгоритм ECDSA.........................................................................................22

3.2.1. Параметры алгоритма.....................................................................22

3.2.2. Генерирование ключей  ECDSA.....................................................23

3.2.3. Вычисление цифровой  подписи.....................................................23

3.2.4. Проверка цифровой  подписи..........................................................24

3.2.5. Требования к эллиптической  кривой.............................................24

3.2.6.Преимущества ECDSA перед DSA.................................................25

Заключение......................................................................................................................26

Список литературы.........................................................................................................27

 

 

Введение

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

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

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

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

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

 

 

1. Стандарты электронно-цифровой подписи

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

 

1.1. Эволюция ЭП

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

Первая схема ЭП - RSA - была разработана еще в конце 1970-х годов. Однако проблема подтверждения авторства стала актуальной настолько, что потребовалось установление стандарта, только в 1990-х годах, во время взрывного роста глобальной сети Интернет и массового распространения электронной торговли и оказания услуг. Именно по указанной причине стандарты ЭП в России и США были приняты практически одновременно, в 1994 году.

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

 

 

1.2. Принцип построения ЭП

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

Любая схема ЭП обязана определить три следующих алгоритма:

  • алгоритм генерации ключевой пары для подписи и ее проверки;

  • алгоритм подписи;

  • алгоритм проверки подписи.

Таблица 1. Алгоритмы стандартов ЭП России и США.

В табл.1 приведены уравнения преобразования данных для каждого из этих алгоритмов в стандартах ЭП России и США.

Как видно из табл. 1, стандарты России и США очень похожи, они различаются лишь некоторыми числовыми параметрами и отдельными деталями выработки ключевой пары, вычисления и проверки подписи. Действительно, оба стандарта являются вариантами одной и той же схемы ЭП Эль-Гамаля.

 

1.3. Новые стандарты ЭП

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

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

Стойкость схемы подписи ГОСТ Р34.10-94 базируется на сложности решения задачи дискретного логарифмирования в простом поле. В настоящее время наиболее быстрым алгоритмом ее решения для общего случая является алгоритм обобщенного решета числового поля.

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

 

2. Электронная подпись в РФ

В 1994 году Главным управлением безопасности связи ФАПСИ был разработан первый российский стандарт ЭЦП — ГОСТ Р 34.10-94 «Информационная технология. Криптографическая защита информации. Процедуры выработки и проверки электронной цифровой подписи на базе асимметричного криптографического алгоритма».

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

В 2002 году для обеспечения большей криптостойкости алгоритма взамен ГОСТ Р 34.10-94 был введён одноимённый стандарт ГОСТ Р 34.10-2001, основанный на вычислениях в группе точек эллиптической кривой. В соответствии с этим стандартом, термины «электронная цифровая подпись» и «цифровая подпись» являются синонимами.

1 января 2013 года  ГОСТ Р 34.10-2001 заменён на ГОСТ  Р 34.10-2012 «Информационная технология. Криптографическая защита информации. Процессы формирования и проверки  электронной цифровой подписи.»

 

 

 

 

2.1. ГОСТ 34.10-2012

Согласно ГОСТ Р 34.10-2012 цифровая подпись позволяет:

  1. Аутентифицировать лицо, подписавшее сообщение;

  1. Контролировать целостность сообщения;

  1. Защищать сообщение от подделок;

  1. Доказать авторство лица, подписавшего сообщение.

ГОСТ Р 34.10-2012 и ГОСТ Р 34.10-2001 основаны на эллиптических кривых. Стойкость этих алгоритмов основывается на сложности вычисления дискретного логарифма в группе точек эллиптической кривой, а также на стойкости хэш-функции. Для ГОСТ Р 34.10-2012 используется хэш-функция по ГОСТ Р 34.11-2012. Для ГОСТ Р 34.10-2001 - ГОСТ Р 34.11-94.

Стандарт ГОСТ Р 34.10-2012 использует ту же схему формирования электронной цифровой подписи, что и ГОСТ Р 34.10-2001. Новый стандарт отличается наличием дополнительного варианта параметров схем (соответствующего длине секретного ключа порядка 512 бит) и требованием использования функций хэширования ГОСТ Р 34.11-2012: первый вариант требований к параметрам (такой же, как в ГОСТ Р 34.10-2001, соответствующий длине секретного ключа порядка 256 бит) предусматривает использование хэш-функции с длиной хэш-кода 256 бит, дополнительный вариант требований к параметрам предусматривает использование хэш-функции с длиной хэш-кода 512 бит.

После подписывания сообщения  М  к нему дописывается цифровая подпись размером 512 или 1024 бит и текстовое поле. В текстовом поле могут содержаться, например, дата и время отправки или различные данные об отправителе:

Рис.1. Схема подписанного сообщения.

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

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

Криптографическая стойкость данной схемы цифровой подписи основывается на сложности решения задачи дискретного логарифмирования в группе точек эллиптической кривой, а также на стойкости используемой хэш–функции. Алгоритмы вычисления хэш–функции установлены в       ГОСТ Р 34.11-2012.

 

2.2. Алгоритм ЭП

2.2.1. Параметры схемы цифровой подписи

Параметрами схемы цифровой подписи являются:

  • простое число p - модуль эллиптической кривой такой, что ;
  • эллиптическая кривая E, задаваемая своим инвариантом J(Е) или коэффициентами Î, где — конечное поле из p элементов. J(E) связан с коэффициентами a и b следующим образом:

 

 

  • целое число m – порядок группы точек эллиптической кривой  E. m должно быть отлично от p;
  • простое число q - порядок некоторой циклической подгруппы группы точек эллиптической кривой  E, для которого выполнены следующие условия:

Î

  • точка эллиптической кривой Е, являющаяся генератором подгруппы порядка  q, то есть и для всех , где - нейтральный элемент группы точек эллиптической кривой E.

- хеш-функция, которая отображает сообщения  M, представленные в виде двоичных векторов произвольной конечной длины, в двоичные вектора длины бит. Хеш-функция определена ГОСТ Р 34.11-2012. Если , то . Если , .

 

Каждый пользователь схемы цифровой подписи должен обладать личными ключами:

 

  • ключом подписи (шифрования) – целым числом d, удовлетворяющим неравенству ;
  • ключом проверки подписи (расшифрования) – точкой эллиптической кривой с координатами, удовлетворяющей равенству .

 

К приведенным выше параметрам схемы цифровой подписи предъявляют следующие требования:

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

 

 

2.2.2. Двоичные векторы

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

Рассмотрим следующий двоичный вектор длиной бит, в котором младшие биты расположены справа, а старшие - слева:

 

где , равно 1, либо 0.

 

Число соответствует двоичному вектору , если выполнено равенство

 

 

Для двух двоичных векторов

 

 

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

 

Объединение  представляет  собой  двоичный  вектор  длиной бит, составленный из коэффициентов векторов и  .

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

 

 

2.2.3. Формирование цифровой подписи

Для  получения  цифровой  подписи  под  сообщением необходимо выполнить следующие действия (шаги):

  1. Вычислить хэш-функцию от сообщения ;
  2. Вычислить целое число , двоичным представлением которого является вектор , и определить Если , то определить  ;
  3. Сгенерировать  случайное  (псевдослучайное)  целое  число , удовлетворяющее неравенству ;
  4. Вычислить точку эллиптической кривой и определить           где - координата точки . Если , то вернуться к шагу 3;
  5. Вычислить значение Если , то вернуться к шагу 3;
  6. Вычислить двоичные векторы и , соответствующие и и определить цифровую подпись как конкатенацию двух двоичных векторов.

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

Рис.2. Схема процесса формирования цифровой подписи.

 

 

 

 

 

2.2.4. Проверка цифровой подписи

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

  1. По полученной подписи вычислить целые числа и . Если выполнены неравенства , то перейти к следующему шагу. В противном случае подпись не верна;
  2. Вычислить хэш-функции полученного сообщения ;
  3. Вычислить целое число , двоичным представлением которого является вектор и определить Если , то определить  ;
  4. Вычислить значение ;
  5. Вычислить значения , ;
  6. Вычислить точку эллиптической кривой и определить , где - координата точки ;
  7. Если выполнено равенство , то подпись принимается, в противном случае - подпись неверна.

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

 

Рис.3. Схема процесса проверки цифровой подписи.

 

 

 

 

 

 

 

 

3. Электронная подпись в США

В США также как и в России электронная подпись снабжается сертификатом. Данный сертификат представляет собой электронный документ, содержащий открытый ключ, данные о владельце и об организации, выдавшей сертификат. Он подписывается электронной подписью выдавшей организации. Таким образом, создаётся возможность установления своего рода цепочки верификации: в электронном сообщении отправляются несколько документов, как то непосредственно относящийся к цели документооборота и подписанный ЭП контрагента документ и сертификат с отрытым ключом, подписанный ЭП выдавшей организации. Получатель вначале проверяет с помощью публичного, общедоступного ключа сертификат, а затем с помощью открытого ключа из сертификата проверяет основной документ. На мой взгляд, представление сертификата в виде электронного документа ускоряет документооборот, повышает его эффективность.

Другая особенность электронного документооборота в США – предложенный в 1991 г. Национальным институтом стандартизации и технологий (NIST) США стандарт электронной подписи (digital signature standard), который предполагал создание отдельных сетей с использованием в них ЭП с симметричным шифрованием. Этот стандарт был ориентирован на использование ЭП преимущественно в документообороте государственных органов, отсюда расчёт на создание отдельной сети каждого органа, доступной ограниченному кругу лиц. Симметричное шифрование, популярное на тот момент в США представляло собой единый ключ, которым обладали оба субъекта документооборота и, соответственно, оба могли подписывать и «снимать» подпись с документов. Уже тогда многим видны были перспективы ЭП, поэтому стандарт предусматривает привлечение частных компаний в сферу сетей ограниченного пользования и призывает к созданию подобных сетей компаниями, желающими участвовать в электронном документообороте с использованием ЭП. Вполне логично, что данное предложение не встретило одобрения и не прижилось в силу сопряжённых с ним значительных издержек и неудобств эксплуатации подобных сетей. Схожая норма есть и в российском 63-ФЗ, предусматривающем создание корпоративных информационных систем, которые, так же как и в США, являются относительно редкими.

 

3.1. Digital Signature Standard. Алгоритм DSA

Digital Signature Standard (DSS) — американский стандарт, описывающий алгоритм Digital Signature Algorithm (DSA), который может быть использован для генерации цифровой подписи. Цифровая подпись служит для установления изменений данных и для установления подлинности подписавшейся стороны. Получатель подписанных данных может использовать цифровую подпись для доказательства третьей стороне факта, что подпись действительно сделана отправляющей стороной.

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

3.1.1. Использование DSA

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

Хэш-функция используется при генерации подписи для получения сжатой версии данных. Полученные данные обрабатываются при помощи DSA для получения цифровой подписи. Для проверки подписи используется та же хэш-функция. Хэш-функция описана в SHS (Secure Hash Standard).

3.1.2. Параметры схемы цифровой подписи

Параметрами схемы цифровой подписи являются:

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

 

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

    1. .
    2. .
    3. .
    4. .

В соответствии с этим рекомендованы хеш-функции семейства SHA-2. Правительственные организации должны использовать один из этих вариантов, но все другие вольны выбирать. Проектирующий систему может выбрать любую хеш-функцию. Поэтому далее не будет заостряться внимание на использовании конкретной хеш-функции. Стойкость криптосистемы на основе DSA не превосходит стойкость используемой хеш-функции и стойкость пары , чья стойкость не больше стойкости каждого из чисел по отдельности. Ранее рекомендовалась длина бита. В данный момент для систем, которые должны быть стойкими до 2010 (2030) года, рекомендуется длина в 2048 (3072) бита.

 

 

 

 

 

3.1.3. Открытый и секретный ключи

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

 

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

 

3.1.4. Генерация подписи

Сигнатура сообщения состоит из пары чисел и , которые вычисляются в соответствии со следующими уравнениями:

 

 

где случайное число,  , а 160-битная строка.

Если и , то должно сгенерировано новое и вычислена новая подпись. Если подпись вычислялась правильно, вероятность того, что и очень мала.

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

Рис.4. Генерация цифровой подписи.

 

3.1.5. Проверка подписи

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

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

Пусть полученные версии соответственно, и пусть        открытый ключ. Тогда процесс проверки подписи состоит в следующем:

  1. Проверяющий должен проверить, что и . Если любое условие нарушено, то подпись должна быть отклонена, как недействительная. Если условия неравенств выполнены, производятся следующие вычисления:
  2. Вычисление 
  3. Вычисление   .
  4. Вычисление   .
  5. Вычисление   .
Сравнение стандартов электронной подписи РФ и США