Цель лекции: первоначальное знакомство с принципами шифрования с открытым ключом.
При использовании шифрования с закрытым ключом возникают две достаточно серьезные проблемы. Первая проблема заключается в изготовлении секретных ключей и доставке их участникам информационного обмена. При большом количестве и территориальной распределенности участников информационного обмена, использующих каналы связи общего назначения, например, обычную или электронную почту, часто бывает сложно гарантировать безопасность доставки такого ключа и его подлинность. В учебного пособия проблема распределения ключей для симметричного шифрования была подробно рассмотрена.
Второй проблемой является обеспечение подлинности партнеров при электронном общении. Развитие деловой переписки и электронной коммерции требует наличия методов, при использовании которых невозможно было бы подменить кого-либо из участников обмена. Получатель корреспонденции должен иметь возможность удостовериться в подлинности документа, а создатель электронного послания должен быть в состоянии доказать свое авторство получателю или третьей стороне. Следовательно, электронные документы должны иметь аналог обычной подписи.
Многие криптографы работали над решением этих проблем, в результате чего во второй половине семидесятых годов ХХ века были разработаны принципиально новые подходы, позволяющие решить перечисленные выше (и некоторые другие) задачи. Основой послужило открытие так называемых асимметричных криптоалгоритмов, или методов, в которых процедуры прямого и обратного криптопреобразования выполняются на различных ключах и не имеют между собой очевидных и легко прослеживаемых связей, которые позволили бы по одному ключу определить другой.
В настоящее время
Алгоритмы шифрования с открытым ключом можно использовать для решения, как минимум, трех задач:
Все алгоритмы шифрования с открытым ключом основаны на использовании так называемых
Для
х, легко вычислить f(x),f(x) трудно найти x,x.В 70-х годах ХХ века Диффи и Хеллман предложили принцип шифрования, основанный на использовании двух разных ключей, хотя и связанных между собой, но устроенных так, что вычислить по одному из них (открытому) другой (закрытый) практически невозможно. Этот принцип может быть использован для решения проблемы снабжения пользователей ключами шифрования/расшифрования, а точнее – для устранения этой проблемы. Согласно Диффи и Хеллману предварительно распределяемые закрытые ключи вообще не должны использоваться для шифрования данных (так как секрет, который известен более чем одному человеку, – уже не секрет). Закрытый ключ должен быть известен только одному лицу – его владельцу. Такой принцип использования
Согласно этому принципу, любой желающий может зашифровать сообщение открытым ключом. Расшифровать сообщение сможет только владелец закрытого ключа. Пусть, например, пользователи А и Б, имеющие возможность обмениваться электронными сообщениями, используют схему открытого шифрования. Предположим, пользователь А должен передать секретное сообщение пользователю Б так, чтобы никто другой не смог его прочитать. Для этого необходимо выполнить следующие действия:
U по любому каналу связи, например, по электронной почте.М полученным открытым ключом U и получает зашифрованное сообщение С.С пересылается пользователю Б.С своим закрытым ключом R.Если операцию шифрования обозначить как .
(рис 9.1) Схема открытого шифрованияИспользование открытого шифрования снимает проблему распределения ключей. Раньше пользователи перед обменом зашифрованными данными должны были каким-либо образом по закрытому каналу связи согласовывать используемый секретный ключ. Для этого они могли встретиться лично или использовать курьера. Если один из пользователей считал нужный изменить ключ, он должен был передать новый ключ своему абоненту. Криптография с открытыми ключами все упрощает. Теперь абоненты не должны заботиться о возможности компрометации секретного ключа. Пользователи системы связи могут совершенно свободно обмениваться открытыми ключами и зашифрованными ими сообщениями. Если пользователь надежно хранит свой закрытый ключ, никто не сможет прочитать передаваемые сообщения.
Для упрощения процедуры обмена в сети передачи сообщений обычно используется база данных (подробнее об этом см. в ), в которой хранятся открытые ключи всех пользователей. При необходимости любой пользователь системы может запросить из базы открытый ключ другого человека и использовать полученный ключ для шифрования сообщений.
Как и все люди, абоненты сети передачи данных могут не доверять друг другу или вести себя нечестно. Они могут подделывать чужие сообщения, отрицать свое авторство или выдавать себя за другое лицо. Особенно актуальными становятся эти проблемы в связи с развитием электронной коммерции и возможностью оплаты услуг через Интернет. Поэтому во многих системах связи получатель корреспонденции должен иметь возможность удостовериться в подлинности документа, а создатель электронного послания должен быть в состоянии доказать свое авторство получателю или третьей стороне. Следовательно, электронные документы должны иметь аналог обычной физической подписи. При этом подпись должна обладать следующими свойствами:
При формировании цифровой подписи специальным образом шифруется или все сообщение целиком, или результат вычисления хеш-функции от сообщения. Последний способ обычно оказывается предпочтительнее, так как подписываемое сообщение может иметь разный размер, иногда довольно большой, а хеш-код всегда имеет постоянную не очень большую длину. Рассмотрим подробнее оба варианта формирования ЭЦП.
Самый простой способ основывается, так же как и при открытом шифровании, на использовании пары связанных между собой ключей (открытого и закрытого). Однако роли закрытого и открытого ключей меняются – ключ подписывания становится секретным, а ключ проверки – открытым. Если при этом сохраняется свойство, что по открытому ключу нельзя практически найти закрытый ключ, то в качестве подписи может выступать само сообщение, зашифрованное секретным ключом. Таким образом подписать сообщение может только владелец закрытого ключа, но каждый, кто имеет его открытый ключ, может проверить подпись.
Пусть, например, пользователь А хочет отправить пользователю Б подписанное сообщение. Процедура создания и проверки подписи состоит из следующих шагов:
U по любому каналу связи, например, по электронной почте.R и получает зашифрованное сообщение С.С, используя открытый ключ пользователя А. Если сообщение расшифровалось, значит, оно подписано пользователем А.Этот протокол можно изобразить в виде схемы, как на рис 9.2.
(рис 9.2) Первый вариант схемы создания и проверки цифровой подписиДо тех пор, пока пользователь А надежно хранит свой закрытый ключ, его подписи достоверны. Кроме того, невозможно изменить сообщение, не имея доступа к закрытому ключу абонента А; тем самым обеспечивается аутентичность и целостность данных.
Физическое представление пары ключей зависит от конкретной системы, поддерживающей использование ЭЦП. Чаще всего ключ записывается в файл, который, в дополнение к самому ключу, может содержать, например, информацию о пользователе - владельце ключа, о сроке действия ключа, а также некий набор данных, необходимых для работы конкретной системы (подробнее об этом см. ). Данные о владельце ключа позволяют реализовать другую важную функцию ЭЦП - установление авторства, поскольку при проверке подписи сразу же становится ясно, кто подписал то или иное сообщение. Обычно программные продукты, осуществляющие
"Подпись файла приказ.doc верна (Автор: Соколов А.И.)"
На рис 9.2представлена схема формирования так называемой цифровой подписи с восстановлением документа. Цифровые подписи с восстановлением документа как бы содержат в себе подписываемый документ: в процессе проверки подписи автоматически вычисляется и тело документа. Если при расшифровывании сообщение восстановилось правильно, значит, подпись была верной. Цифровая подпись с восстановлением документа может быть реализована, например, с помощью одного из самых популярных алгоритмов формирования ЭЦП – RSA.
В случае использования цифровой подписи с восстановлением документа все сообщение целиком подписывается, то есть шифруется. В настоящее время на практике так обычно не делается. Алгоритмы шифрования с открытым ключом достаточно медленные, кроме того, для подтверждения целостности сообщения требуется много памяти. К тому же практически все применяемые алгоритмы вычисления ЭЦП используют для расчета сообщения заранее заданной стандартной длины. Например, в российском алгоритме формирования цифровой подписи ГОСТ Р34.10-94 этот размер определен равным 32 байтам. Поэтому для экономии времени и вычислительных ресурсов, а также для удобства работы асимметричный алгоритм обычно используется вместе с какой-нибудь однонаправленной хеш-функцией. В этом случае вначале с помощью хеш-функции из сообщения произвольной длины вычисляется хеш-код нужного размера, а затем для вычисления ЭЦП производится шифрование полученного на предыдущем этапе хеш-кода от сообщения.
ЭЦП, вычисленные по хеш-коду документа, называют присоединяемыми цифровыми подписями. Такие цифровые подписи представляют собой некоторый числовой код, который необходимо пристыковывать к подписываемому документу. Само сообщение при этом не шифруется и передается в открытом виде вместе с цифровой подписью отправителя.
Если пользователь А хочет отправить пользователю Б сообщение М, дополненное присоединенной цифровой подписью, то процедура создания и проверки подписи должна состоять из следующих шагов:
U по любому каналу связи, например, по электронной почте.Н вычисляет хеш-код своего сообщения h = H(M).h своим закрытым ключом R и получает цифровую подпись С.М вместе с цифровой подписью С пересылаются пользователю Б.h полученного сообщения М, а затем проверяет цифровую подпись С, используя открытый ключ пользователя А.Этот протокол можно изобразить в виде схемы, как на рис 9.3.
(рис 9.3) Второй вариант схемы создания и проверки цифровой подписиХеш-функция не являются частью алгоритма ЭЦП, поэтому в схеме может быть использована любая надёжная хеш-функция.
Описанный процесс создания подписи не обеспечивает конфиденциальность. То есть сообщение, посланное таким способом, невозможно изменить, но можно прочитать. Даже если не использовать хеш-функцию, а шифровать все сообщение целиком, конфиденциальность не обеспечивается, так как любой может расшифровать сообщение, используя открытый ключ отправителя.
Во многих ситуациях приведенной схемы создания и использования цифровой подписи оказывается вполне достаточно. Однако бывают случаи, когда пользователь Б может смошенничать. Предположим, что пересылаемым документом был чек от пользователя А, например, за оказанные услуги. Пользователь Б удостоверился, что цифровая подпись на нем верная и использовал его для получения денег. Никто не может помешать пользователю Б снять одну или несколько копий с подписанного документа (тем более, если документ электронный) и периодически с небольшим интервалом предъявлять их в банк для получения денег.
Для устранения возможности такого жульничества в цифровые подписи часто включают метки времени. Дата и время подписания документа добавляются к сообщению и подписываются вместе со всем документом. При оплате чека метка времени может быть зафиксирована банком и занесена в базу данных. При попытке повторного предъявления чека банк это обнаружит и примет соответствующие меры.
Разновидностью цифровой подписи является неотрицаемая цифровая подпись. Как и обычная цифровая подпись, неотрицаемая цифровая подпись зависит от подписываемого документа и закрытого ключа автора. В отличие от обычной ЭЦП неотрицаемая подпись не может быть проверена без разрешения подписавшего. Таким образом, получатель корреспонденции не сможет показать подпись (или не сможет доказать правильность подписи) без согласия лица, подписавшего сообщение.
На практике алгоритмы с открытым ключом редко используются для непосредственного шифрования сообщений. Этому препятствует относительная невысокая скорость
Простейший протокол формирования секретного
Схему формирования парой пользователей А и В общего секретного ключа К для шифрования - расшифрования можно изобразить следующим образом (рис 9.4).
(рис 9.4) Схема формирования общего секретного ключаЭта схема напоминает рис 9.1, и это неудивительно, ведь в ней используется тот же самый режим шифрования открытым ключом. Отличие заключается в том, производится шифрование небольшого по размеру сеансового ключа, который в дальнейшем будет использован в качестве секретного ключа при шифровании
Существуют и более сложные протоколы распределения ключей, обеспечивающие взаимное подтверждение подлинности участников сеанса связи, подтверждение достоверности сеанса
Рассмотрев основные способы применения алгоритмов шифрования с открытым ключом, изучим требования, которым должен, по мнению основоположников теории шифрования с открытым ключом Диффи и Хеллмана, удовлетворять алгоритм шифрования с открытым ключом. Эти требования следующие:
Из этих общих требований видно, что реализация конкретного алгоритма с открытым ключом зависит от соответствующей
Математиками и криптографами предложено большое количество алгоритмов шифрования с открытым ключом, основанных на различных односторонних функциях. Некоторые алгоритмы можно задействовать тремя, рассмотренными ранее в данной лекции способами, в то время как другие могут использоваться только одним или двумя способами. Мы рассмотрим четыре алгоритма с открытым ключом, три из которых достаточно давно применяются на практике, а четвертый вид алгоритмов совсем недавно начал применяться в системах защиты информации. Эти алгоритмы используются обычно для различных целей, что отражено в следующей таблице.
| Название алгоритма | Возможность использования | ||
|---|---|---|---|
| Шифрование / расшифрование данных | Цифровая подпись | Согласование или формирование ключа | |
| RSA | Да | Да | Да |
| Нет | Нет | Да | |
| Алгоритм Эль-Гамаля | Да | Да | Да |
| Алгоритмы с использованием эллиптических кривых | Да | Да | Да |
Перед изучением наиболее известных алгоритмов шифрования с открытым ключом, необходимо напомнить, что все
Алгоритм шифрования с открытым ключом (или асимметричные криптоалгоритмы ) – криптографический алгоритм, в котором для шифрования и расшифрования используются разные ключи.
Закрытый ключ – ключ, используемый в асимметричных криптографических алгоритмах, который должен храниться в секрете.
Односторонняя функция – математическая функция, которую относительно легко вычислить, но трудно найти по значению функции соответствующее значение аргумента. То есть, зная х легко вычислить f(x), но по известному f(x) трудно найти подходящее значение x.
Односторонняя функция с люком (или с секретом ) – это особый вид
Открытый ключ – ключ, используемый в асимметричных криптографических алгоритмах, который может не храниться в секрете.
Присоединяемые цифровые подписи – подписи, вычисленные по хеш-коду документа. Такие цифровые подписи представляют собой некоторый числовой код, который необходимо пристыковывать к подписываемому документу. Само сообщение при этом не шифруется и передается в открытом виде вместе с цифровой подписью отправителя.
Цифровая (электронная) подпись (
Цифровые подписи с восстановлением документа – подписи, которые как бы содержат в себе подписываемый документ: в процессе проверки подписи автоматически вычисляется и тело документа. Если при расшифровывании сообщение восстановилось правильно, значит, подпись была верной.
Все алгоритмы шифрования с открытым ключом основаны на использовании
Алгоритмы шифрования с открытым ключом можно использовать для решения следующих задач:
Цифровая (электронная) подпись – уникальное числовое дополнение к передаваемой информации, позволяющее проверить ее авторство.
Для получения официальных документов о завершении программы дополнительного профессионального образования (удостоверения о повышении квалификации, дипломов о профессиональной переподготовке и MBA) необходимо предоставить:
Внимание! Вы можете не заказывать доставку бумажной версии официального документы, а скачать его в электронном виде и распечатать самостоятельно. Информация о выданном документе в течение 1 месяца загружается в Федеральную информационную систему «Федеральный реестр сведений о документах об образовании и (или) о квалификации, документах об обучении» - ФИС ФРДО.
Доступ на новый сайт осуществляется с использованием адреса электронной почты, который был указан вами при регистрации на "старом". Мы постарались перенести все ваши данные с прежнего ресурса, однако не исключена вероятность потери части информации.
При возникновении проблемы со входом, воспользуйтесь функцией сброса пароля
Если вы обнаружите несоответствия, пожалуйста, сообщите нам.