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

редактировать
Криптографическая система с открытыми и закрытыми ключами

Непредсказуемое (обычно большое и случайное ) число используется для начала генерации приемлемой пары ключей, подходящей для использования алгоритмом асимметричного ключа. В схеме шифрования с асимметричным ключом любой может зашифровать сообщения с помощью открытого ключа, но только владелец парный закрытый ключ можно расшифровать. Безопасность зависит от секретности закрытого ключа. В схеме обмена ключами Диффи – Хеллмана каждая сторона генерирует пару открытого / закрытого ключей и распространяет открытый ключ. После получения аутентичной копии открытых ключей друг друга Алиса и Боб могут вычислить общий секрет в автономном режиме. Общий секрет может использоваться, например, как ключ для симметричного шифра . . В этом примере сообщение имеет только цифровую подпись и не зашифровано. 1) Алиса подписывает сообщение своим закрытым ключом. 2) Боб может проверить, что Алиса отправила сообщение и что сообщение не было изменено.

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

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

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

Алгоритмы открытого ключа являются фундаментальными компоненты безопасности в современных криптосистемах, приложениях и протоколах, обеспечивающих конфиденциальность, подлинность и неотвратимость электронных сообщений и хранения данных. Они лежат в основе различных Интернет-стандартов, таких как Transport Layer Security (TLS), S / MIME, PGP и GPG. Некоторые алгоритмы открытых ключей обеспечивают распределение ключей и секретность (например, обмен ключами Диффи – Хеллмана ), некоторые предоставляют цифровые подписи (например, Алгоритм цифровой подписи ), а некоторые предоставляют и то, и другое (например, RSA ). По сравнению с симметричным шифрованием асимметричное шифрование работает медленно для многих целей. Сегодняшние криптосистемы (такие как TLS, Secure Shell ) используют как симметричное, так и асимметричное шифрование.

Содержание

  • 1 Описание
  • 2 Приложения
    • 2.1 Гибридные криптосистемы
  • 3 Слабые стороны
    • 3.1 Алгоритмы
    • 3.2 Изменение открытых ключей
    • 3.3 Инфраструктура открытых ключей
  • 4 Примеры
  • 5 История
    • 5.1 Прогноз
    • 5.2 Секретное открытие
    • 5.3 Открытие общественности
  • 6 См. Также
  • 7 Примечания
  • 8 Ссылки
  • 9 Внешние ссылки

Описание

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

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

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

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

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

A инфраструктура открытых ключей (PKI), в которой одна или несколько третьих сторон, известных как центры сертификации, удостоверяют право собственности на пары ключей. TLS полагается на это.

«сеть доверия », которая децентрализует аутентификацию, используя индивидуальные подтверждения связи между пользователем и открытым ключом. PGP использует этот подход, а также поиск в системе доменных имен (DNS). Система DKIM для цифровой подписи электронной почты также использует этот подход.

Приложения

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

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

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

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

Гибридные криптосистемы

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

Слабые стороны

Как и во всех системах, связанных с безопасностью, важно определить потенциальные слабые места.

Алгоритмы

Все схемы с открытым ключом теоретически уязвимы для «атаки методом перебора ключа ». Однако такие атаки непрактичны, если объем вычислений, необходимый для успеха - Клод Шеннон назвал «рабочий фактор» - недоступным для всех потенциальных злоумышленников. Во многих случаях коэффициент срабатывания можно увеличить, просто выбрав более длинный ключ. Но другие алгоритмы могут иметь гораздо более низкие рабочие факторы, что делает сопротивление атаке грубой силой несущественным. Были разработаны некоторые специальные и специфические алгоритмы, помогающие атаковать некоторые алгоритмы шифрования с открытым ключом - и RSA, и шифрование Эль-Гамаля известны атаки, которые намного быстрее, чем подход грубой силы.

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

Изменение открытых ключей

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

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

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

В некоторых сложных атаках типа «злоумышленник-посередине» одна сторона соединения будет видеть исходные данные, а другая - вредоносный вариант. Асимметричные атаки типа «злоумышленник посередине» могут помешать пользователям понять, что их соединение скомпрометировано. Это остается верным даже в том случае, если известно, что данные одного пользователя скомпрометированы, потому что данные выглядят нормально для другого пользователя. Это может привести к запутанным разногласиям между пользователями, например, "это должно быть на вашей стороне!" когда ни один пользователь не виноват. Следовательно, атаки типа «злоумышленник посередине» можно полностью предотвратить только тогда, когда инфраструктура связи физически контролируется одной или обеими сторонами; например, по проводному маршруту в собственном здании отправителя. Таким образом, открытые ключи легче изменить, когда оборудование связи, используемое отправителем, находится под контролем злоумышленника.

