Загрузил Владимир Тоискин

Лекция 23. Электронная подпись

реклама
Теоретические основы информатики
Лекция 23. Электронная подпись
1. Общие принципы использования электронной подписи
2. Вычисление и проверка подлинности электронной
подписи
1. Необходимость криптографического контроля целостности
пересылаемого по открытым сетям электронного документа появилась в связи с задачей идентификации источника и проверки
достоверности полученной информации (как её содержания, так
и автора). B основе такого контроля лежит понятие электронной
цифровой подписи (ЭЦП, в настоящее время — ЭП). ЭП — это
особый реквизит электронного документа, который позволяет установить отсутствие искажения информации в
нем с момента формирования ЭП и подтвердить принадлежность ЭП владельцу. ЭП представляет собой уникальную
последовательность символов, полученную в результате криптографического преобразования данных электронного документа,
которая добавляется к исходному документу. ЭП используется в
качестве аналога собственноручной подписи.
Применение электронной подписи обеспечивает:
• удостоверение источника документа;
• защиту от изменений документа;
• невозможность отказа от авторства;
• значительное сокращение времени обмена документами;
• усовершенствование и удешевление процедур подготовки, доставки, учёта и хранения документов;
• возможность использования единой и персональной ЭП при
подготовке различных документов;
• юридическую силу электронным документам наравне с бумажными, подписанными собственноручной подписью.
При построении электронной подписи используются два алгоритма. Первый уже был рассмотрен выше — это криптосистема с открытым ключом; при этом секретный ключ хранится у
источника (автора), подписывающего документ; открытый (общедоступный) ключ позволяет получателю(лям) проверить
подлинность подписи и сохранность документа.
Использование другого алгоритма — хеширования (hashing)
— обусловлено тем, что подписываемые документы могут иметь
достаточно большой объем и шифровать его полностью по схеме
с открытым ключом оказывается нерационально
1
Теоретические основы информатики
(ранее указывалось, что алгоритмы ассиметричного шифрования
относительно медленны и требуют значительных вычислительных ресурсов). Используемое решение состоит в том, что по информации исходного документа с помощью специальных криптографических преобразований посредством односторонних функций — они называются хеш-функциями — вычисляют так называемый хеш документа. Хеш — это выходная битовая строка
фиксированной длины, получаемая после обработки документа
независимо от его объема. Хеш-функция работает таким образом, что обеспечивает связь всех битов исходных данных с битами хеша. B результате изменение хотя бы одного бита переданной информации сказывается на битах хеша.
Далее на основании хеша и секретного ключа формируется
электронная подпись, которая передаётся вместе с документом. Преимущество такого подхода в том, что объем хеша исходного документа во много раз меньше, чем сам документ, а
алгоритмы вычисления хеша являются более быстрыми, чем алгоритмы шифрования.
На приёмном конце осуществляются две операции: (1) по полученной ЭП и с помощью открытого ключа определяется хеш
отправленного документа; (2) информация пришедшего документа обрабатывается той же самой (что у отправителя) хеш-функцией и вычисляется его хеш. B случае совпадения обоих хешей
делается заключение о сохранности документа.
Ðèñ. 5.
Схема использования электронной подписи
Двумя наиболее распространёнными хеш-функциями являются MD5,
генерирующая 128-битную контрольную последовательность, и SHA, которая производит последовательность длиной 160 бит.
2
Теоретические основы информатики
На рис. 5 показана схема взаимодействия отправителя и
получатель с применением хеш-преобразований и ЭП.
2. Вычисление и проверка подлинности
электронной подписи
Проследим весь цикл создания и использования электронной подписи. Как уже указывалось, генерация ЭП начинается
с предварительного хеширования — вычисления некоторой
контрольной суммы S от числовых кодов (wi ) всех знаков сообщения. Хеш-функции могут быть различными — мы используем достаточно простую хеш-функцию квадратичной свертки,
которая позволяет последовательно вычислять значения суммы
при обработке i-го знака сообщения (Si ) по значению на предыдущем шаге и числовому коду знака i:
Si = (Si−1 + wi )2 mod n,
где S0 = 0, а n — простое число, входящее в оба ключа∗ . После
обработки последнего символа формируется хеш всего сообщения
S.
Вычисление ЭП P выполняется по значению S с помощью
секретного ключа d:
P = S d mod n.
ЭП присоединяется к исходному сообщению M — образуется новое сообщение P M , которое и пересылается.
Процедура проверки подлинности ЭП и самого сообщения
после его получения заключается в следующем.
1. От полученного сообщения отделяется ЭП.
2. Открытым ключом отправителя по ЭП находится хеш
переданного сообщения по формуле
S ′′ = P e mod n.
3. Вычисляется хеш S ′ полученного сообщения по указанной
выше формуле.
4. Сравнивается S ′ и S ′′ ; ЭП признается подлинной, если
значения хешей совпадают.
Таким образом, c помощью секретного ключа {d, n} электронная подпись создается, присоединяется к электронному
документу и передается вместе с ним. Открытым ключом {e,
n} проверяются подлинность подписи и сохранность документа.
Алгоритм генерации ключей может быть принят, например, тем же,
что в рассмотренной выше криптосистеме RSA.
3
Теоретические основы информатики
Ïðèìåð 7.4.
На основании описанных алгоритмов требуется генерировать электронную подпись на сообщении ИНФОРМАТИКА. Значения ключей возьмем из
примера 7.3: p = 11, q = 3, n = 33, Ф(33) = 20, открытый {7, 33}, секретный
{3, 33}.
Числовые коды знаков исходного текста пусть соответствуют их порядковым номерам в алфавите:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
АБВГДЕЖЗИ Й К Л М Н О П Р С Т У Ф Х Ц Ч ШЩ Ь Ы Э Ю Я
Проводим вычисления:
№ Знак Код знака wi
0
1
2
3
4
5
6
7
8
9
10
11
И
Н
Ф
О
Р
М
А
Т
И
К
А
09
14
21
15
17
13
01
19
09
11
01
Хеш
ЭП
Значения хеш-функции
S0 = 0
S1 = (S0 + w1 )2 mod n = (0 + 9)2 mod 33 = 15
S2 = (S1 + w2 )2 mod n = (15 + 14)2 mod 33 = 16
S3 = (S2 + w3 )2 mod n = (16 + 21)2 mod 33 = 16
S4 = (S3 + w4 )2 mod n = (16 + 15)2 mod 33 = 4
S5 = (S4 + w5 )2 mod n = (4 + 17)2 mod 33 = 12
S6 = (S5 + w6 )2 mod n = (12 + 13)2 mod 33 = 31
S7 = (S6 + w7 )2 mod n = (31 + 1)2 mod 33 = 1
S8 = (S7 + w8 )2 mod n = (1 + 19)2 mod 33 = 4
S9 = (S8 + w9 )2 mod n = (4 + 9)2 mod 33 = 4
S10 = (S9 + w10 )2 mod n = (4 + 11)2 mod 33 = 27
S11 = (S10 + w11 )2 mod n = (27 + 1)2 mod 33 = 25
S = 25
P = S d mod n = 253 mod 33 = 16
Таким образом, будет отправлено сообщение с ЭП:
16 09 14 21 15 17 13 01 19 09 11 01
Пусть получателю пришло сообщение
16 09 14 21 15 17 13 01 19 09 11 09
и он желает проверить его истинность. С этой целью осуществляется последовательность операций:
№
0
1
2
3
4
Код знака wi
Значение хеш-функции
Знак
Хеш′′
Из ЭП: S ′′ = P e mod n = 167 mod 33 = 25
S0′ = 0
S1′ = (S0′ + w1 )2 mod n = (0 + 9)2 mod 33 = 15
S2′ = (S1′ + w2 )2 mod n = (15 + 14)2 mod 33 = 16
S3′ = (S2′ + w3 )2 mod n = (16 + 21)2 mod 33 = 16
S4′ = (S3′ + w4 )2 mod n = (16 + 15)2 mod 33 = 4
И
Н
Ф
О
09
14
21
15
4
Теоретические основы информатики
№
Код знака wi
Значение хеш-функции
Знак
5
6
7
8
9
10
11
17
13
01
19
09
11
09
Хеш′
S5′ = (S4′ + w5 )2 mod n = (4 + 17)2 mod 33 = 12
S6′ = (S5′ + w6 )2 mod n = (12 + 13)2 mod 33 = 31
S7′ = (S6′ + w7 )2 mod n = (31 + 1)2 mod 33 = 1
S8′ = (S7′ + w8 )2 mod n = (1 + 19)2 mod 33 = 4
S9′ = (S8′ + w9 )2 mod n = (4 + 9)2 mod 33 = 4
′ = (S ′ + w )2 mod n = (4 + 11)2 mod 33 = 27
S10
10
9
′ = (S ′ + w )2 mod n = (27 + 9)2 mod 33 = 9
S11
11
10
S′ = 9
Р
М
А
Т
И
К
И
Вывод: S ′ ̸= S ′′ , следовательно, полученный документ не совпадает с
исходным.
В заключении необходимо отметить, что желающему использовать ЭП необходимо получить сертификат электронной
подписи — документ, который подтверждает принадлежность открытого ключа (ключа проверки) ЭП владельцу сертификата.
Выдаются сертификаты удостоверяющими центрами.
Удостоверяющий центр — это юридическое лицо, согласно
Закону «Об электронно-цифровой подписи» выполняющее следующие функции:
• генерацию ключевой пары — из набора возможных случайным образом выбирается секретный ключ и вычисляется соответствующий ему открытый ключ; при этом гарантируется
сохранение в тайне секретного ключа ЭП;
• выдача по запросу лица или организации, приостановка, возобновление и аннулирование действия идентифицирующего
сертификата открытого ключа подписи;
• подтверждение подлинности электронной цифровой подписи
в электронном документе в отношении выданных им сертификатов ключей подписей.
Таким образом, владелец получает секретный (закрытый)
ключ ЭП, доступ к которому имеет только он сам и который
позволяет генерировать электронную подпись и прикреплять ее
к электронному документу. Открытый ключ ЭП однозначно связан с секретным ключом и предназначен для проверки подлинности подписи получателями документа.
Сертификат можно рассматривать в качестве дополнительного средства подтверждения подлинности документа и подписи
на нем автора.
5
Теоретические основы информатики
Контрольные вопросы и задания к лекциям 21-23
1. B чем схожесть и различие помехоустойчивого кодирования и шифрования сообщения?
2. Предложите алгоритм шифрования-дешифрования методом замены,
отличный от тех, что описаны в тексте главы.
3. Предложите алгоритм шифрования-дешифрования с использованием книги (как шифровальной таблицы).
4. Предложите алгоритм шифрования-дешифрования, в котором для
получения одного символа шифротекста используются несколько символов
исходного текста.
5. Предложите алгоритм шифрования-дешифрования на основе кодов
ASCII.
6. Предложите шифр, основанный на преобразовании отдельных битов
символов текста, и опишите его алгоритм.
7. Предложите алгоритм дешифрования крипрограммы, полученной
методом блочной перестановки, описанным в п. 7.2.2.2.
8. Напишите программу работы шифратора-дешифратора по введенному тексту (криптограмме) и ключу для какого-либо алгоритма замены.
9. Напишите программу работы шифратора-дешифратора по введенному тексту (криптограмме) и ключу для какого-либо алгоритма перестановки.
10. Напишите программу работы шифратора-дешифратора по методу
гаммирования; битовая гамма должна формироваться программой случайным образом.
11. Что такое криптостойкость? Какими факторами она определяется?
12. Каким образом из теории информации Шеннона можно получить
условие абсолютной криптостойкости?
13. B чем отличия симметричных и асимметричных криптосистем? В
чем их достоинства и недостатки?
14. Каков принцип работы криптосистемы с открытым ключом?
15. На конкретном примере продемонстрируйте шифрование текста с
помощью алгоритма RSA.
16. B чем достоинства и недостатки применения электронной подписи?
17. Поясните схему организации и порядок использования электронной
подписи.
18. Поясните, имеет ли смысл подписывать электронной подписью документ без его предварительного шифрования?
19. Предложите пример создания электронной подписи к сообщению
на основании ключей, использованных в задании 15.
20. Проверьте подлинность полученного сообщения и ЭП из задания 19.
6
Скачать