Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Щерба В.В. Криптографическая защита информации

.pdf
Скачиваний:
58
Добавлен:
07.01.2021
Размер:
931.06 Кб
Скачать

91

Л е к ц и я 10. ЦИФРОВЫЕ ПОДПИСИ

Общие положения

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

Цифровая подпись позволяет решить следующие три задачи:

осуществить аутентификацию источника сообщения,

установить целостность сообщения,

обеспечить невозможность отказа от факта подписи конкретного сообщения.

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

Для реализации схемы цифровой подписи необходимы два алгоритма:

алгоритм вычисления цифровой подписи,

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

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

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

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

создания подписанного сообщения, т. е. нахождения хотя бы од-

ного сообщения с правильным значением подписи;

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

92

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

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

кто должен нести ответственность в случае, если подписанные сделки не состоятся;

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

какова ответственность уполномоченного по сертификатам в случае, если открытый ключ будет сфальсифицирован;

какова ответственность владельца секретного ключа в случае его утраты;

кто несет ответственность за плохую реализацию системы в случае повреждения или разглашения секретного ключа;

93

– каков порядок разрешения споров и т. п.

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

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

1)схемы на основе систем шифрования с открытыми ключами;

2)схемы со специально разработанными алгоритмами вычисления

ипроверки подписи;

3)схемы на основе симметричных систем шифрования.

Цифровые подписи на основе шифрсистем с открытыми ключами

Идея использования систем шифрования с открытыми ключами для построения систем цифровой подписи как бы заложена в постановке задачи. Действительно, пусть имеется пара преобразований (Е, D), первое из которых зависит от открытого ключа, а второе – от секретного. Чтобы вычислить цифровую подпись S для сообщения, владелец секретного ключа может применить к сообщению М второе преобразование D : S = D(М). В таком случае вычислить подпись может только владелец секретного ключа, в то время как проверить равенство Е(S) = М может каждый. Основными требованиями к преобразованиям Е и D являются:

выполнение равенства М = Е(D(М)) для всех сообщений M;

невозможность вычисления значения D(М) для заданного сообщения М без знания секретного ключа.

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

схемами цифровой подписи с восстановлением текста.

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

94

писанные данные, чем делать наоборот, т. е. подписывать шифрованные данные, поскольку в первом случае противник получит только шифртекст, а во втором – и открытый, и шифрованный тексты.

Очевидно, что рассмотренная схема цифровой подписи на основе пары преобразований Еncryption и Dtcryption удовлетворяет требованию невозможности подделки, в то время как требование невозможности создания подписанного сообщения не выполнится: для любого значения S электронной подписи каждый может вычислить значение М = Е(S) и тем самым получить подписанное сообщение. Требование невозможности подмены сообщения заведомо выполняется, так как преобразование Е взаимно однозначно.

Для защиты от создания противником подписанного сообщения можно применить некоторое взаимно-однозначное отображение R: М → M’, вносящее избыточность в представление исходного сообщения, например, путем увеличения его длины, а затем уже вычислять подпись S = D(M’). В этом случае противник, подбирая S и вычисляя значения M’ = Е(S), будет сталкиваться с проблемой отыскания таких значений M’, для которых существует прообраз М. Если отображение R выбрано таким, что число возможных образов M’ значительно меньше числа всех возможных последовательностей той же длины, то задача создания подписанного сообщения будет сложной.

Другой подход к построению схем цифровых подписей на основе систем шифрования с открытым ключом состоит в использовании бесключевых хэш-функций. Для заданного сообщения М сначала вычисляется значение ХФ h(М), а затем уже значение подписи S = D(h(М)). Ясно, что в таком случае по значению подписи уже нельзя восстановить сообщение. Поэтому подписи необходимо передавать вместе с сообщениями. Такие подписи получили название цифровых подписей с дополнением. Заметим, что системы подписи, построенные с использованием бесключевых хэш-функций, заведомо удовлетворяют всем требованиям, предъявляемым к цифровым подписям. Например, невозможно создание сообщения с известным значением подписи, поскольку бесключевая хэш-функция должна быть однонаправленной.

В качестве системы шифрования с открытыми ключами можно использовать, например, систему RSA.

Одноразовые цифровые подписи

Рассмотренные системы цифровой подписи, основанные на сложности задач разложения целых чисел на множители, вычисления

95

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

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

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

Подписи, созданные с использованием стандартов ГОСТ 3410 или DSS, называются рандомизированными, так как для одного и того же сообщения с использованием одного и того же закрытого ключа каждый раз будут создаваться разные подписи (r, s), поскольку каждый раз будет использоваться новое значение k. Подписи, созданные с применением алгоритма RSA, называются детерминированными, так как для одного и того же сообщения с использованием одного и того же закрытого ключа каждый раз будет создаваться одна и та же подпись.

Контрольные вопросы

1.Что общего между обычной и цифровой подписями? Чем они различаются?

2.Какие задачи позволяет решить цифровая подпись?

3.В чем заключается принципиальная сложность в практическом применении систем цифровой подписи?

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

ицифровой подписи?

96

Л е к ц и я 11. УПРАВЛЕНИЕ КРИПТОГРАФИЧЕСКИМИ

КЛЮЧАМИ

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

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

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

1. Управление ключами.

2. Протоколы распределения ключей.

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

– распределения ключей с использованием симметричных криптографических систем;

– распределения ключей с использованием асимметричных криптографических систем;

97

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

предварительного распределения ключей;

схемами разделения секрета;

распределения ключей для телеконференций.

Цель и задачи распределения ключей

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

компрометация секретных ключей;

компрометация аутентичности секретных или открытых ключей;

несанкционированное использование ключей.

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

включение пользователей в криптографическую систему;

выработка, распределение и установка ключей;

контроль использования ключей;

смена и уничтожение ключей;

архивирование, хранение и восстановление ключей.

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

1.Уровень главного ключа. Защита главного ключа системы осуществляется с помощью физических средств; он используется для шифрования ключей следующего уровня.

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

3.Уровень ключей для шифрования данных.

98

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

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

ограничения времени криптоанализа;

ограничения размера ущерба при компрометации ключа.

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

1.Ключи с длительным сроком действия. К ним обычно относятся главный ключ, ключи для шифрования ключей, ключи для шифрования хранимых данных.

2.Ключи с коротким сроком действия, к которым часто относят ключи, используемые в телекоммуникационных приложениях.

Следует отметить, что термин «короткий срок действия» относится только к периоду использования ключа, а не к интервалу времени,

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

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

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

2.Инициализация. На этой стадии пользователь устанавливает необходимые аппаратные и/или программные средства в соответствии с установленными правилами и рекомендациями.

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

99

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

4.Установка ключей. На этой стадии осуществляется ввод ключей в оборудование. Часто в процессе установки ключей используется предварительная ключевая информация либо для непосредственной установки в оборудование, либо для организации защищенного канала связи для передачи ключевой информации.

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

6.Использование ключей.

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

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

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

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

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

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

– сервер имен пользователей;

– регистрационный центр обеспечивает включение пользователей

всеть защищенной связи и передачу соответствующей ключевой информации;

100

центр производства ключей;

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

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

Протоколы распределения ключей

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

передачи сгенерированных ключей;

совместной выработки общих ключей;

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

Рассмотрим примеры наиболее распространенных протоколов каждой группы.

Распределение ключей с использованием симметричных криптографических систем

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

Двусторонние протоколы передачи ключей

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

Пусть пользователи А и В имеют общий секретный ключ kAB. Тогда для передачи пользователю В нового значения секретного ключа k пользователю А достаточно осуществить передачу:

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]