Шифрование: типы и алгоритмы. Что это, чем отличаются и где используются?
Многие до сих пор недооценивают важность SSL сертификатов, а ведь их технология лежит в основе безопасности и конфиденциальности любой информации в сети Интернет. Шифрование — преобразование данных в нешифруемый формат, таким образом, что только авторизованные пользователи могут получить доступ к информации. Процесс шифрования становится возможным благодаря криптографическим ключам в сочетании с различными математическими алгоритмами. В этой статье рассмотрим два основных типа шифрования — симметричное и асимметричное, а также 5 наиболее часто используемых алгоритмов шифрования.
Давайте разберемся со всем по порядку.
Симметричное шифрование
Метод симметричного шифрования, как и следует из названия, использует один криптографический ключ для шифрования и дешифрования данных. Использование одного ключа для обеих операций делает процесс простым. Давайте разберемся с процессом симметричного шифрования на простом примере:
В Киеве живут два близких друга Антон и Алиса. По какой-то причине Алиса вынуждена покинуть город. Единственный способ общаться друг с другом — по почте. Но есть одна проблема: Антон и Алиса боятся, что кто-то сможет прочитать их письма.
Чтобы защитить свои письма, они решили шифровать сообщения таким образом, чтобы каждая буква заменялась буквой на семь позиций вниз по алфавиту. Вместо того, чтобы писать «Apple», они будут писать «hwwsl» (A -> H, P -> W, L -> S, E -> L). Чтобы расшифровать сообщение, необходимо каждую букву заменить на семь позиций в алфавитном порядке назад. Такую технику шифрования давным-давно использовал римский император и военный генерал Гай Юлий Цезарь, известна она еще как «шифр Цезаря».
Что делает симметричное шифрование хорошим решением
Наиболее выдающейся особенностью симметричного шифрования является простота процесса, так как используется один ключ как для шифрования, так и для дешифрования. Когда требуется зашифровать большой кусок данных, симметричное шифрование оказывается отличным вариантом. В результате алгоритмы симметричного шифрования:
- Значительно быстрее, чем их аналоги асимметричного шифрования (о чем мы вскоре поговорим);
- Требуется меньше вычислительной мощности;
- Не снижается скорость интернета.
3 алгоритма симметричного типа шифрования
“Шифр Цезаря” основан на особой логике шифрования данных, разгадав которую можно легко расшифровать информацию. Современные же методы шифрования, основаны на очень сложных математических функциях, которые взломать практически невозможно.
Существуют сотни алгоритмов симметричного типа! Наиболее распространенные из них — AES, RC4, DES, 3DES, RC5, RC6 и т. д. Давайте рассмотрим три самых популярных.
1. DES-алгоритм симметричного шифрования
DES (data encryption standard), представленный в 1976 году, является старейшей симметричных методов шифрования. Он был разработан IBM для защиты конфиденциальных правительственных данных и был официально принят в 1977 году для использования федеральными агентствами в США. Алгоритм шифрования DES был одним из тех, который был включен в версии 1.0 и 1.1 TLS (transport layer security).
DES преобразует 64-битные блоки данных открытого текста в зашифрованный текст путем разделения на два отдельных 32-битных блока, применяя процесс шифрования к каждому отдельно. Включает в себя 16 циклов различных процессов — таких как расширение, перестановка, замена или другие операции, через которые будут проходить данные в зашифрованном виде. В конечном итоге 64-битные блоки зашифрованного текста создаются в качестве выходных данных.
В 2005 году DES был официально объявлен устаревшим и был заменен алгоритмом шифрования AES. Самым большим недостатком DES была слишком маленькая длина ключа шифрования, что облегчало взлом. Протокол TLS 1.2, который широко используется сегодня не использует метод шифрования DES.
2. Алгоритм симметричного шифрования 3DES
3DES также известный как TDEA (triple data encryption algorithm), как следует из названия, является обновленной версией алгоритма DES. 3DES был разработан для преодоления недостатков алгоритма DES и был введен в эксплуатацию в конце 1990 года. Обновленный алгоритм применял циклы DES трижды к каждому блоку данных. В результате 3DES было намного сложнее взломать, чем его предшественника DES. TDEA стал широко используемым алгоритмом шифрования в платежных системах и других технологиях финансовой индустрии. Он также стал частью криптографических протоколов, таких как TLS, SSH, IPsec и OpenVPN.
Все алгоритмы шифрования в конечном итоге поддаются власти времени, и 3DES не стал исключением. Уязвимость Sweet32 алгоритма 3DES была обнаружена Картикеяном Бхаварганом и Гаэтаном Леурентом. Это открытие заставило индустрию безопасности рассмотреть вопрос об устаревании алгоритма, а Национальный институт стандартов и технологий США (англ. National Institute of Standards and Technology, NIST) объявил об этом официально в проекте руководства, опубликованном в 2019 году.
Согласно этому проекту, использование 3DES должно быть отменено во всех новых приложениях после 2023 года. Стоит также отметить, что TLS 1.3, новейший стандарт для протоколов SSL/TLS, также прекратил использование 3DES.
3. Алгоритм симметричного шифрования AES
AES(advanced encryption system) также известный как Rijndael, является одним из наиболее распространенных алгоритмов шифрования. Был разработан в качестве альтернативы DES и после утверждения NIST в 2001 году стал новым стандартом шифрования. AES — это семейство блочных шифров с различной длиной ключей и разными размерами блоков.
AES работает методами подстановки и перестановки. Сначала незашифрованные данные преобразуются в блоки, а затем шифрование применяется с использованием ключа. Процесс шифрования состоит из различных процессов, таких как сдвиги строк, смешивание столбцов и добавление ключей. В зависимости от длины ключа выполняется 10, 12 или 14 таких трансформаций (раундов). Стоит отметить, что последний раунд отличается от предыдущих и не включает подпроцесс микширования.
Преимущество использования алгоритма шифрования AES
Все это сводится к тому, что AES безопасен, быстр и гибок. Алгоритм AES — намного быстрее DES. Варианты с различными длинами ключей — это самое большое преимущество: чем длиннее ключи, тем сложнее их взломать.
На сегодняшний день AES является наиболее популярным алгоритмом шифрования — он используется во многих приложениях, включая:
- Беспроводную безопасность;
- Безопасность процессоров и шифрование файлов;
- Протокол SSL/TLS (безопасность сайтов);
- Безопасность Wi-Fi;
- Шифрование мобильных приложений;
- VPN (virtual private network) и т. д.
Многие правительственные учреждения США используют алгоритм шифрования AES для защиты своей конфиденциальной информации.
Асимметричное шифрование
Асимметричное шифрование, в отличие от симметричного, включает в себя несколько ключей для шифрования и дешифрования данных, которые математически связаны друг с другом. Один из этих ключей известен как «открытый ключ», а другой — как «закрытый ключ». Асимметричный метод шифрования также известен как «криптография с открытым ключом».
Симметричное шифрование прекрасно работает, когда наши Алиса и Антон хотели обмениваться информацией между собой. Но что, если Антон хочет безопасно общаться с сотнями людей? Непрактично и неудобно использовать разные ключи для каждого собеседника.
Чтобы решить эту проблему, Антон использует шифрование с открытым ключом, т.е. он дает открытый ключ каждому, кто отправляет ему информацию, а секретный ключ он хранит при себе. Он поручает им зашифровать информацию с помощью открытого ключа, чтобы данные можно было расшифровать только с помощью его личного ключа. Это исключает риск компрометации ключа, поскольку данные могут быть расшифрованы только с использованием закрытого ключа, который есть у Антона.
Что делает асимметричное шифрование хорошим решением
Первое (и наиболее очевидное) преимущество этого типа шифрования — безопасность, которую он обеспечивает. В этом методе открытый ключ — который является общедоступным — используется для шифрования данных, в то время как расшифровка данных выполняется с использованием закрытого ключа, который необходимо надежно хранить. Это гарантирует, что данные остаются защищенными от атак «человек посередине» (MiTM). Для веб-серверов и серверов электронной почты, которые постоянно подключаются к сотням тысяч клиентов нужно управлять только одним ключом и защищать его. Другой ключевой момент заключается в том, что криптография с открытым ключом позволяет создавать зашифрованное соединение без необходимости встречаться в автономном режиме, чтобы сначала обменяться ключами.
Вторая важная особенность, которую предлагает асимметричное шифрование, — это аутентификация. Как мы видели, данные, зашифрованные с помощью открытого ключа, могут быть расшифрованы только с помощью закрытого ключа, связанного с ним. Следовательно, он гарантирует, что данные видит и дешифрует только тот объект, который должен их получить. Проще говоря, это подтверждает, что вы разговариваете или обмениваетесь информацией с реальным человеком или организацией.
2 основных типа алгоритмов асимметричного шифрования
Рассмотрим два основных типа алгоритмов асимметричного шифрования.
1. Алгоритм асимметричного шифрования RSA
В 1977 году алгоритм изобрели трое ученых из Массачусетского технологического института Рон Ривест, Ади Шамир и Леонард Адлеман (Ron Rivest, Adi Shamir, and Leonard Adleman отсюда «RSA»). На сегодняшний день является наиболее используемым алгоритмом асимметричного шифрования. Его эффективность заключается в методе «первичной факторизации». По сути, выбираются два различных случайных простых числа заданного размера (например, 1024 бита каждое) и умножаются, чтобы создать еще одно гигантское число. Задача состоит в том, чтобы определить исходные простые числа из умноженного гигантского. Оказывается, эта головоломка практически невозможна для современных суперкомпьютеров, не говоря уже о людях.
В 2010 году группа добровольцев провела исследование и им потребовалось более 1500 лет вычислительного времени (распределенного по сотням компьютеров), чтобы взломать 768-битный ключ RSA, что намного ниже стандартного 2048-битного, который используется сегодня.
Преимущество использования алгоритма шифрования RSA
Большим преимуществом RSA является его масштабируемость, ключи могут быть разной длины шифрования: 768-битный, 1024-битный, 2048-битный, 4096-битный и т. д.
RSA основан на простом математическом подходе, поэтому его реализация в инфраструктуре открытых ключей (PKI) становится легкой. Адаптивность и безопасность сделали RSA наиболее используемым алгоритмом асимметричного шифрования для различных приложений, включая сертификаты SSL / TLS, криптовалюты и шифрование электронной почты.
2. Алгоритм асимметричного шифрования ECC
В 1985 году два математика по имени Нил Коблиц и Виктор Миллер предложили использовать эллиптические кривые в криптографии. Спустя почти два десятилетия их идея воплотилась в реальность, алгоритм ECC (Elliptic Curve Cryptography) начали использовать в 2004-2005 годах.
В процессе шифрования ECC эллиптическая кривая представляет набор точек, которые удовлетворяют математическое уравнение (y 2 = x 3 + ax + b).
Как и RSA, ECC также работает по принципу необратимости. Проще говоря, в ECC число, символизирующее точку на кривой, умножается на другое число и дает другую точку на кривой. Теперь, чтобы взломать эту головоломку, вы должны выяснить новую точку на кривой. Математика ECC построена таким образом, что найти новую точку практически невозможно, даже если вы знаете исходную точку.
Преимущество использования алгоритма шифрования ECC
Не смотря на то, что по сравнению с RSA, в ECC используется более короткая длина ключа, обеспечивает он большую безопасность (от современных методов взлома).
Еще одним преимуществом использования более коротких ключей в ECC является более высокая производительность. Короткие ключи требуют меньшей сетевой нагрузки и вычислительной мощности, и это отлично подходит для устройств с ограниченными возможностями хранения и обработки. Использование алгоритма ECC в сертификатах SSL/TLS значительно сокращает время, необходимое для шифрования и дешифрования, что помогает быстрее загружать веб-сайт. Алгоритм ECC используется для приложений шифрования, цифровых подписей, в псевдослучайных генераторах и т. д.
Однако проблема массового использования ECC заключается в том, что многие серверные программы и панели управления еще не добавили поддержку сертификатов ECC SSL/TLS. Мы надеемся, что это изменится в скором будущем, а пока что RSA будет продолжать оставаться наиболее используемым алгоритмом асимметричного шифрования.
Гибридное шифрование: симметричное + асимметричное
Следует сразу же оговориться, что гибридное шифрование не является «отдельным методом», как симметричное или асимметричное, в нем используются все преимущества обоих методов и создается синергия надежных систем шифрования.
Каждый из алгоритмов шифрования имеет свои недостатки. Например, метод симметричного шифрования отлично подходит для быстрого шифрования больших объемов данных. Но он не обеспечивает проверку личности, что является необходимым, когда речь заходит о безопасности в Интернете. С другой стороны, асимметричное шифрование предоставляет доступ к данным предполагаемого получателя. Однако эта проверка делает процесс шифрования мучительно медленным.
Идея гибридного шифрования родилась, когда стало критично важно шифровать данные с высокой скоростью предоставляя при этом проверку личности.
Метод гибридного шифрования используется в SSL/TLS сертификатах во время последовательной связи между серверами и клиентами (веб-браузерами) в процессе, известном как “TLS handshake”. Сначала проверяется личность обеих сторон с использованием закрытого и открытого ключа. После того, как обе стороны подтвердят свою личность, шифрование данных происходит посредством симметричного шифрования с использованием эфемерного (сеансового) ключа. Это обеспечивает быструю передачу большого объема данных, которые мы отправляем и получаем в Интернете каждую минуту.
Типы методов шифрования
Если у вас возник вопрос: “Так какой же тип шифрования лучше?”, то явного победителя не будет.
С точки зрения безопасности, асимметричное шифрование, несомненно, лучше, поскольку оно обеспечивает аутентификацию. Однако производительность является аспектом, который не можно игнорировать, поэтому симметричное шифрование всегда будет необходимо.
Преимущества симметричного и асимметричного шифрования мы собрали в таблицу, с которой предлагаем ознакомится и вам.
Симметричное шифрование | Асимметричное шифрование |
Один ключ используется для шифрования и дешифрования данных. | Пара ключей используется для шифрования и дешифрования. Эти ключи известны как “открытый ключ” и “закрытый ключ”. |
Более простой метод шифрования, так как используется только один ключ. | В связи с тем, что используется пара ключей — процесс более сложный. |
Используется для шифрования большого объема данных. | Обеспечивает аутентификацию. |
Обеспечивает более высокую производительность и требует меньше вычислительной мощности. | Сложные процессы протекают медленнее и требуют большей вычислительной мощности. |
Для шифрования данных используется меньшая длина ключа (128-256 бит). | Используются более длинные ключи шифрования (1024-4096 бит). |
Идеально подходит для шифрования большого количества данных. | Используется при шифровании небольшого объема данных. |
Стандартные алгоритмы: RC4, AES, DES, 3DES и QUAD. | Стандартные алгоритмы: RSA, Diffie-Hellman, ECC, El Gamal и DSA. |
Большинство современных SSL сертификатов используют гибридный метод: асимметричное шифрование для аутентификации и симметричное шифрование для конфиденциальности. Такой сертификат не дает мошенникам перехватить или подменить личные данные пользователей: контактную информацию, номера банковских карт, логины, пароли, адреса электронной почты и т.д.
Специалисты техподдержки Hostpro помогут выбрать необходимый сертификат, ориентируясь на потребности вашего сайта. Также бесплатно установят и настроят работу по HTTPS. Свяжитесь удобным для вас способом в режиме телефонного звонка, on-line чата или тикет-системы 24/7.
Надежный SSL сертификат
Защитите ваш сайт и зашифруйте данные
Возможно, вас заинтересует
Как обнаружить вирусы на сайте и ликвидировать их с ImunifyAV+
Представьте, что вы заходите на свой веб-сайт и обнаруживаете, что он ведет себя странно...
Обновлено: 17.06.2024
|Вредоносные боты на сайте – как их обнаружить и заблокировать
Знаете ли вы, что значительную часть онлайн-трафика создают боты? Эти автоматизированные алгоритмы лежат в...
Обновлено: 10.06.2024
|Файл robots.txt и как его правильно настроить
Robots.txt — это файл, который размещается в папке сайта на хостинге и запрещает поисковому...
Обновлено: 29.05.2024
|Как подключить к сайту Cloudflare
Из этого гайда вы узнаете, как подключить к сайту Cloudflare всего за несколько кликов....
Обновлено: 16.08.2023
|
Наш телеграм
с важными анонсами, розыгрышами и мемами
Присоединиться