Открытый и закрытый ключ: для чего они применяются? Асимметричное шифрование. Как это работает? Что такое ключ в криптографии

03.01.2023

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

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

В результате применения шифрования появляется шифрованный текст, который и скрывает информационную тайну . Например, тайное послание «Завтра фирма Скотта будет продавать акции по пониженным ценам» имеет некоторый шифрованный текст в виде «?т6ifmфвщб4-!nmdавжшт». Шифрованный текст тайны доступен всем, более того, в шифрованном тексте имеется полное содержание тайны, он содержит весь смысл тайны, но тайна доступна только посвященным. Здесь необходимо сделать одно маленькое замечание и уточнение. Да, тайна легко и быстро доступна только посвященным лицам. Непосвященные лица могут проникнуть в тайну в течение более протяженного отрезка времени, затратив некоторые усилия. Успех непосвященных лиц гарантирован именно тем, что в шифрованном тексте содержится вся информация, скрывающая тайну . Для прочтения шифрованного текста необходима некоторая дополнительная информация, которая позволяет легко и быстро постигнуть смысл скрываемого от посторонних сообщения. Нас будут интересовать шифровальные системы, которые обладают одной характерной особенностью для посвященных лиц: взаимно однозначным прямым и обратным преобразованием исходный (открытый) текст единственный шифрованный текст. В дальнейшем мы покажем, что для непосвященных лиц в некоторых случаях это может быть не совсем так.

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

Что позволяет вам быстро открыть свою закрытую дверь, вам, лицу, которому это позволено? Ключ, скажете вы. Ну а при хорошем замке квартирный вор повозится некоторое время, но тоже откроет вашу дверь, не имея ключа. Чтобы квартирный вор не смог быстро открыть дверь вашей квартиры, замок должен быть достаточно хорошим. От этого зависит время незаконного вскрытия вашей квартиры. В крайнем случае, вор может воспользоваться грубой силой, пытаясь взломать саму дверь. В криптографии ситуация аналогична: дверь - это шифрованный текст, который открывает вам путь к тайне. Ключ - это та дополнительная информация, которая позволяет посвященным лицам быстро прочесть шифрованный текст. Эту дополнительную информацию мы тоже будем называть криптографическим ключом или просто ключом. Ключ от квартиры нельзя терять, его нельзя отдавать посторонним лицам, которым вы не доверяете. Криптографический ключ по этим же причинам никому нельзя отдавать. Его необходимо держать в секрете, потому что с него очень легко сделать копию, легче, чем с обыкновенного дверного ключа. Обычный ключ от квартиры имеет небольшие размеры, чтобы было удобно его хранить. Криптографический ключ из этих же соображений также должен иметь небольшой размер, хотя сегодня при использовании ЭВМ это не столь жесткое требование. А что же в криптографии играет роль замка? Это устройство или правило (алгоритм), как создавать шифрованный текст. Минуточку, подождите! Если очень легко копировать настоящий ключ, то можно самому создавать его. Да, можно, но какой создать? Количество возможных ключей очень велико.

Современные криптографические системы имеют набор возможных ключей гораздо больший, чем набор возможных ключей обыкновенного замка от вашей двери. Это число может быть соизмеримо с числом атомов нашей Вселенной (1077≈2264). Перебор всех возможных ключей эквивалентен взлому дверей, т.е. применению грубой силы. Можно сделать секретный уникальный замок, к которому типовая воровская отмычка не подойдет. В древние времена, когда монархи, удельные князья или графы создавали секретные убежища, подземные ходы, строителей обычно убивали, ослепляли, в общем, делали все, чтобы сохранить в тайне эти сооружения. А что вы будете делать с мастером вашего замка? Он же знает конструкцию замка, и, возможно, даже делал к нему ключ! Голландский военный криптограф Датчман А. Керкхоффс еще в 19 веке решил эту проблему, сформулировав в книге «Военная криптография», изданной в 1883 г., шесть основных требований к системе шифрования: система шифрования должна быть не раскрываемой, если не в теоретическом плане, то в практическом; компрометация системы не должна причинять неудобств ее пользователям; секретный ключ должен быть легко запоминаемым без его записи; криптограмма должна быть представлена в такой форме, чтобы ее можно было передать по телеграфу; аппаратура шифрования должна быть портативной и такой, чтобы ее мог обслуживать один человек; система не должна требовать запоминания длинного перечня правил и быть простой в использовании.

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

