1.2. Основные задачи криптографии.
Задача криптографии, т.е. тайная передача, возникает только для информации, которая нуждается в защите. В таких случаях говорят, что информация содержит тайну или является защищаемой, приватной, конфиденциальной, секретной. Для наиболее типичных, часто встречающихся ситуаций такого типа введены даже специальные понятия:
- государственная тайна;
- военная тайна;
- коммерческая тайна;
- юридическая тайна;
- врачебная тайна и т. д.
- имеется какой-то определенный круг законных пользователей, которые имеют право владеть этой информацией;
- имеются незаконные пользователи, которые стремятся овладеть этой информацией с тем, чтобы обратить ее себе во благо, а законным пользователям во вред.
1.3 Выводы по разделу 1.
Криптография — это набор методов защиты информационных взаимодействий от отклонений от их нормального, штатного протекания, вызванных злоумышленными действиями различных субъектов, методов, базирующихся на секретных алгоритмах преобразования информации, включая алгоритмы, не являющиеся собственно секретными, но использующие секретные параметры. Исторически первой задачей криптографии была защита передаваемых текстовых сообщений от несанкционированного ознакомления с их содержанием, что нашло отражение в самом названии этой дисциплины, эта защита базируется на использовании «секретного языка», известного только отправителю и получателю, все методы шифрования являются лишь развитием этой философской идеи. С усложнением информационных взаимодействий в человеческом обществе возникли и продолжают возникать новые задачи по их защите, некоторые из них были решены в рамках криптографии, что потребовало развития принципиально новых подходов и методов. 2. Криптографические средства защиты. Криптографическими средствами защиты называются специальные средства и методы преобразования информации, в результате которых маскируется ее содержание. Основными видами криптографического закрытия являются шифрование и кодирование защищаемых данных. При этом шифрование есть такой вид закрытия, при котором самостоятельному преобразованию подвергается каждый символ закрываемых данных; при кодировании защищаемые данные делятся на блоки, имеющие смысловое значение, и каждый такой блок заменяется цифровым, буквенным или комбинированным кодом. При этом используется несколько различных систем шифрования: заменой, перестановкой, гаммированием, аналитическим преобразованием шифруемых данных. Широкое распространение получили комбинированные шифры, когда исходный текст последовательно преобразуется с использованием двух или даже трех различных шифров.
2.1 Принцыпы работы Криптосистемы.
Типичный пример изображения ситуации, в которой возникает задача криптографии (шифрования) изображён на рисунке №1: Рис. №1 На рисунке № 1 А и В — законные пользователи защищённой информации, они хотят обмениваться информацией по общедоступному каналу связи. П — незаконный пользователь (противник, хакер), который хочет перехватывать передаваемые по каналу связи сообщения и попытаться извлечь из них интересную для него информацию. Эту простую схему можно считать моделью типичной ситуации, в которой применяются криптографические методы защиты информации или просто шифрование. Исторически в криптографии закрепились некоторые военные слова (противник, атака на шифр и др.). Они наиболее точно отражают смысл соответствующих криптографических понятий. Вместе с тем широко известная военная терминология, основанная на понятии кода (военно-морские коды, коды Генерального штаба, кодовые книги, кодобозначения и т. п.), уже не применяется в теоретической криптографии. Дело в том, что за последние десятилетия сформировалась теория кодирования — большое научное направление, которое разрабатывает и изучает методы защиты информации от случайных искажений в каналах связи. Криптография занимается методами преобразования информации, которые бы не позволили противнику извлечь ее из перехватываемых сообщений. При этом по каналу связи передается уже не сама защищаемая информация, а результат ее преобразования с помощью шифра, и для противника возникает сложная задача вскрытия шифра. Вскрытие (взламывание) шифра — процесс получения защищаемой информации из шифрованного сообщения без знания примененного шифра. Противник может пытаться не получить, а уничтожить или модифицировать защищаемую информацию в процессе ее передачи. Это — совсем другой тип угроз для информация, отличный от перехвата и вскрытия шифра. Для защиты от таких угроз разрабатываются свои специфические методы. Следовательно, на пути от одного законного пользователя к другому информация должна защищаться различными способами, противостоящими различным угрозам. Возникает ситуация цепи из разнотипных звеньев, которая защищает информацию. Естественно, противник будет стремиться найти самое слабое звено, чтобы с наименьшими затратами добраться до информации. А значит, и законные пользователи должны учитывать это обстоятельство в своей стратегии защиты: бессмысленно делать какое-то звено очень прочным, если есть заведомо более слабые звенья («принцип равнопрочности защиты»). Придумывание хорошего шифра дело трудоемкое. Поэтому желательно увеличить время жизни хорошего шифра и использовать его для шифрования как можно большего количества сообщений. Но при этом возникает опасность, что противник уже разгадал (вскрыл) шифр и читает защищаемую информацию. Если же в шифре сеть сменный ключ то, заменив ключ, можно сделать так, что разработанные противником методы уже не дают эффекта.
В чем состоит задача криптографа
Криптография — наука о методах обеспечения конфиденциальности и аутентичности информации. Математическая криптография возникла как наука о шифровании информации, т.е. как наука о криптосистемах. В классической модели системы секретной связи имеют место два полностью доверяющих друг другу участника, которым необходимо передавать между собой информацию, не предназначенную для третьих лиц. Такая информация называется конфиденциальной или секретной. Задача обеспечения конфиденциальности, т.е. защита секретной информации от противника — первая задача криптографии.
Часто возникает ситуация, когда информация не является конфиденциальной, но важен факт поступления сообщений в неискаженном виде, т.е. наличие гарантии, что сообщение не было подделано. Такая гарантия называется обеспечением целостности информации и составляет вторую задачу криптографии.
При передаче электронных документов (в том числе и через Интернет) возможна как их подмена или редактура, так и — в случае секретного текста — доступ посторонних лиц к передаваемой информации. Таким образом, электронные документы также нуждаются в криптографической защите.
- Обеспечение уверенности получателя в том, что документ подлинный и корректный, т.е. при передаче не был подменен или отредактирован;
- Обеспечение невозможности доступа посторонних лиц к содержанию документа.
Когда речь идет об электронных документах, первая задача решается применением электронной подписи, вторая — зашифрованием документа.
Электронная подпись (ЭП) — цифровой аналог ручной подписи, обеспечивающий возможность проверки подлинности и корректности документа. Существует техническая возможность проверки электронной подписи: если документ подменен или искажен при передаче, подпись при проверке будет признана некорректной.
Зашифрование документа — видоизменение текста документа таким образом, что только тот или те, для кого текст документа предназначен, в состоянии восстановить исходный текст.
Криптографические программные продукты
Для защиты информации используются специальные пользовательские программные продукты. Они разделяются на две основные группы.
Первая группа, очень широко распространенная — это криптопровайдеры (или CSP, Cryptographic Service Providers). CSP не являются самостоятельными приложениями, они предоставляют криптографические функции другим приложениям — например, таким, как почтовые программы. Пользователь фактически не имеет дела непосредственно с CSP, работая с привычным ему пользовательским интерфейсом. CSP обладают универсальностью — один и тот же CSP может использоваться для работы со множеством различных программ. Примером такого продукта производства ООО «Криптоком» является криптопровайдер МагПро CSP.
Вторая группа — это библиотеки криптографических функций. Такие библиотеки содержат готовые функции, решающие криптографические задачи, и могут использоваться для создания новых приложений. Примером такого продукта производства ООО «Криптоком» является программный продукт «МагПро КриптоПакет».
Криптографические алгоритмы
Для того чтобы с помощью электронной подписи можно было установить факт подмены или редактуры документа при передаче, необходимо, чтобы электронная подпись вырабатывалась на основе самого текста документа. Т.е. ЭП представляет собой последовательность символов, связанную с текстом документа так, что при изменении документа нарушается заданное соответствие между ЭП и текстом. Таким образом, для получения ЭП под документом нужно провести некоторое преобразование текста документа.
Для получения зашифрованного текста исходный текст также преобразовывается так, чтобы восстановление исходного текста было практически невозможным без знания определенной информации. Лица, обладающие этой информацией, должны быть в состоянии восстановить исходный текст. Очевидно, что информация, необходимая для восстановления текста (расшифрования), должна быть известна только адресатам.
Совокупность операций, которые производятся над текстом при криптографическом преобразовании, называется криптографическим алгоритмом.
В настоящее время существует множество криптографических алгоритмов, используемых для решения различных криптографических задач.
Алгоритмы, т.е. сами последовательности действий, не являются секретными.
Стандарты на криптографические алгоритмы
На криптографические алгоритмы существуют стандарты. Надежность алгоритмов, соответствующих стандартам, тщательно анализируется специалистами. При работе с официальной документацией разрешается пользоваться только алгоритмами, соответствующими стандартам.
В разных странах существуют различные стандарты на алгоритмы. В программном обеспечении широко используются алгоритмы, соответствующие американским стандартам, чаще всего это алгоритм RSA.
В России существуют собственные государственные стандарты на алгоритмы шифрования и выработки/проверки электронной подписи: ГОСТ 28147-89, ГОСТ Р 34.10-2012, ГОСТ Р 34.10-2012.
Для выработки и проверки электронной подписи, а также зашифрования и расшифрования документов используются определенные последовательности действий, называемые криптографическими алгоритмами.
Криптографический алгоритм — это серьезная разработка, требующая немалого труда специалистов и отвечающая определенным требованиям. Одним и тем же алгоритмом может пользоваться для защиты информации большое количество пользователей, т.к. алгоритмы не являются секретной информацией.
На криптографические алгоритмы существуют стандарты, т.е. официально оформленные совокупности требований, которым эти алгоритмы должны отвечать. Эти стандарты различны в разных странах и изменяются со временем. Популярные американские алгоритмы — RSA, DSA и т.д. — которые часто используются в распространенных программных продуктах, отвечают американским стандартам.
В России также приняты государственные стандарты на криптографические алгоритмы. Российские производители, в том числе ООО «Криптоком», используют в своих программных продуктах алгоритмы, соответствующие российским стандартам.
Криптографические ключи
В качестве секретной информации используются криптографические ключи.
Криптографический ключ представляет собой последовательность символов, выработанную по определенным правилам. Эта последовательность используется при криптографических преобразованиях текстов. Для каждого криптографического алгоритма существуют свои требования, в соответствии с которыми создаются ключи. Каждый ключ создается для определенного алгоритма.
Для того чтобы обеспечить невоспроизводимость электронной подписи и невозможность прочтения зашифрованных текстов посторонними людьми, в криптографии применяются криптографические ключи.
Современный криптографический ключ — это последовательность чисел определенной длины, созданная по определенным правилам на основе последовательности случайных чисел. Для каждого ключа последовательность случайных чисел создается заново, ни одна последовательность не используется более одного раза. Для генерации последовательностей случайных чисел используются специальные программные объекты или устройства, называемые датчиками случайных чисел.
Каждый алгоритм предъявляет собственные требования к ключам, поэтому любой криптографический ключ создается для определенного алгоритма и используется только с этим алгоритмом.
Если выработка электронной подписи и ее проверка, или зашифрование и расшифрование текста выполняются с помощью одного и того же ключа, такой подход называется симметричной криптографией (соответственно симметричные алгоритмы и симметричные ключи). Операции симметричной криптографии выполняются быстро и сравнительно просты. Но они требуют знания ключа по меньшей мере двумя людьми, что значительно повышает риск их компрометации (т.е. доступа к ним посторонних лиц).
Поэтому сейчас в основном используется асимметричная криптография. В асимметричной криптографии выработка электронной подписи или зашифрование выполняются на одном ключе, а проверка подписи или расшифрование — на другом, парном ключе.
В асимметричной криптографии применяются так называемые ключевые пары (key pairs). Каждая такая пара состоит из двух связанных между собой ключей. Один из этих ключей — закрытый (private key). Он известен только владельцу ключа и ни при каких условиях не должен быть доступен никому другому. Другой ключ — открытый (public key), он может быть доступен любому желающему.
Для выработки ЭП необходим закрытый ключ автора сообщения, для проверки — открытый. Таким образом, создать ЭП может только владелец закрытого ключа, а проверить — любой пользователь, получивший соответствующий открытый ключ.
Для зашифрования текста применяется открытый ключ адресата, для расшифрования — закрытый. Таким образом, зашифровать сообщение может любой человек, а расшифровать — только владелец соответствующего закрытого ключа, т.е. адресат.
Ключевая пара, используемая для работы с ЭП (выработки и проверки ЭП), называется ключами подписи (signature keys). Ключевая пара, используемая для зашифрования и расшифрования сообщений, называется ключами обмена (exchange keys).
Проблема асимметричной криптографии состоит в том, что зашифрование по асимметричным алгоритмам происходит намного медленнее, чем по симметричным. Кроме того, если зашифрованный текст предназначен для нескольких адресатов, в отправляемое сообщение приходится включать копию текста для каждого адресата, что резко увеличивает как объем сообщения, так и время, необходимое для его зашифрования.
Эта проблема решается с помощью так называемой гибридной криптографии.
В процессе шифрования прежде всего создается одноразовый (так называемый сеансовый) ключ шифрования (session encryption key). Это симметричный ключ, т.е. один и тот же ключ используется и для зашифрования, и для расшифрования. Одноразовым или сеансовым он называется потому, что используется для зашифрования/расшифрования только одного сообщения.
На сеансовом ключе шифрования зашифровывается сообщение. Поскольку сообщение зашифровывается по симметричному алгоритму, процесс зашифровывания сообщения происходит достаточно быстро.
Затем сам ключ шифрования зашифровывается по асимметричному алгоритму на открытом ключе обмена получателя. Поскольку ключ шифрования представляет собой сравнительно небольшой объем данных, зашифрование такого ключа не занимает много времени.
Зашифрованный ключ шифрования включается в сообщение.
В результате сообщение получается незначительно больше по объему (за счет добавленной зашифрованной копии ключа шифрования), но процесс зашифрования происходит гораздо быстрее, чем если бы само сообщение зашифровывалось по асимметричному алгоритму.
Если получателей несколько, то сообщение зашифровывается один раз на сеансовом ключе шифрования, а ключ (сравнительно небольшой объем данных) зашифровывается отдельно на открытом ключе обмена каждого получателя. Таким образом, зашифрованное сообщение вместо нескольких копий сообщения, зашифрованных для каждого получателя, содержит одну зашифрованную копию сообщения и несколько копий одноразового сеансового ключа шифрования, зашифрованных для каждого получателя. Объем зашифрованного сообщения и время, необходимое для его зашифрования, оказываются существенно меньшими, чем если бы сообщение шифровалось по асимметричному алгоритму для каждого получателя.
Когда адресат получает сообщение, среди зашифрованных сеансовых ключей, включенных в сообщение, ищется сеансовый ключ, зашифрованный на открытом ключе обмена получателя. Если такой ключ находится, он расшифровывается с помощью закрытого ключа обмена получателя, а потом с помощью этого ключа расшифровывается само сообщение.
Таким образом, основное требование к процессу зашифрования по асимметричному алгоритму — чтобы к закрытому ключу обмена никто не имел доступа, кроме владельца этого ключа — соблюдается. Для того, чтобы получить доступ к ключу шифрования, необходим доступ к закрытому ключу обмена; но после того, как произведено расшифрование ключа шифрования с помощью закрытого ключа обмена, этот ключ шифрования больше никогда не используется, так что говорить о его компрометации не имеет смысла.
Сертификаты
Сертификаты — это принятая сейчас форма хранения и передачи открытых ключей. Сертификат — это набор данных специального формата, содержащий сам открытый ключ и всю информацию о нем и о его владельце. Все открытые ключи хранятся и передаются в виде сертификатов.
Сертификаты выпускаются специальными уполномоченными центрами, которые могут носить различные названия: удостоверяющий центр, центр сертификации, пункт регистрации абонентов и т.д. В любом случае такой центр выполняет административные функции. Центр и пользователи (абоненты), которые пользуются услугами центра, составляют криптосеть.
Для того чтобы центр выпустил сертификат на открытый ключ, абоненту необходимо прислать заявку (запрос) на такой сертификат. Заявка содержит открытый ключ и всю информацию о нем и о владельце. Центр проверяет подлинность и корректность этой информации (как именно — зависит от регламента центра) и выпускает сертификат, заверяя его своей электронной подписью.
Цепочки доверия
Часто возникает необходимость проверять документ с помощью другого документа, который так же требует проверки. Например, подпись под документом проверяется с помощью сертификата на открытый ключ, парный тому секретному, на котором подпись выработана. Но сам сертификат — это тоже документ, корректность и подлинность которого требует проверки. Подпись под сертификатом проверяется на сертификате на открытый ключ подписи того центра, который выпустил сертификат. Сертификат центра, в свою очередь, тоже может быть подписан электронной подписью и требовать проверки.
Такие цепочки документов, каждый из которых проверяется на следующем, называются цепочками доверия.
Очевидно, что в конце концов цепочка заканчивается — в ней обязательно существует документ, который невозможно проверить на другом документе (например, самый первый сертификат центра). Такие документы могут называться самозаверенными, корневыми, доверенными и т.д. Существуют разные способы проверки корректности и подлинности таких документов, зависящие от используемого программного обеспечения и принятого регламента: контрольные записи, цифровые отпечатки и т.д. Общим во всех этих способах проверки является то, что они требуют участия каких-то бумажных документов (распечаток) и не могут быть проверены автоматически: необходимо, чтобы человек сравнил информацию из проверяемого электронного документа с распечатанной и убедился в совпадении.
Документ может считаться корректным только в том случае, если корректны все документы, входящие в цепочку доверия от данного документа до документа, которым заканчивается цепочка (корневого).
Разумеется, при каждой проверке подписи полной проверки цепочки доверия с участием человека не происходит. Обычно корневой документ проверяется при его установке на компьютер, а затем проверка цепочек доверия, заканчивающихся этим документом, происходит автоматически.
Датчики случайных чисел и создание ключей
Ключи создаются по специальным алгоритмам на основе последовательностей случайных чисел.
Для того чтобы криптографическая защита на ключе была надежной, последовательность случайных чисел, на которой создана ключевая пара, должна быть уникальной для каждой ключевой пары. Кроме того, она должна быть действительно случайной, т.е. не допускать повторов даже через очень большие промежутки.
Такие уникальные последовательности случайных чисел генерируются во время создания ключей с помощью специальных устройств или программ, называемых датчиками случайных чисел.
Очень удобны и быстры так называемые аппаратные датчики случайных чисел, представляющие собой физические устройства — платы, подключенные к компьютеру. Такие датчики создают последовательности случайных чисел на основе физических процессов. Генерация последовательностей случайных чисел с помощью аппаратного датчика происходит очень быстро и без участия пользователя.
Но такие датчики устанавливаются не на каждом компьютере. Поэтому часто для создания ключей используется клавиатурный датчик случайных чисел~— программа, использующая для создания последовательности случайных чисел физический процесс нажатия клавиш пользователем. Для инициализации такого датчика пользователю необходимо нажать определенное количество указываемых ему клавиш (если все клавиши нажаты безошибочно, то нужно 40 нажатий; если пользователь допускает ошибочные нажатия, количество необходимых нажатий увеличивается). Создание ключей с помощью клавиатурного датчика — более медленный процесс, чем создание ключей с помощью аппаратного датчика, но его можно осуществить на любом компьютере.
Хранение закрытых ключей
Для удобства хранения закрытых ключей может создаваться файл специального формата, в котором хранятся закрытые ключи. Файл, в свою очередь, может храниться на жестком диске компьютера, на дискете, на флэш-накопителе. Для защиты закрытого ключа от несанкционированного чтения он хранится в файле в зашифрованном виде, т.е. для того, чтобы прочитать закрытый ключ и воспользоваться им, необходимо знать пароль (парольную фразу), на которой зашифрован ключ.
- Устройство должно включать в себя область памяти, достаточной, чтобы записать туда закрытые ключи (иногда эту область памяти называют «хранилищем ключей»);
- Устройство должно легко подключаться к компьютеру, чтобы ключи могли быть считаны;
- Устройство должно легко отключаться от компьютера, чтобы злоумышленники не могли считать с него ключи.
Таким условиям удовлетворяет USB-токен «Вьюга», разработанный в ООО «Криптоком». Устройство «Вьюга» включает в себя генератор случайных чисел (т.е. может использоваться как датчик случайных чисел при генерации ключей) и область памяти объема, достаточного для хранения ключей. Устройство подключается к компьютеру через USB-порт. Возможно подключение устройства к компьютеру непосредственно в процессе работы.
Компрометация ключей
Компрометация ключей — понятие, которое включает в себя факт доступа посторонних лиц к секретным ключам, а также возможность такого доступа или подозрение на него. Скомпрометированный секретный ключ — главная опасность для любой системы защиты информации, поэтому принимаются специальные меры для защиты секретных ключей: их никогда не записывают на жесткий диск компьютера, их держат на отдельных носителях, их зашифровывают, их защищают на пароле и т.д. Тем не менее, случаи компрометации возможны.
В случае компрометации секретный ключ и парный к нему открытый вносятся в специальные списки, содержащие скомпрометированные ключи. Такие списки в разных криптографических продуктах также могут называться по-разному — стоп-листы, списки отзыва сертификатов и т.д. Действие скомпрометированных ключей прекращается. Подпись, выработанная на скомпрометированном ключе, автоматически считается некорректной; информацию из документа, зашифрованного на скомпрометированном ключе, нельзя считать секретной.
Криптографические методы защиты информации
Назад Вперёд
Загрузить презентацию (655 кБ)
- Познавательные: краткое знакомство с основными методами криптографической защиты информации и с известными алгоритмами шифрования.
- Развивающие: Развитие мышления, умения анализировать, объяснять изученные понятия, формирование умений шифровать и дешифровать по известным простым алгоритмам шифрования и использовать приобретенные знания в практической деятельности и повседневной жизни; развитие речи, обогащение и усложнение словарного запаса;
- Воспитательные: воспитание интереса к изучаемому предмету, воспитание познавательной активности и положительного отношения к знаниям.
Тип учебного занятия: урок изучения нового материала.
Методы обучения: объяснительно-иллюстративный, исследовательский.
- интерактивная презентация по данной теме;
- проектор и экран для демонстрации учебного материала;
- меловая или маркерная доска.
- Организационный момент. (3 мин.)
- Изучение нового материала.(23 мин.)
- Закрепление знаний (15 мин.)
- Подведение итогов урока. (4 мин.)
1. Организационный момент (проверка присутствующих, проверка готовности к работе)
2. Изучение нового материала
Сегодня мы поговорим о проблеме защиты информации. В настоящее время, с развитием информационных технологий, обеспечение секретности и приватности при коммуникациях между людьми является одним из основных задач нашего времени. Проблема защиты информации многогранна и требует комплексного подхода к использованию имеющихся средств защиты. К традиционным методам защиты информации от преднамеренных угроз относятся: криптологические методы защиты информации, ограничение доступа к информации, контроль доступа к аппаратуре и законодательные меры [1].
Криптологические методы защиты информации являются одними из наиболее мощных средств защиты информации. Криптология — эта наука о защите информации. Она делится на две части: криптографиюикриптоанализ. Криптография – это часть криптологии, связанная с проектированием секретных систем. Криптоанализ – это часть криптологии, связанная со взломом секретных систем. Криптограф ищет методы, обеспечивающие секретность и/или подлинность информации путём шифрования исходного текста. В проектируемой криптографической системекриптограф должен предусмотреть защиту от всех видов атак. Криптоаналитик же пытается выполнить обратную задачу, раскрывая шифр или подделывая сообщение так, чтобы выдать их за подлинные. Для взлома криптосистемы ему достаточно отыскать единственное слабое звено в цепи криптографической защиты и организовать атаку только против этого звена. Изучение криптоанализа не менее важно, чем криптографии, так как без понимания техник криптоанализа невозможно спроектировать секретные криптографические системы.
На этом уроке мы рассмотрим только криптографические методы защиты информации.
Классическая задача криптографии заключается в следующем (см. Рисунок 1):
Рисунок 1. Классическая схема криптографии.
Передатчик (Алиса) хочет передать секретную информацию приёмнику (Бобу) по публичному несекретному каналу связи (например, по телефону, по компьютерной сети) таким образом, чтобы третье лицо («злоумышленник» Ева) по перехваченной на канале связи информации не смог бы восстановить исходное сообщение передатчика. Для обеспечения надёжной передачи, передатчик шифрует исходное сообщение (называемое исходным текстом) с помощью некоторой секретной информации (называемой секретным ключом) и отправляет полученный зашифрованный текст (называемый шифром) по публичному несекретному каналу связи. Получив шифр, приёмник расшифровывает исходный текст передатчика с помощью секретного ключа. Злоумышленник имеет доступ к каналу связи и может получить шифр, но у него нет секретного ключа. Криптографическая схема называется абсолютно секретной, если знание шифра не даёт информации об открытом тексте.
Задача состоит в построении абсолютно секретных криптографических схем.
- симметричных (с закрытым ключом)криптосистем;
- асимметричных (с открытым ключом) криптосистем.
В симметричных криптосистемах для шифрования и дешифрования сообщения используется секретный общий ключ (см. Рисунок 2).
Рисунок 2. Схема симметричной криптосистемы.
- секретный ключ случайный,
- количество символов в ключе, называемое длиной ключа, не меньше длины кодируемого сообщения.
- использование общего секретного ключа для шифрования и дешифрования,
- создание и передача длинного секретного ключа,
- наличие второго секретного канала связи (для передачи секретного ключа).
- простота и быстрота построения и реализации,
- высокое быстродействие,
- все классические криптосистемы симметричные (некоторые примеры рассмотрим во второй половине урока, при закреплении знаний).
Существует много симметричных криптосистем, которые удовлетворяют практическим требованиям как в смысле безопасности, так и в смысле эффективности. Из известных симметричных криптосистем можно указать DES (Data Encryption Standard) и AES (Advanced Encryption Standard). Криптосистема DES, разработанная фирмой IBM для правительства США, была одной из широко используемых (например, в банковской индустрии) криптосистем мира. Криптосистема DES была национальным стандартом шифрования США в 1977-2000 годах. По причине ряда недостатков криптосистемы DES, была создана новая криптосистема AES (создана бельгийскими учёными Дейманом и Рейманом), которая является усовершенствованием криптосистемы DES. Криптосистема AES является национальным стандартом шифрования США с 2000 года.
Идея асимметричных криптосистем впервые была предложена в 1976 году Диффи и Хеллманом на национальной компьютерной конференции [3] как способ решения указанных выше трудностей симметричных криптосистем. В асимметричных криптосистемах для шифрования и дешифрования сообщения используются различные ключи: дляшифрования сообщения используется открытый ключ, являющийся общедоступным, а длядешифрования сообщения используется закрытый ключ, являющийся секретным (см. Рисунок 3).
Рисунок 3. Схема асимметричной криптосистемы.
Приёмник (Боб) публикует свой открытый ключ и алгоритм шифрования, при этом сохраняя в секрете соответствующий секретный ключ. Передатчик (Алиса) из соответствующего справочника берёт открытый ключ и алгоритм шифрования приёмника (Боба), шифрует сообщение, используя открытый ключ и алгоритм шифрования приёмника (Боба) и посылает полученный шифр приёмнику (Бобу). Приёмник (Боб) получает шифр от передатчика (Алисы), дешифрует шифр, используя свой секретный ключ и алгоритм дешифрования.
- у каждого пользователя системы есть открытый ключ и соответствующий закрытый (секретный) ключ,
- знание открытого ключа не даёт возможность определить закрытый ключ.
- Асимметричные криптосистемы удобны для защиты информации в открытой многопользовательской среде, так как они обладают следующими достоинствами:
- не требуется секретный общий ключ,
- простая схема обеспечения секретности (не требуется доверяемая третья сторона).
Изобретение асимметричных криптосистем — это одно из важных изобретений в истории секретной коммуникации. Секретность используемых в настоящее время алгоритмов асимметричного шифрования опирается на вычислительную сложность алгоритмов шифрования.
Из известных асимметричных криптосистем можно указать криптосистемы RSA, El-Gamal и McEliece (названы в честь своих создателей). Криптосистема RSA (создатели Ривест, Шамир и Адлеман (1977 год)) – одна из известных надёжных асимметричных криптосистем.
3. Закрепление знаний
Рассмотрим примеры классических симметричных криптосистем.
В качестве первого примера рассмотрим классическую криптосистему на основе шифра Цезаря, который использовался знаменитым римским императором Юлием Цезарем. Шифр Цезаря строится по следующему алгоритму: каждая буква слова заменяется четвертой (в порядке следования) буквой алфавита. Алгоритм шифрования букв английского языка согласно шифру Цезаря можно представить в следующей таблице:
a | b | c | d | e | f | g | h | i | j | k | l | m | n | o | p | q | r | s | t | u | v | w | x | y | z |
d | e | f | g | h | i | j | k | l | m | n | o | p | q | r | s | t | u | v | w | x | y | z | a | b | c |
Например, при открытом тексте meet me at central park с помощью шифра Цезаря получается шифр phhw ph dw fhqwudo sdun. Заметим, что в шифре Цезаря ключ равен 3 (величине сдвига букв алфавита). Шифр Цезаря можно применить и к русскому алфавиту, при этом ключ может быть любым числом от 0 до 32, например равен 7. Алгоритм шифрования букв русского языка согласно указанной модификации шифра Цезаря можно представить в следующей таблице:
а | б | в | г | д | е | ё | ж | з | и | й | к | л | м | н | о | п | р | с | т | у | ф | х | ц | ч | ш | щ | ъ | ы | э | ю | я |
ж | з | и | й | к | л | м | н | о | п | р | с | т | у | ф | х | ц | ч | ш | щ | ъ | ы | э | ю | я | а | б | в | г | д | е | ё |
Какой шифр получится при шифровании по указанному алгоритму открытого текста секретные системы? Правильно, шлсчлщфгл шпшщлуг.
Мы с вами увидели, что шифр Цезаря и его модификации просты в реализации, но их легко можно раскрыть без знания ключа, наблюдая частоту распределения символов в шифрованном тексте и имея таблицу относительных частот букв соответствующего алфавита.
В качестве второго примера симметричной криптосистемы рассмотрим классическую криптосистему на основе шифра Виженера, по фамилии французского криптографа шестнадцатого столетия Блеза де Виженера. Шифр Виженера строится по следующему алгоритму:
1) заменить каждую букву английского языка цифрой согласно следующим таблицам:
a | b | c | d | e | f | g | h | i | j | k | l | m |
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 |
n | o | p | q | r | s | t | u | v | w | x | y | z |
13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 |
2) в качестве ключа рассмотреть любую последовательность букв английского языка;
3) заменить ключ последовательностью цифр согласно пункту 1;
4) заменить открытый текст последовательностью цифр согласно пункту 1 (пробелы при замене не учитывать);
5) записать под последовательностью цифр открытого текста последовательность цифр ключа, при этом последовательность цифр ключа записать необходимое число раз;
6) сложить попарно эти две последовательности, при этом если сумма равна или больше 26, то вычесть 26;
7) заменить полученные цифры буквами английского языка согласно пункту 1.
Например, зашифруем открытый текст meetmeatcentralpark с помощью шифра Виженера с помощью ключа cipher. Тогда согласно алгоритму (пункты 4. и 5.) ключ cipher заменяется последовательностью цифр (2,8,15,7,4,17), а открытый текст meetmeatcentralparkзаменяется последовательностью цифр (12,4,4,19,12,4,0,19,2,4,13,19,17,0,11,15,0,17,10). Тогда согласно алгоритму (пункт 6.) получим следующую таблицу:
12 | 4 | 4 | 19 | 12 | 4 | 0 | 19 | 2 | 4 | 13 | 19 | 17 | 0 | 11 | 15 | 0 | 17 | 10 |
2 | 8 | 15 | 7 | 4 | 17 | 2 | 8 | 15 | 7 | 4 | 17 | 2 | 8 | 15 | 7 | 4 | 17 | 2 |
Сложив попарно эти две последовательности с возможной заменой (согласно пункту 6. алгоритма), получим последовательность (14,12,19,0,16,21,2,1,17,11,17,12,19,8,0,22,4,8,12). Следовательно, согласно пункту 7. алгоритма в качестве шифра исходного открытого текста получим последовательность omtaqvcbrlrmtiaweim.
Шифр Виженера можно применить и к русскому алфавиту. Мы с вами увидели, что шифр Виженера более трудный для построения (по сравнению с шифром Цезаря), но он и более трудный для взлома. Шифр Виженера был невзламываемым до середины 19 века, но в 1863 году прусский офицер Касисский нашёл простой теоретико-числовой метод поиска длины ключа.
4. Подведение итогов урока
- Криптология?
- Криптография?
- Криптоанализ?
- Симметричная криптосистема?
- Асимметричная криптосистема?
Какие примеры симметричных и асимметричных криптосистем вы можете привести?
Хорошо!
Пожалуйста, повторите дома записи в тетради.
До свидания!
- Информатика и ИКТ. Учебник. 11 класс / Под ред. Проф. Н.В. Макаровой. – СПб.: Питер, 2012.
- Работы по теории информации и кибернетике. / Шеннон К. – М.: Изд-во иностранной литературы, 1963.
- Multi-user cryptographic techniques. / Diffie W., Hellman M. – Proceedings of AFIPS National Computer Conference, pp. 109-112, 1976.
- Cryptography. Theory and Practice. / Stinson D. – University of Waterloo, Ontario, Canada, 2006.
Основы криптографии
В статье рассматриваются основные принципы, составляющие основу современной криптографии.
Безопасность криптографических приложений в большой мере зависит от симметричных и закрытых ключей, которые постоянно являются секретными. Метод их хранения также защищен.
В современной криптографии используются два основных типа алгоритмов — симметричный и асимметричный. В алгоритмах с асимметричным ключом используется комбинация закрытых и открытых ключей, тогда как в симметричных алгоритмах применяются только закрытые, или т. н. секретные ключи. В таблице представлены основные характеристики каждого алгоритма.
Теперь давайте рассмотрим, как решается каждая криптографическая задача с помощью этих алгоритмов двух типов.
КОНФИДЕНЦИАЛЬНОСТЬ ПРИ ИСПОЛЬЗОВАНИИ СИММЕТРИЧНЫХ АЛГОРИТМОВ
Главная цель конфиденциальности -сохранение информации втайне от всех, кто не должен иметь к ней доступа. В криптографической системе с симметричным ключом эта задача решается путем шифрования данных, которыми обмениваются отправитель и получатель. И отправитель, и получатель имеют доступ к одному и тому же секретному ключу, который используется для шифрования и дешифрования передаваемого сообщения (см. рис. 1).
Пока ключ защищен и только отправитель и получатель имеют доступ к ключу шифрования/дешифрования, никто другой не может получить переданное сообщение, даже если оно перехвачено в процессе передачи. Таким образом, сообщение остается «конфиденциальным».
Рис. 1. Алгоритмы симметричного шифрования обеспечивают конфиденциальность с помощью закрытых или секретных ключей
Таблица. Сравнение криптографических алгоритмов
Сервисы безопасности и функции | Алгоритм | |
симметричный | асимметричный | |
конфиденциальность | да | да |
идентификация | да | да |
и аутентификация | да | да |
целостность | да | да |
невозможность отказа | да, в сочетании с алгоритмом с открытым/ закрытым ключом | да |
шифрование | да, быстрое | да, медленное |
расшифровка | да, быстрая | да, медленная |
общая безопасность | высокая | высокая |
управление ключами | необходим обмен ключами и защита ключа не только со стороны отправителя, но и со стороны получателя | необходимо обеспечение безопасности каждого закрытого ключа не только со стороны отправителя, но и со стороны получателя |
сложность алгоритма | легкий для понимания | может быть трудным для понимания |
размер ключа | 128 бит, 192 бит, 256 бит или больше, но не настолько длинный, как асимметричный ключ (зависит от секретности ключей) | 256 бит, 1024 бит, 2048 бит, 3072 бит или больше, что зависит от криптостойкости (количество времени и ресурсов, необходимых для расшифровки) |
уязвимости системы | неправильное управление ключами, их генерация и использование | ненадлежащая реализация |
атаки | полный перебор, линейный/ дифференциальный криптоанализ | полный перебор, линейный/ дифференциальный криптоанализ и Oracle |
КОНФИДЕНЦИАЛЬНОСТЬ ПРИ ИСПОЛЬЗОВАНИИ АСИММЕТРИЧНЫХ АЛГОРИТМОВ
В системе с асимметричным ключом получатель свободно распространяет свой открытый ключ. Отправитель получает открытый ключ и проверяет его подлинность. Для этого выполняется несколько действий (см. рис. 2). Для простоты предположим, что отправитель имеет доступ к проверенному открытому ключу получателя, использует этот ключ для шифрования сообщения и отправляет его получателю.
Открытый ключ получателя математически связан с закрытым ключом получателя. Отправитель, да и любой другой человек, не имеет доступа к закрытому ключу получателя. Для расшифровки полученного сообщения получатель использует закрытый ключ. Это единственный ключ, с помощью которого можно прочесть сообщение, зашифрованное соответствующим открытым ключом. поскольку закрытый ключ находится только у получателя, другой человек или организация не могут расшифровать отправленное сообщение. таким образом, сообщение остается «конфиденциальным».
ИДЕНТИФИКАЦИЯ И АУТЕНТИФИКАЦИЯ ПРИ ИСПОЛЬЗОВАНИИ СИММЕТРИЧНОГО АЛГОРИТМА
Напомним, что цель идентификации и аутентификации состоит в том, чтобы сначала идентифицировать объект или пользователя, а затем аутентифицировать их, чтобы доподлинно установить, кто на связи.
На рисунке 3 показан простой пример идентификации и аутентификации по симметричному алгоритму. Комментарии к шагам 1-6 позволяют лучше понять описываемый процесс.
На этапе 4 используется метод «дайджест». Дайджест, или хэш-сумма — это значение фиксированной длины, вычисляемое по большому набору данных.
РОЛЬ ОДНОКРАТНО ИСПОЛЬЗУЕМОГО ЧИСЛА
Злоумышленник может завладеть последним дайджестом, переданным получателем, а затем с помощью этого дайджеста запросить аутентификацию. Атаки этого типа называются «атаки повторного воспроизведения», т. е. атаки с помощью повторной отправки ранее использованного дайджеста. Использование для аутентификации однократно используемого случайного числа предотвращает такие атаки. В этом случае аутентификация злоумышленника не состоится, поскольку для каждой аутентификации отправителю требуется новый дайджест с новым однократно используемым числом (nonce). Эти числа обычно генерируются с помощью надежного генератора случайных чисел.
Рис. 2. Асимметричный алгоритм помогает обеспечить конфиденциальность за счет использования открытого и закрытого ключей
Рис. 3. Пример идентификации и аутентификации с симметричным ключом
Теперь давайте рассмотрим практический пример идентификации и аутентификации с использованием алгоритма SHA3-256.
ИДЕНТИФИКАЦИЯ И АУТЕНТИФИКАЦИЯ С ПОМОЩЬЮ АЛГОРИТМА SHA-3
На рисунке 4 подробнее описаны идентификация и аутентификация с помощью симметричного алгоритма с ключом
SHA-3 — самого нового в семействе безопасных алгоритмов хэширования (Secure Hash Algorithm, SHA). Maxim Integrated -первая компания, применяющая в производстве алгоритм безопасной аутентификации SHA3-256. Комментарии к шагам 1-6 позволяют лучше понять описываемый процесс.
«Случайное число» на рисунке 4 является однократно используемым, которое необходимо для предотвращения атак путем повторного воспроизведения.
ИДЕНТИФИКАЦИЯ И АУТЕНТИФИКАЦИЯ С ПОМОЩЬЮ АСИММЕТРИЧНОГО АЛГОРИТМА
Как уже упоминалось, цель идентификации и аутентификации состоит в том, чтобы сначала идентифицировать объект или пользователя, а затем аутентифицировать их, чтобы наверняка установить личность пользователя, с которым осуществляется связь.
Рис. 4. Подробный пример работы симметричного алгоритма с SHA-3
Рис. 5. Пример идентификации и аутентификации с помощью асимметричного алгоритма
Как это достигается с помощью схемы с асимметричным ключом? На рисунке 5 показан пример процесса идентификации и аутентификации по асимметричному алгоритму. Комментарии к шагам 1-6 позволяют лучше понять описываемый процесс.
Теперь давайте рассмотрим практический пример идентификации и аутентификации с помощью алгоритма цифровых подписей на основе эллиптических кривых (Elliptic Curve Digital Signature Algorithm, ECDSA).
ИДЕНТИФИКАЦИЯ И АУТЕНТИФИКАЦИЯ С ПОМОЩЬЮ ECDSA
На рисунке 6 показан более подробный пример идентификации и аутентификации с помощью асимметричного алгоритма ECDSA. Комментарии к шагам 1-6 позволяют лучше понять описываемый процесс.
Хотя этот метод осуществляет аутентификацию устройства, он не охватывает весь процесс аутентификации системы, включающий в себя проверку того, что получатель является частью системы, а также обязательную проверку цифровых сертификатов устройства. Мы рассмотрим цифровые сертификаты, а также более подробное описание цифровых подписей.
СРАВНЕНИЕ КРИПТОГРАФИЧЕСКИХ АЛГОРИТМОВ
На рисунке 7 сравнивается использование ключей с симметричными и асимметричными алгоритмами. Прежде чем перейти к следующей теме, необходимо установить различия между безопасным хэшем (Secure Hash) и кодом проверки подлинности сообщений (Hashed Message Authentication Code, HMAC).
На рисунке 8 показаны различия между этими алгоритмами. фактически, Secure Hash использует алгоритм хэширования, например SHA-3, для получения хэша фиксированной длины сообщения независимо от его длины. HMAC работает аналогично, но в качестве дополнительного входа в функцию хэширования он использует ключ. Он также создает хэш фиксированной длины независимо от длины входного сообщения.
Рис. 6. Пример идентификации и аутентификации с помощью асимметричного алгоритма ECDSA
Рис. 7. Сравнение криптографических алгоритмов с симметричным и асимметричным ключами
ИСПОЛЬЗОВАНИЕ СИММЕТРИЧНЫХ АЛГОРИТМОВ ДЛЯ ОБЕСПЕЧЕНИЯ ЦЕЛОСТНОСТИ
Целью сохранения целостности сообщения является гарантия, что любое полученное сообщение или любое новое подключенное устройство не содержит нежелательный код или информацию.
Давайте рассмотрим пример того, как можно этого достичь с помощью симметричного алгоритма, такого как SHA-3. позже мы рассмотрим особенности работы этих алгоритмов.
На рисунке 9 отправитель вычисляет дайджест сообщения с помощью определенного ключа. поскольку он симметричный, отправитель и получатель используют его совместно.
Дайджест или хэш, созданный с помощью ключа, называется HMAC. Он генерируется путем вычисления алгоритмом SHA-3 из сообщения и ключа. полученный HMAC и сообщение отправляются получателю, который генерирует собственный HMAC с помощью своего ключа. Два дайджеста HMAC сравниваются; если они совпадают, сообщение считается подлинным.
В таком сценарии кто-то может перехватить и HMAC, и сообщение, изменить его, сгенерировать новый HMAC и отправить его получателю. Однако это не сработает, т. к. у перехватчика нет секретного ключа получателя, и дайджесты HMAC не совпадут.
ИСПОЛЬЗОВАНИЕ АСИММЕТРИЧНЫХ АЛГОРИТМОВ ДЛЯ ОБЕСПЕЧЕНИЯ ЦЕЛОСТНОСТИ
Целью сохранения целостности сообщения является гарантия, что любое полученное сообщение или любое новое подключенное устройство не содержит нежелательный код или информацию. Давайте рассмотрим пример того, как это достигается с помощью асимметричного алгоритма ECDSA.
Рис. 8. Сходства и ключевые различия между HMAC и Secure Hash
Рис. 9. Использование симметричного алгоритма SHA-3 для обеспечения целостности
Основная идея заключается в том, что отправитель подписывает сообщение цифровой подписью, а получатель проверяет подпись, чтобы удостовериться в целостности полученного сообщения.
На рисунке 10 отправитель вычисляет дайджест сообщения с помощью алгоритма хэширования SHA-2. поскольку это схема с асимметричным ключом, он не используется совместно отправителем и получателем. в отличие от симметричного алгоритма, где генерируемый дайджест/хэш не использует ключ, в этом случае у отправителя имеется закрытый ключ, который никогда не используется совместно, а получатель имеет открытый ключ, который могут применять многие пользователи, и наоборот.
Сгенерированный дайджест подается в алгоритм ECDSA вместе с закрытым ключом отправителя для создания цифровой подписи сообщения, которая вместе с ним отправляется получателю. На этом процесс подписания отправленного сообщения завершается.
Теперь, когда получатель получил сообщение и цифровую подпись от отправителя, он может начать процесс верификации, который состоит из двух отдельных этапов.
1. Из полученного сообщения получатель вычисляет дайджест сообщения.
2. Вычисленный дайджест, полученная от отправителя цифровая подпись и открытый ключ отправителя подаются в алгоритм ECDSA для верификации.
В процессе верификации алгоритм ECDSA выдает результат «да» или «нет». в случае положительного результата целостность сообщения сохранена, а в противном случае — нарушена.
Рис. 10. Использование асимметричного алгоритма ECDSA для обеспечения целостности
Рис. 11. Отправитель и получатель обмениваются доверенным цифровым сертификатом, подписанным третьей стороной
НЕВОЗМОЖНОСТЬ ОТКАЗА ПРИ ИСПОЛЬЗОВАНИИ АСИММЕТРИЧНОГО АЛГОРИТМА
Сообщение, подписанное цифровой подписью отправителя, может использоваться для подтверждения того, что оно было отправлено и не было изменено. Однако цифровая подпись не может подтвердить идентификацию отправителя. Ее подтверждение осуществляется с помощью цифрового сертификата.
На рисунках 11-14 иллюстрируются все шаги по созданию полноценной системы с открытым ключом, в которой обмен сообщениями не может отклонить ни одна из сторон.
Основная идея заключается в том, что и отправитель, и получатель должны доказать друг другу свою идентичность, а их открытые ключи должны быть подтверждены доверенной третьей стороной.
Почему так важно использовать цифровой сертификат? Без него кто-то, притворяющийся отправителем (т. е. злоумышленник), может отправить сообщение, зашифрованное открытым ключом получателя вместе с цифровой подписью, заверенной закрытым ключом злоумышленника. Затем злоумышленник отправляет получателю свой подложный открытый ключ. Получатель будет использовать этот ключ для проверки цифровой подписи, и результаты проверки окажутся положительными. Однако сообщение от злоумышленника может содержать вредоносную информацию, о чем получатель не заподозрит. Цифровой сертификат позволяет убедиться, что полученный открытый ключ действительно принадлежит отправителю, а не злоумышленнику.
Рис. 12. Отправитель и получатель проверяют подлинность доверенного цифрового сертификата, подписанного третьей стороной
Рис. 13. Отправитель и получатель извлекают открытые ключи друг друга из цифрового сертификата
Рис. 14. Отправитель и получатель обмениваются сообщениями, от которых невозможно отказаться
Автор: ЗИЯ САРДАР (ZIA SARDAR), инженер по приложениям, Maxim Integrated
Опубликовано в журнале «Электронные Компоненты» №8, 2020 г.