Лестницы. Входная группа. Материалы. Двери. Замки. Дизайн

Лестницы. Входная группа. Материалы. Двери. Замки. Дизайн

» » Криптография с открытым ключом. Закрытый ключ

Криптография с открытым ключом. Закрытый ключ

Иначе она может быть поставлена под сомнение и удалена.
Вы можете отредактировать эту статью, добавив ссылки на .
Эта отметка установлена 21 февраля 2017 года .

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

Примеры использования закрытого ключа

Электронная подпись

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

Шифрование сообщений

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

Ключевые носители

Сохранение закрытого ключа в тайне - важнейшее условие его безопасного использования. Наилучшим способом хранения электронного закрытого ключа является использование носителя, с которого закрытый ключ невозможно скопировать. К таким носителям относятся смарт-карты и их аналоги, а также устройства Hardware Security Module (HSM).

Генерация закрытого ключа

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

Преимущества и недостатки использования смарт-карт и HSM для генерации и использования закрытого ключа

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

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

Открытый ключ: сущность, место в классификации

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

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

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

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

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

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

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

В закрытом ключе применяется несимметричное и симметричное шифрование;
- в открытом - несимметричное.

Каждый из видов шифрования имеет свои особенности:

1. Симметричное шифрование. У участника электронного оборота есть ключ и алгоритм (схема) его применения. Для расшифровки или шифрования данных может применяться один и тот же ключ. Главная задача - сохранность ключа (к примеру, при его передаче между участниками). Следовательно, при таком типе шифрования сам ключ является закрытым.

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

открытых ключей - Public Key Infrastructure. По сути, PKI - группа материальных, технических и прочих средств для поддержки разных криптозадач.



В основе Public Key Infrastructure несколько принципов:

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

Открытый ключ: особенности создания и получения

Открытый ключ - часть усиленного сертификата. Его задача - подтверждение принадлежности ключа ЭЦП конкретному лицу. В составе сертификата есть следующие данные :

Уникальный номер регистрации;
- личные данные держателя (реквизиты, ФИО);
- период действия усиленного сертификата.



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

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

2. Подготовка необходимых бумаг (для частных и юридических лиц может различаться). В первом случае необходимо предъявить:

Заявление на регистрацию для последующего получения сертификата (используется образец);
- разрешение на применение персональных данных со стороны подписанта;
- копию выписки из ЕГРЮЛ или ЧП;
- идентификационный код и паспорт (достаточно копий).

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

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

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

Последний шаг - отправка отчетов в налоговую инспекцию.

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

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

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

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

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

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

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

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

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

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

  1. Вычислительно легко создавать пару (открытый ключ KU, закрытый ключ KR ).
  2. Вычислительно легко, имея открытый ключ и незашифрованное сообщение М , создать соответствующее зашифрованное сообщение:
  3. Вычислительно легко дешифровать сообщение, используя закрытый ключ :

    М = D KR [C] = D KR ]

  4. Вычислительно невозможно, зная открытый ключ KU , определить закрытый ключ KR .
  5. Вычислительно невозможно, зная открытый ключ KU и зашифрованное сообщение С , восстановить исходное сообщение М .

    Можно добавить шестое требование, хотя оно не выполняется для всех алгоритмов с открытым ключом :

  6. Шифрующие и дешифрующие функции могут применяться в любом порядке:

    М = Е KU ]

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

Обычно "легко" означает, что проблема может быть решена за полиномиальное время от длины входа. Таким образом, если длина входа имеет n битов, то время вычисления функции пропорционально n a , где а - фиксированная константа. Таким образом, говорят, что алгоритм принадлежит классу полиномиальных алгоритмов Р. Термин "трудно" означает более сложное понятие. В общем случае будем считать, что проблему решить невозможно, если усилия для ее решения больше полиномиального времени от величины входа. Например, если длина входа n битов, и время вычисления функции пропорционально 2 n , то это считается вычислительно невозможной задачей. К сожалению, тяжело определить, проявляет ли конкретный алгоритм такую сложность. Более того, традиционные представления о вычислительной сложности фокусируются на худшем случае или на среднем случае сложности алгоритма. Это неприемлемо для криптографии, где требуется невозможность инвертировать функцию для всех или почти всех значений входов.

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

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

Криптоанализ алгоритмов с открытым ключом

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

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

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

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

Основные способы использования алгоритмов с открытым ключом

Основными способами использования алгоритмов с открытым ключом являются шифрование/ дешифрование , создание и проверка подписи и обмен ключа.

Шифрование с открытым ключом состоит из следующих шагов:


Рис. 7.1.

  1. Пользователь В создает пару ключей KU b и KR b , используемых для шифрования и дешифрования передаваемых сообщений.
  2. Пользователь В делает доступным некоторым надежным способом свой ключ шифрования, т.е. открытый ключ KU b . Составляющий пару закрытый ключ KR b держится в секрете.
  3. Если А хочет послать сообщение В , он шифрует сообщение, используя открытый ключ В KU b .
  4. Когда В получает сообщение, он дешифрует его, используя свой закрытый ключ KR b . Никто другой не сможет дешифровать сообщение, так как этот закрытый ключ знает только В .

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

Создание и проверка подписи состоит из следующих шагов:



Рис. 7.2.
  1. Пользователь А создает пару ключей KR A и KU A , используемых для создания и проверки подписи передаваемых сообщений.
  2. Пользователь А делает доступным некоторым надежным способом свой ключ проверки, т.е.

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

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

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

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

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

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

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

Данный процесс схематически изображен на рисунке:

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

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

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