В вашем РС ключ представляет собой некоторый файл, который состоит их нулей и единиц. Каждый ноль или единица представляет собой одно из двух значений единицы информации, которая называется битом. Суммарное значение нулей и единиц в файле ключа определяет его длину. Например, ключ длиной 256 бит означает, что файл ключа содержит некоторое число нулей и единиц, суммарное число которых равно 256. Сколько же всего может быть ключей? Можно построить специальную вычислительную машину для быстрого перебора ключей. Наверное, эта машина будет стоить достаточно больших денег. Гордон Э.Мур (Gordon E. Moor) заметил, что за год размеры процессоров, их стоимость и время выполнения команд уменьшаются приблизительно на 40%. Эту закономерность называют в честь этого исследователя законом Мура. Можно проиллюстрировать действие закона Мура на примере вскрытия криптографического алгоритма DES с длиной ключа равной 46 бит. На текущий отрезок времени принято, что длина ключа в 246 бит вполне приемлема для защиты от полного перебора ключевого поля. Таким образом, ключ - это секретный параметр алгоритма криптографического преобразования данных, обеспечивающий выбор только одного варианта из всех возможных вариантов данного алгоритма.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

См. также

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Контроль качества ключей

При генерации ключей как с помощью программно-аппаратного решения Stealthphone Key Hard , так и с помощью программных решений Stealthphone Key Soft или Stealthphone Tell , производится постоянный контроль качества ключей с точки зрения их надежности.

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

Программные генераторы построены на принципе постоянного накопления энтропии – действительно случайной последовательности – и дальнейшего ее использования при выполнении процедуры генерации ключей

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

Классификация ключей

  • Все ключи шифрования делятся на ключи шифрования данных и ключи шифрования ключей. Это значит, что каждый ключ шифрования используется либо исключительно для шифрования данных (включая речь), либо исключительно для шифрования ключей, в частности тех, на которых шифруются данные и речь.
  • Все ключи делятся на долговременные и одноразовые. Долговременные ключи используются неоднократно в течение определенного периода времени; одноразовые ключи используются один раз для шифрования фрагмента данных или речи. К долговременным ключам относятся все ключи шифрования ключей, а также ключи шифрования данных внутри смартфона или компьютера; для долговременных ключей предусмотрены процедуры их замены, плановой или внеплановой – в случае утери или компрометации.
  • Кроме того, ключи шифрования могут быть выстроены в определенную иерархию:
    • На самом верху находится ключ аутентификации, который нигде не хранится и вырабатывается в результате выполнения процедуры аутентификации абонента устройством на основе пароля
      • Далее располагается зашифрованный с использованием ключа аутентификации мастер-ключ. С помощью мастер-ключа шифруются:
        • все ключи шифрования ключей шифрования данных
        • все ключи шифрования данных, хранящиеся в аппаратном шифраторе Stealthphone Hard или мобильном телефоне (планшете).
    • Следующий уровень составляют ключи шифрования ключей шифрования данных. Данные ключи шифруются при помощи мастер-ключа и используются при выработке сеансовых ключей.
    • На нижнем уровне располагаются ключи, при помощи которых шифруются данные. Каждый такой ключ шифруется.
  • Для шифрования речи используются только одноразовые сеансовые ключи, которые уничтожаются в конце разговора; объем речевых данных, шифруемых одним сеансовым ключом, поэтому время одного сеанса зашифрованного разговора также ограничено.
  • Для шифрования передаваемых данных используются только одноразовые ключи; объем данных, шифруемых одним сеансовым ключом, ограничен, т.е. при шифровании, например, файла большого объема, может быть использовано несколько сеансовых ключей.

Хранение долговременных ключей шифрования

Долговременные ключи шифрования хранятся только в зашифрованном виде. В зависимости от используемого продукта, они хранятся либо в аппаратном шифраторе (Stealthphone Hard), либо в программном шифраторе (Stealthphone Soft , Stealthphone Tell).

Особенности ключевой системы в системе информационной безопасности Stealthphone

В системе Stealthphone защищенный обмен информацией возможен исключительно в рамках одной криптосети (сети Stealthphone).

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

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

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

Ключи парной связи шифрования речи для всех абонентов сети Stealthphone можно расположить в квадратной таблице (матрице) размера N×N по следующему правилу:

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

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

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

Строка матрицы с номером A образует множество всех ключей парной связи для обмена шифрованной информацией абонента с криптономером A с остальными абонентами криптосети. Общее количество ключей парной связи каждого абонента для обмена шифрованной информацией со всеми остальными абонентами сети равно 4×(N – 1), где N - число абонентов сети.

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

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

Таким образом, начальной загрузки ключей в абонентские устройства может хватить на несколько лет эксплуатации без перезаписи.