Принципы использования ключей шифрования. Открытый ключ Что такое ключ в криптографии

Какие бывают шифры

Что такое шифрование и дешифрование

Лекция 5. Кодирование и шифрование. Защита информации

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

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

Криптография - наука о защите информации от несанкционированного получения ее посторонними лицами. Сфера ее интересов - разработка и исследование методов шифрования информации.

Сфера интересов криптоанализа противоположная - разработка и исследование методов дешифрования шифрограммы даже без знания ключа.

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

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

Существует несколько классификаций шифров.

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

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

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

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

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

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

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



· Разложение больших чисел на простые множители (алгоритм RSA).

· Вычисление логарифма или возведение в степень (алгоритм DH).

· Вычисление корней алгебраических уравнений.

Например, легко в уме найти произведение двух простых чисел 11 и 13 (143). Но попробуйте быстро в уме найти два простых числа, произведение которых равно 437 (19 и 23). Такие же трудности возникают и при использовании вычислительной техники (можно, но долго). Таким образом, в системе кодирования, основанной на разложении на множители, используются два разных ключа. Ключ шифрования основан на произведении двух огромных простых чисел, а ключ дешифрования - на самих простых числах.

Было предложено (в 40-х годах 20-го века) разрабатывать шифр так, чтобы его раскрытие было эквивалентно решению сложной математической задачи. Сложность задачи должна быть такой, чтобы объем необходимых вычислений превосходил бы возможности современных ЭВМ.

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

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

В США для передачи секретных сообщений наибольшее распространение получил стандарт DES. Он предусматривает троекратное шифрование данных разными ключами.

На протяжении всего времени дешифрованию криптограмм помогает частотный анализ появления отдельных символов и их сочетаний. Вероятности появления отдельных букв в тексте сильно различаются. Например, в русском языке буква "о" появляется в 45 раз чаще буквы "ф" и в 30 раз чаще буквы "э". Анализируя достаточно длинный текст, зашифрованный методом замены, можно по частотам появления символом произвести замену и восстановить исходный текст.

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

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

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

Надёжность ключа зависит от его длины в битах. В технологии SSL используют шифры 4096 бит для корневого сертификата и 128–256 бит для клиентских. Такая длина достаточна для безопасной передачи данных.

Протокол SSL использует асимметричное шифрование или шифрование с открытым ключом для установки соединения. Несмотря на название, здесь используются 2 ключа: открытый и закрытый. Оба формируются при запросе SSL-сертификата.

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

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

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

Однако асимметричный алгоритм ресурсоемок, а скорость шифрования на 2-3 порядка ниже симметричного алгоритма. Поэтому в SSL-технологии шифрование с открытым ключом используется только для согласования секретного симметричного ключа . С его помощью устанавливается защищённое HTTPS-соединение – данные передаются быстро и безопасно.

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

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

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

  1. Чтобы аутентифицировать сервер, браузер посетителя проверяет, подписан ли SSL-сертификат сертификатом доверенного центра.
  2. Чтобы договориться о симметричном ключе шифрования сервер и браузер используют асимметричное шифрование с открытым ключом.

Рассмотрим этот процесс на примере реальных ключей:

Боб отправляет Алисе замок, ключ от которого есть только у него.

Замок здесь – публичный ключ.

Алиса закрывает замком Боба ящик с секретом и посылает обратно.

Так же браузер шифрует сообщение с помощью публичного ключа и передаёт на сервер.

Открыть ящик не сможет никто: ни сама Алиса, ни сотрудники почты.

Мошенник точно так же не может расшифровать сообщение браузера без закрытого ключа.

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

Сервер расшифровывает сообщение закрытым ключом, который есть только у него.

Как Алиса и Боб ведут тайную переписку, так браузер и сервер устанавливают защищённое HTTPS-соединение и обмениваются данными.

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

