Автор: Пользователь скрыл имя, 27 Декабря 2010 в 02:00, реферат
Электро́нная цифрова́я по́дпись (ЭЦП) — реквизит электронного документа, позволяющий установить отсутствие искажения информации в электронном документе с момента формирования ЭЦП и проверить принадлежность подписи владельцу сертификата ключа ЭЦП. Значение реквизита получается в результате криптографического преобразования информации с использованием закрытого ключа ЭЦП.
Назначение и применение ЭЦП
Цифровая подпись предназначена для аутентификации лица, подписавшего электронный документ.
Управление открытыми ключами
Важной проблемой всей криптографии с открытым ключом, в том числе и систем ЭЦП, является управление открытыми ключами. Так как открытый ключ доступен любому пользователю, то необходим механизм проверки того, что этот ключ принадлежит именно своему владельцу. Необходимо обеспечить доступ любого пользователя к подлинному открытому ключу любого другого пользователя, защитить эти ключи от подмены злоумышленником, а также организовать отзыв ключа в случае его компрометации.
Задача защиты ключей от подмены решается с помощью сертификатов. Сертификат позволяет удостоверить заключённые в нём данные о владельце и его открытый ключ подписью какого-либо доверенного лица. Существуют системы сертификатов двух типов: централизованные и децентрализованные. В децентрализованных системах путём перекрёстного подписывания сертификатов знакомых и доверенных людей каждым пользователем строится сеть доверия. В централизованных системах сертификатов используются центры сертификации, поддерживаемые доверенными организациями.
Центр сертификации формирует закрытый ключ и собственный сертификат, формирует сертификаты конечных пользователей и удостоверяет их аутентичность своей цифровой подписью. Также центр проводит отзыв истекших и компрометированных сертификатов и ведет базы выданных и отозванных сертификатов. Обратившись в сертификационный центр, можно получить собственный сертификат открытого ключа, сертификат другого пользователя и узнать, какие ключи отозваны.
Хранение закрытого ключа
Смарт-карта и USB-брелоки eToken
Закрытый ключ является наиболее уязвимым компонентом всей криптосистемы цифровой подписи. Злоумышленник, укравший закрытый ключ пользователя, может создать действительную цифровую подпись любого электронного документа от лица этого пользователя. Поэтому особое внимание нужно уделять способу хранения закрытого ключа. Пользователь может хранить закрытый ключ на своем персональном компьютере, защитив его с помощью пароля. Однако такой способ хранения имеет ряд недостатков, в частности, защищенность ключа полностью зависит от защищенности компьютера, и пользователь может подписывать документы только на этом компьютере.
В настоящее время существуют следующие устройства хранения закрытого ключа:
Кража или потеря одного из таких устройств хранения может быть легко замечена пользователем, после чего соответствующий сертификат может быть немедленно отозван.
Наиболее защищенный способ хранения закрытого ключа — хранение на смарт-карте. Для того, чтобы использовать смарт-карту, пользователю необходимо не только её иметь, но и ввести PIN-код, то есть, получается двухфакторная аутентификация. После этого подписываемый документ или его хэш передается в карту, её процессор осуществляет подписывание хеша и передает подпись обратно. В процессе формирования подписи таким способом не происходит копирования закрытого ключа, поэтому все время существует только единственная копия ключа. Кроме того, произвести копирование информации со смарт-карты сложнее, чем с других устройств хранения.
В соответствии с
законом «ОБ ЭЛЕКТРОННОЙ
Введенный в 1999г. стандарт
Республики Беларусь СТБ 1176.2-99 "Информационная
технология. Защита информации. Процедуры
выработки и проверки электронной
цифровой подписи" базируется на
схеме ЭЦП Шнорра.
Схема Шнорра — протокол идентификации, который является альтернативой протоколам Фиата-Шамира и Гиллу-Кискатра. Надежность алгоритма основывается на сложности вычисления дискретного логарифма. Данный алгоритм позволяет проводить предварительные вычисления, что удобно при малых вычислительных ресурсах. Нужно отметить, что в протоколе передается только три сообщения. Это было сделано специально для уменьшения взаимодействия в сетях с низкой пропускной способностью.
Выбор параметров системы
Выбирается простое p и простое q, такое, что q | p − 1 (, )
Выбирается элемент β, такой, что βq = 1(mod p)
Параметры (p,q,β) свободно публикуются
Выбирается параметр t, (t-
Выбор параметров доказывающей стороны
Пусть каждая доказывающая сторона A выбирает секрет a (закрытый ключ), такой, что и вычисляет v = β − a(mod p), где v-открытый ключ
Передаваемые сообщения
A B : x = βr(mod p)
A B : e (где )
A B : y = (a * e + r)(mod q)
Основные действия
A выбирает случайное r (), вычисляет x = βr(mod p) и отсылает x стороне B (доказательство)
Сторона B отсылает случайное e из диапазона [1,q − 1] (вызов)
A возвращает B y = (a * e + r)(mod q)
B проверяет, действительно ли z=x, где z = βy * ve(mod p) и, если это так, то идентификация считается успешной.
Выбирается простое р=23 и простое q=11 (q | p − 1)
Вычисляется β из условия βq = 1(mod p), в данном случае β=3
Тогда системными параметрами будут (23, 11, 3), a t=3
Сторона А выбирает закрытый ключ a=7 и вычисляет открытый ключ v = β − a(mod p) = 12
Сторона А случайным образом выбирает доказательство r=8 и отсылает x = βr(mod p) = 6 стороне B
В отсылает A вызов e=7
A отсылает B y = (a * e + r)(mod q) = 2
B вычисляет z = βy * ve(mod p) = 6 и идентифицирует A, так как z=x
Модификация цифровой подписи
Пусть сторона A хочет отправить сообщение М стороне B; причем B должен убедиться в том, что сообщение пришло именно от A. Тогда:
A выбирает случайное r (), вычисляет x = βr(mod p)
Пусть имеется однонаправленная хеш-
Далее A вычисляет y = (ae + r)(mod q). Значения e и y являются цифровой подписью и отсылаются B.
B вычисляет z = βy * ve(mod p). Затем z и полученное сообщение M' пропускаются через хеш-функцию: e' = H(M',z). Если e = e', то подпись считается верной.
Параметры. При выработке и проверке подписи используются l-битовое простое число p и r-битовое простое число q, q | (p-1). Допустимые значения указаны в таблице 1. Применяется определяемая СТБ 1176.1 функция хеширования h, параметр L которой устанавливается равным (r-1).
Таблица 1. Допустимые значения параметров r и l.
|
Часть преобразований
стандарта выполняется в группе
G, определяемой множеством Bp = {1,2,
...,p-1 } и операцией *:
u * v = uvR-1 ( mod p),
где R = 2l+2. Использование операции
* вместо обычного умножения по модулю
p упрощает применение алгоритма. Далее,
u(m) - m-я степень числа u из Bp как
элемента G. В стандарте приведены алгоритмы
генерации чисел p,q и элемента a из Bp,
имеющего порядок q в группе G. Числа p,q,a
являются долговременными параметрам
СТБ 1176.2-99, едиными для группы пользователей.
Входные данные.
Всякое сообщение
M, подпись к которому вырабатывается
или проверяется, задается последовательностью
байтов. Если t- n-разрядное число по основанию
28 = 256, то есть
t = t0 (256)0+..+tn-1 (256)n-1,
причем 0 <= ti <256, tn-1 неравно
0,
то t||M --- сообщение, полученное вставкой
байтов t0,t1,..,tn-1 в начало
M.
Выработка подписи.
При выработке подписи S к сообщению M используется личный ключ x, 0<x<q. Выполняются следующие шаги.
Проверка подписи.
При проверке подписи S к сообщению M используется открытый ключ y = a(X). Алгоритм проверки подписи состоит из следующих шагов.
Приложение А. Закон Республики Беларусь «Об электронном документе и электронной цифровой подписи»
ЗАКОН РЕСПУБЛИКИ БЕЛАРУСЬ
28 декабря 2009 г. № 113-З
Об электронном документе и электронной цифровой подписи
Принят
Палатой представителей 4
декабря 2009 года
Одобрен Советом Республики 11
декабря 2009 года
Настоящий
Закон направлен на установление
правовых основ применения электронных
документов, определение основных требований,
предъявляемых к электронным
документам, а также правовых условий
использования электронной
ГЛАВА
1
ОБЩИЕ ПОЛОЖЕНИЯ
Статья 1. Основные термины, используемые в настоящем Законе, и их определения
Для целей настоящего Закона используются следующие термины и их определения:
карточка открытого ключа проверки электронной цифровой подписи (далее – карточка открытого ключа) – документ на бумажном носителе, содержащий значение открытого ключа проверки электронной цифровой подписи (далее – открытый ключ), информацию, подтверждающую его принадлежность определенным организации или гражданину, в том числе индивидуальному предпринимателю (далее – физическое лицо), а также содержащий иную информацию, предусмотренную настоящим Законом и иными актами законодательства Республики Беларусь;
Информация о работе Электронная цифровая подпись, СТБ 1176.2-99