Отечественный стандарт цифровой подписи ГОСТ Р 34.10-2001 — КиберПедия 

История развития пистолетов-пулеметов: Предпосылкой для возникновения пистолетов-пулеметов послужила давняя тенденция тяготения винтовок...

Семя – орган полового размножения и расселения растений: наружи у семян имеется плотный покров – кожура...

Отечественный стандарт цифровой подписи ГОСТ Р 34.10-2001

2017-07-01 477
Отечественный стандарт цифровой подписи ГОСТ Р 34.10-2001 0.00 из 5.00 0 оценок
Заказать работу

 

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

Принципиальное отличие нового стандарта от предыдущего ГОСТ Р 34.10-94 состоит в том, что все вычисления при генерации и проверке ЭЦП в новом алгоритме производятся в группе точек эллиптической кривой, определенной над конечным полем Fp.

Принадлежность точки (пары чисел х и у) к данной группе определяется следующим соотношением:

 

, (4.33)

 

где модуль системы р является простым числом, большим 3, а а и b являются константами, удовлетворяющими следующим соотношениям: a, b Î Fp и не сравнимо с нулем по модулю р.

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

 

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

V 256 – множество всех двоичных векторов длиной 256 бит;

V¥ – множество всех двоичных векторов произвольной конечной длины;

Z – множество всех целых чисел;

р – простое число, р > 3;

Fp – конечное простое поле, представляемое как множество из р целых чисел {0, 1,..., р -1};

b (mod р) – минимальное неотрицательное число, сравнимое с b по модулю р;

М – сообщение пользователя, М Î V¥;

– конкатенация (объединение) двух двоичных векторов;

a, b – коэффициенты эллиптической кривой;

т – порядок группы точек эллиптической кривой;

q – порядок подгруппы группы точек эллиптической кривой;

– нулевая точка эллиптической кривой;

Р – точка эллиптической кривой порядка q;

d – целое число – ключ подписи;

Q – точка эллиптической кривой – ключ проверки;

w – цифровая подпись под сообщением М.

 

Общие положения. Механизм цифровой подписи реализуется посредством двух основных процессов:

¨ формирование цифровой подписи;

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

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

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

Параметры схемы ЭЦП – элементы данных, общие для всех субъектов схемы цифровой подписи, известные или доступные всем этим субъектам.

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

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

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

Схематическое представление подписанного сообщения показано на рис. 4.23.

Поле «Текст», показанное на рис. 4.23 и дополняющее поле «Цифровая подпись», может, например, содержать идентификаторы субъекта, подписавшего сообщение, и/или метку времени.

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

 

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

 

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

Цифровая подпись, представленная в виде двоичного вектора длиной 512 бит, должна вычисляется и проверяется с помощью определенных наборов правил:

¨ простое число р – модуль эллиптической кривой, р > 2255. Верхняя граница данного числа должна определяться при конкретной реализации схемы цифровой подписи;

¨ эллиптическая кривая Е, задаваемая своим инвариантом J (Е) или коэффициентами a, b Î Fp;

¨ целое число т – порядок группы точек эллиптической кривой Е.

¨ простое число q – порядок циклической подгруппы группы точек эллиптической кривой E, для которого выполнены следующие условия:

 

(4.33)

 

¨ точка эллиптической кривой Е с координатами (х, у), удовлетворяющая равенству qP = 0;

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

 

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

¨ ключом подписи – целым числом d, удовлетворяющим неравенству ;

¨ ключом проверки – точкой эллиптической кривой Q с координатами , удовлетворяющей равенству dP = Q.

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

¨ должно быть выполнено условие для всех целых t = 1, 2,..., В, где В удовлетворяет неравенству В ≥ 31;

¨ должно быть выполнено неравенство ;

¨ инвариант кривой должен удовлетворять условию J (E) ≠ 0 или 1728.

 

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

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

 

, (4.34)

 

где , i = 0 ÷ 256, равно либо 1, либо 0. Будем считать, что число соответствует двоичному вектору , если выполнено равенство

 

, (4.35)

 

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

 

, (4.36)

 

, (4.37)

 

тогда их объединение имеет вид

 

(4.38)

 

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

 

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

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

 

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

Шаг 1. Вычислить хэш-код сообщения М: .

Шаг 2. Вычислить целое число a, двоичным представлением которого является вектор , и определить значение . Если е = 0, то определить е = 1.

Шаг 3. Сгенерировать случайное (псевдослучайное) целое число k, удовлетворяющее неравенству 0 < k < q.

Шаг 4. Вычислить точку эллиптической кривой С = kP и определить , где – координата точки С. Если r = 0, то вернуться к шагу 3.

Шаг 5. Вычислить значение . Если s = 0, то вернуться к шагу 3.

Шаг 6. Вычислить двоичные векторы и , соответствующие r и s, и определить цифровую подпись как конкатенацию двух двоичных векторов.

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

 

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

Шаг 1. По полученной подписи w вычислить целые числа r и s. Если выполнены неравенства 0 < r < q, 0 < s < q, то перейти к следующему шагу. В противном случае подпись неверна.

Шаг 2. Вычислить хэш-код полученного сообщения М: .

Шаг 3. Вычислить целое число a, двоичным представлением которого является вектор , и определить . Если е = 0, то определить е = 1.

Шаг 4. Вычислить значение .

Шаг 5. Вычислить значения , .

Шаг 6. Вычислить точку эллиптической кривой и определить , где х -координата точки С.

Шаг 7. Если выполнено равенство R = r, то подпись принимается, в противном случае подпись неверна.

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

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

 

Управление криптоключами

 

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

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

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

К распределению ключей предъявляются следующие требования:

· оперативность и точность распределения;

· конфиденциальность и целостность распределяемых ключей.

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

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

2. Прямой обмен ключами между пользователями сети.

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

Задача распределения ключей сводится к построению такого протокола распределения ключей, который обеспечивает:

· взаимное подтверждение подлинности участников сеанса;

· подтверждение достоверности сеанса;

· использование минимального числа сообщений при обмене ключами.

Характерным примером реализации первого подхода является система аутентификации и распределения ключей Kerberos. Система Kerberos используется в системах клиент/сервер для аутентификации и обмена ключевой информацией, предназначенной для установления защищенного канала связи между абонентами, работающими как в локальной сети, так и в глобальных. Данный протокол встроен в качестве основного протокола аутентификации в Microsoft Windows и Unix.

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

Для решения этой проблемы можно применить два основных способа:

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

2. Использование системы открытого распределения ключей Диффи-Хеллмана.

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

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

 


Поделиться с друзьями:

История развития пистолетов-пулеметов: Предпосылкой для возникновения пистолетов-пулеметов послужила давняя тенденция тяготения винтовок...

Индивидуальные очистные сооружения: К классу индивидуальных очистных сооружений относят сооружения, пропускная способность которых...

Семя – орган полового размножения и расселения растений: наружи у семян имеется плотный покров – кожура...

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



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.041 с.