Виды ключей в криптографической сети

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

  1. Симметричные (секретные) ключи — применяются в алгоритмах симметричного типа, например, в создании кодов аутентичности. Главным качеством таких ключей является тот факт, что для шифрования или расшифровки, а также выполнения других преобразований требуется применять идентичные ключи. Возможна ситуация, когда ключ, предназначенный для обратного шифрования, вычисляется с помощью ключа для прямой шифровки. Как результат, обеспечивается конфиденциальность информации, но возникают проблемы с распространением буквенно-цифровых кодов в системах с большим числом участников.
  2. Ассиметричные — второй тип ключей, применяемый в алгоритмах несимметричного типа. Такие ключи работают в паре и представляют собой:
  • Закрытый (приватный) — ключ, который известен только хозяину. Задача владельца заключается в сохранении кода втайне от посторонних, что исключает риск подделки и кражи информации.
  • Открытый (публичный) — ключ, который может выставляться на обозрение без опасения быть скопированным. Его особенность — проверка подлинности информации и предупреждение мошеннических схем. Открытый ключ представляет собой некую функцию от закрытого кода. С другой стороны, наличие на руках открытого ключа не позволяет определить его пару.

Как работают ключи в криптографии

Ключ в криптографии — секретная информация, применяемая для декодирования и шифровки сообщений, постановки ЭЦП, проверки операций в криптовалютной сети, расчета кодов аутентичности и прочего. Уровень надежности ключа определяется его длиной (единица измерения — биты). Применяется следующие типы ключей — на 128 и 256 бит (для SSL), а для центров сертификации и криптовалютных сетей от 4096 бит и более.

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

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

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

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

Сфера применения асимметричной криптографии

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

Будьте в курсе всех важных событий United Traders - подписывайтесь на наш

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

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

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

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

1. Секретные (Симметричные) ключи — ключи, используемые в симметричных алгоритмах (шифрование, выработка кодов аутентичности). Главное свойство симметричных ключей: для выполнения как прямого, так и обратного криптографического преобразования (шифрование/расшифровывание, вычисление MAC/проверка MAC) необходимо использовать один и тот же ключ (либо же ключ для обратного преобразования легко вычисляется из ключа для прямого преобразования, и наоборот). С одной стороны, это обеспечивает более высокую конфиденциальность сообщений, с другой стороны, создаёт проблемы распространения ключей в системах с большим количеством пользователей.

2. Асимметричные ключи - ключи, используемые в асимметричных алгоритмах (шифрование, ЭЦП), которые являются ключевой парой, поскольку состоят из двух ключей:

  • Закрытый ключ (en:Private key) - ключ, известный только своему владельцу. Только сохранение пользователем в тайне своего закрытого ключа гарантирует невозможность подделки злоумышленником документа и цифровой подписи от имени заверяющего.
  • Открытый ключ (en:Public key) - ключ, который может быть опубликован и используется для проверки подлинности подписанного документа, а также для предупреждения мошенничества со стороны заверяющего лица в виде отказа его от подписи документа. Открытый ключ подписи вычисляется, как значение некоторой функции от закрытого ключа, но знание открытого ключа не дает возможности определить закрытый ключ.

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

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

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

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

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

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

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

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

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

В асимметричной криптографии применяются так называемые ключевые пары (key pairs). Каждая такая пара состоит из двух связанных между собой ключей. Один из этих ключей -- закрытый (private key). Он известен только владельцу ключа и ни при каких условиях не должен быть доступен никому другому. Другой ключ -- открытый (public key), он может быть доступен любому желающему.

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

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

Ключевая пара, используемая для работы с ЭЦП (выработки и проверки ЭЦП), называется ключами подписи (signature keys). Ключевая пара, используемая для зашифрования и расшифрования сообщений, называется ключами обмена (exchange keys).

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

Эта проблема решается с помощью так называемой гибридной криптографии.

В процессе шифрования прежде всего создается одноразовый (так называемый сеансовый) ключ шифрования (session encryption key). Это симметричный ключ, т.е. один и тот же ключ используется и для зашифрования, и для расшифрования. Одноразовым или сеансовым он называется потому, что используется для зашифрования/расшифрования только одного сообщения.

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

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

Зашифрованный ключ шифрования включается в сообщение.

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

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

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

Таким образом, основное требование к процессу зашифрования по асимметричному алгоритму -- чтобы к закрытому ключу обмена никто не имел доступа, кроме владельца этого ключа -- соблюдается. Для того, чтобы получить доступ к ключу шифрования, необходим доступ к закрытому ключу обмена; но после того, как произведено расшифрование ключа шифрования с помощью закрытого ключа обмена, этот ключ шифрования больше никогда не используется, так что говорить о его компрометации не имеет смысла.