Асимметричное шифрование

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

Совет

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

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

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

Что такое асимметричная криптография?

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

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

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

Объяснение концепции криптографии с открытым ключом

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

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

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

Как работает асимметричное шифрование?

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

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

23 x 199 = 4,577

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

Примечание

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

Где используется асимметричная криптография?

Криптография с открытым ключом часто используется для трафика электронной почты, например, в стандартном методе шифрования S/MIME, для цифровых подписей, а также для криптографических протоколов, таких как SSL/TLS, SSH и HTTPS.

Совет

HTTPS расшифровывается как Hypertext Transfer Protocol Secure. В отличие от широко используемого небезопасного протокола передачи гипертекста (HTTP), данные, передаваемые через HTTPS, шифруются асимметрично и, таким образом, передаются безопасно.

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

Примеры асимметричного шифрования

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

Примечание

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

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

RSA считается старым, но проверенным методом подписи. Пара альтернатив, которые генерируют и распознают цифровые подписи с помощью аналогичного метода, — это DSA (Digital Signature Algorithm) и ElGamal.

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

Каковы преимущества и недостатки асимметричной криптографии?

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

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

Оцените статью
cdelat.ru
Добавить комментарий