Инфраструктура открытого ключа

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

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

Несмотря на свои теоретические и потенциальные проблемы, этот подход широко используется. Примеры включают TLS и его предшественник SSL, которые обычно используются для обеспечения безопасности транзакций через веб-браузер (например, для безопасной отправки данных кредитной карты в интернет-магазин).

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

Примеры

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

Примеры алгоритмов асимметричного ключа, которые не получили широкого распространения, включают:

Примеры заметных, но небезопасных алгоритмов асимметричного ключа включают:

Примеры протоколов, использующих алгоритмы асимметричного ключа, включают:

History

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

Предвкушение

возникает ряд значительных практических трудностей, Уильям Стэнли Джевонс в своей книге 1874 года «Принципы науки» писал:

Может Читатель скажет, какие два числа, умноженные вместе, дадут число 8616460799 ? Я думаю, маловероятно, что кто-либо, кроме меня, когда-либо узнает.

Здесь он описал связь односторонних функций с криптографией, а затем подробно обсудил использованную проблему факторизации для создания функции-лазейки. В июле 1996 года математик Соломон В. Голомб сказал: «Джевонс предвидел ключевую особенность алгоритма RSA для криптографии с открытым ключом, хотя он определенно не изобретал концепцию криптографии с открытым ключом».

Засекреченное открытие

В 1970 году Джеймс Х. Эллис, британский криптограф из Государственного управления связи Великобритании (GCHQ), задумал возможность «не -секретное шифрование »(теперь называемое криптографией с открытым ключом), но не видел способа его реализовать. В 1973 году его коллега Клиффорд Кокс реализовал то, что стало известно как алгоритм шифрования RSA, дав практический метод «несекретного шифрования», а в 1974 году другой математик GCHQ и криптограф Малкольм Дж. Уильямсон разработал то, что сейчас известно как обмен ключами Диффи-Хеллмана. Схема также была передана в Агентство национальной безопасности США. С учетом военной направленности и низкой вычислительной мощности мощь криптографии с открытым ключом не была реализована ни в одной из организаций:

Я счел ее наиболее важной для использования в военных целях... если вы можете поделиться своим ключом быстро и в электронном виде, у вас будет большое преимущество. над вашим противником. Только в конце эволюции от Бернерс-Ли, разработавшей открытую интернет-архитектуру для ЦЕРН, ее адаптации и принятия для Arpanet... открытый ключ криптография полностью раскрывает свой потенциал.

Ральф Бенджамин

Их открытие не было публично признано в течение 27 лет, пока исследование не было рассекречено британским правительством в 1997 году.

Публичное открытие

В 1976 году асимметричный ключ Криптосистема была опубликована Уитфилдом Диффи и Мартином Хеллманом, которые под влиянием работы Ральфа Меркла по распространению открытых ключей раскрыли метод согласования открытых ключей. Этот метод обмена ключами, который использует возведение в степень в конечном поле, стал известен как обмен ключами Диффи – Хеллмана. Это был первый опубликованный практический метод установления общего секретного ключа по проверенному (но не конфиденциальному) каналу связи без использования предварительного общего секрета. «Техника согласования открытых ключей» Меркла стала известна как Головоломки Меркла, была изобретена в 1974 году и опубликована в 1978 году.

В 1977 году обобщение схемы Кокса было независимо изобретено Рон Ривест, Ади Шамир и Леонард Адлеман, все тогда в MIT. Последние авторы опубликовали свою работу в 1978 году, и алгоритм стал известен как RSA по их инициалам. RSA использует возведение в степень по модулю, произведение двух очень больших простых чисел, для шифрования и дешифрования, выполняя как шифрование с открытым ключом, так и цифровую подпись с открытым ключом. Его безопасность связана с крайней трудностью разложения больших целых чисел, проблемой, для которой не существует известной эффективной общей техники (хотя разложение на простые множители может быть получено с помощью атак грубой силы; это может быть труднее, чем больше простые факторы). Описание алгоритма было опубликовано в столбце Mathematical Games в августовском выпуске журнала Scientific American.

за 1977 год. С 1970-х годов появилось большое количество разнообразных способов шифрования, цифровой подписи, согласования ключей, и другие методы были разработаны в области криптографии с открытым ключом, включая криптосистему Рабина, шифрование Эль-Гамаля, DSA - и криптографию на эллиптических кривых.

См. Также

Примечания

Ссылки

Внешние ссылки

Последняя правка сделана 2021-06-02 10:02:33
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте