Симметричное шифрование 101: определение, как оно работает и когда используется

Carding 4 Carders

Professional
Messages
2,730
Reaction score
1,467
Points
113

Шифрование с симметричным ключом является частью практически всего, что вы делаете в Интернете.​

Мы разберем все, что вам нужно знать о том, что это такое, как и где вы его используете.
Хотя вы можете этого не осознавать, симметричное шифрование используется практически везде, куда бы вы ни посмотрели. Это часть того, что позволяет делать все, от безопасного онлайн-банкинга до заказа продуктов на доставку.
Но что такое шифрование с симметричным ключом? Если заглянуть «под капот», как работает симметричное шифрование? И какую роль это играет в вашей повседневной жизни в Интернете?
Давайте решим.

Что такое симметричное шифрование и для чего оно нужно? Определение и объяснение​

Проще говоря, симметричное шифрование - это тип шифрования, который использует один и тот же ключ для шифрования и дешифрования данных. И у отправителя, и у получателя есть идентичные копии ключа, которые они держат в секрете и никому не передаются. Это отличается от асимметричного шифрования, в котором используются два ключа - открытый ключ (к которому может получить доступ любой) для шифрования информации и закрытый ключ для дешифрования информации.
На всякий случай, если это полезно, давайте кратко рассмотрим, как работает шифрование в целом:
  1. Отправитель использует ключ шифрования (обычно строку букв и цифр) для шифрования своего сообщения.
  2. Зашифрованное сообщение, называемое зашифрованным текстом, выглядит как зашифрованные буквы и никому не может быть прочитано в пути.
  3. Получатель использует ключ дешифрования для преобразования зашифрованного текста обратно в читаемый текст.
В приведенном выше примере мы использовали один и тот же ключ для шифрования и дешифрования, что означает, что это симметричное шифрование.
Только эти две стороны (отправитель и получатель) могут читать и получать доступ к данным. Поэтому это также иногда называют шифрование секретного ключа , шифрования секретного ключа, частный криптографию с открытым ключом, симметричную криптографию и ключа шифрования симметричного.
Как работает шифрование с симметричным ключом? Основную концепция работы шифрования с симметричным ключом: два идентичных ключа шифруют и дешифруют данные.
Наличие только одного ключа для обслуживания функций шифрования и дешифрования упрощает процесс шифрования. В конце концов, вы применяете один ключ, чтобы превратить открытый текст, читаемую информацию в нечитаемую тарабарщину (зашифрованный текст) и наоборот. Одним из преимуществ использования симметричного шифрования является то, что оно обеспечивает конфиденциальность и конфиденциальность данных без дополнительной сложности, связанной с использованием нескольких ключей.
В некоторых случаях шифрование с симметричным ключом работает само по себе. Например, это полезно для шифрования баз данных и файлов, когда вы не обмениваетесь данными между сторонами публично. Но, как и в любом техническом процессе, у использования шифрования с симметричным ключом есть и другие преимущества и недостатки, например, проблемы с распределением ключей и управлением, о которых мы поговорим чуть позже. А пока поговорим об истории симметричного шифрования.

Симметричное шифрование ключей - не новая концепция​

Хотя шифрование с симметричным ключом в смысле кодирования цифровых данных с помощью компьютеров является относительно новым (оно существует с середины 1900-х годов), лежащая в его основе концепция - нет. Сама по себе симметричная криптография - это процесс, который, как считается, был создан тысячи лет назад.
Ранний пример симметричного шифрования - и, вероятно, самый известный симметричный шифр - приписывается римскому генералу Юлию Цезарю. Этот конкретный шифр удачно известен как шифр Цезаря (подробнее об этом через пару минут). Однако были и другие типы симметричных шифров, которые существовали на протяжении всей истории, включая все, от шифра Виженера, восходящего к 1500-м годам, до современного алгоритма AES (подробнее об этом позже).
Шифрование с симметричным ключом - это способ зашифровать сообщение, чтобы только вы и ваш предполагаемый получатель могли его прочитать. Это один из видов шифрования данных, но не единственный. Существует также другой тип шифрования, который похож по названию, но отличается по назначению: асимметричное шифрование. Мы упоминали об этом ранее, но просто знайте, что асимметричное шифрование - это то, что позволяет аутентифицировать и обмениваться симметричными ключами через общедоступные каналы (например, Интернет).
Однако мы не собираемся здесь останавливаться на всех особенностях асимметричного шифрования. Это тема в другой раз. А пока мы приглашаем вас ознакомиться с этой статьей о различиях между асимметричным и симметричным шифрованием, чтобы узнать больше по этой теме.
Итак, пока что давайте придерживаться своего курса и продолжим наше путешествие по миру симметричного шифрования.

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

Пришло время поближе познакомиться с процессом симметричного шифрования. Чтобы понять, как работает симметричная криптография, вам необходимо знать, какие компоненты участвуют в процессе:
  • Ваше исходное сообщение, которое вы хотите зашифровать (данные в виде открытого текста).
  • Алгоритм шифрования с симметричным ключом (мы коснемся различных типов алгоритмов чуть позже).
  • Идентичный секретный ключ, который есть только у вас и вашего предполагаемого получателя, который шифрует и дешифрует данные.
  • Зашифрованное сообщение, которое никто не может прочитать (зашифрованный текст).
Симметричное шифрование работает по принципу шифрования и дешифрования данных с использованием идентичных ключей. Данные, однажды зашифрованные в зашифрованный текст, не могут быть прочитаны или поняты никем, у кого нет ключа. Это означает, что вы и сторона, с которой вы общаетесь, должны иметь идентичную копию ключа для безопасного взаимодействия.
Чтобы лучше понять, как работает симметричное шифрование и как все эти компоненты работают вместе, давайте рассмотрим базовый тип симметричного шифрования, известный как шифр Цезаря.

Как работает простой шифр смещения (шифр подстановки)​

Легко представить себе этот процесс шифрования с помощью шифра Цезаря или того, что известно как шифр замещения или сдвига. Это был метод, с помощью которого Цезарь мог тайно общаться со своими генералами, при этом никто не мог прочитать сообщения (даже если носители сообщений были перехвачены).
В этом случае шифр , также известный как алгоритм , представляет собой количество или последовательность шагов, которые вы использовали бы для преобразования простой текстовой информации в нечитаемый зашифрованный текст. С помощью простого шифрования сдвига вы можете зашифровать и расшифровать сообщение, просто сдвинув сообщение по алфавиту на заданное количество пробелов.
Представьте себе, что вы записываете весь алфавит в одну длинную строку. И когда вы используете шифр сдвига, вы сдвигаете любую букву X на количество пробелов. Итак, если бы вы переместили букву «G» на девять пробелов, она превратилась бы в «P». Буква «О» превратилась бы в «Х». Это означает, что, например, сообщение «Доброе утро, солнышко» затем становится «Pxxm vxawrwp bdwbqrwn», когда вы сдвигаете каждую букву на девять пробелов вправо.
Итак, ключ в шифре Цезаря - это секретное значение, известное только вам и вашему получателю, которое сообщает вам, на сколько букв нужно сдвинуть.
Однако в настоящее время мы не передаем бумажные сообщения туда и обратно. Сегодняшний обмен информацией происходит через виртуальные каналы через компьютеры, веб-сайты и Интернет в целом. И хотя Интернет делает вещи невероятно удобными, онлайн-банкинг или оплата проезда через Интернет сопряжены с определенными рисками.

Роль симметричного шифрования ключей в безопасности веб-сайтов​

Шифрование с симметричным ключом является частью экосистемы инфраструктуры открытого ключа (PKI), которая позволяет безопасно обмениваться данными через небезопасный Интернет путем преобразования данных простого текста (читаемых) в нераспознаваемый зашифрованный текст. Фактически, вы используете технологии и процессы на основе PKI прямо сейчас как часть вашего подключения к TheSSLStore.com для чтения этой статьи.
Видите замок в адресной строке браузера? Это означает, что на нашем веб-сайте установлен сертификат безопасности веб-сайта (сертификат SSL/TLS), и вы используете безопасное зашифрованное соединение для отправки данных. Это то, что помогает подключиться к нашему веб-сайту, используя безопасный протокол HTTPS вместо небезопасного протокола HTTP.
Это также означает, что ваш браузер (клиент) уже прошел процесс:
  • Аутентификация сервера нашего веб-сайта,
  • Переговоры с сервером об используемых алгоритмах шифрования;
  • Генерация симметричных ключей сеанса.
Принцип работы HTTPS заключается в том, что мы используем асимметричное шифрование для первой аутентификации сервера веб-сайта и обмена симметричными ключами сеанса. Это часть процесса, известного как рукопожатие TLS, которого существует три версии (TLS 1.0, TLS 1.2 и TLS 1.3). После этого мы используем симметричное шифрование для фактического объема шифрования данных, которое происходит во время вашего сеанса.
В общем, рукопожатие TLS:
  • Позволяет нашему веб-серверу аутентифицироваться в вашем браузере (веб-клиенте),
  • Устанавливает параметры для использования в защищенной связи (например, решает, какой алгоритм шифрования использовать),
  • Определяет, какой протокол обмена ключами использовать, и
  • Создает сеансовый ключ, который знают только две взаимодействующие стороны, используя этот алгоритм и другие общедоступные и частные переменные.
Причина перехода к симметричному шифрованию заключается в том, что оно быстрее и менее ресурсоемко, чем асимметричное шифрование, когда вы шифруете большие объемы данных. Это особенно важно для предприятий, которые масштабно шифруют данные. Подумайте о банках и крупных компаниях.
Давайте рассмотрим несколько алгоритмов шифрования, которые подпадают под зонтик симметричного шифрования.

Симметричные алгоритмы шифрования​

Симметричные алгоритмы делятся на два основных типа: потоковые и блочные шифры. Блочные шифры шифруют данные порциями (блоками), тогда как потоковые шифры шифруют данные по одному биту за раз. Итак, каковы наиболее часто используемые или известные симметричные алгоритмы?
  • Стандарт шифрования данных (DES) - DES - это тип блочного шифра, который шифрует данные 64-битными блоками и использует один ключ одного из трех размеров (64-битный, 128-битный и 192-битный ключи). Однако один из каждых 8 битов является битом четности, а это означает, что 64-битный ключ одиночной длины действительно похож на 56-битный ключ. Хотя DES является одним из первых алгоритмов симметричного шифрования, он считается небезопасным и устарел.
  • Стандарт тройного шифрования данных (TDEA / 3DES) - в отличие от DES, тройной DES может использовать два или три ключа, что позволяет этому алгоритму использовать несколько раундов шифрования (или, точнее, раунд шифрования, раунд дешифрования и еще один раунд). шифрования). Хотя 3DES более безопасен, чем его предшественник DES, он не так безопасен, как его преемник, AES.
  • Advanced Encryption Standard (AES) - этот алгоритм шифрования чаще всего используется в Интернете. Расширенный стандарт шифрования является более безопасным и эффективным , чем DES и 3DES с основными опциями , которые являются 128 бит, 192 бит и 256 бит. Однако, хотя это также тип блочного шифра, он работает иначе, чем DES и 3DES, потому что он основан на сети замещения-перестановки вместо шифра Фейстеля.
Конечно, мы собираемся осветить эти три алгоритма с симметричным ключом, а также различия между блочным и потоковым шифрами в ближайшие недели в дополнительных статьях. А пока перейдем к обсуждению «секрета» шифрования секретного ключа.

Чтобы симметричное шифрование работало, ключ должен оставаться в секрете…​

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

Удаленное распространение ключей: как безопасно поделиться ключом для упрощения симметричного шифрования​

Допустим, вы хотите поделиться секретными сообщениями со своей подругой Эрикой, которая находится в другой стране, но у нее нет ключа для расшифровки этих сообщений. Это означает, что вам нужно будет получить ей общий ключ, чтобы она могла безопасно расшифровать сообщение.
Для этого вам нужно отправить секретный ключ через Интернет, что, как вы знаете, совсем не безопасно. В конце концов, ваше интернет-соединение на своем пути может прерваться через десятки различных точек соприкосновения. Это означает, что любой Том, Дик или Гарри - любой киберпреступник, правительство или кто-либо еще, кому вы не хотите читать свои сообщения - могут перехватить ключ в пути и с легкостью расшифровать ваши сообщения, и вы не станете мудрее. Это известно как атака «человек посередине» (MitM).
Итак, отправка данных (особенно ключей) через Интернет - не лучшая идея, а это значит, что нам нужно искать альтернативный метод. Вот где в игру вступают асимметричные тактики, такие как асимметричный обмен ключами (т. Е. Генерация ключей), такие как RSA и Diffie-Hellman.

Роль протоколов обмена ключами​

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

RSA против ключевых бирж Диффи-Хеллмана​

Алгоритм шифрования RSA, который расшифровывается как Ривест-Шамир-Адлеман (фамилии трех человек, которые его создали), представляет собой механизм аутентификации и обмена ключами, который обычно используется в процессе установления связи TLS 1.2. При обмене ключами RSA шифрование с открытым ключом упрощает обмен предварительным секретом и случайным образом сгенерированным числом от клиента, которые вместе генерируют общий сеансовый ключ.
При обмене ключами Диффи-Хеллмана сервер и клиент вместо этого взаимно согласовывают значение, которое используется для ключа сеанса. (Подробнее об этом чуть позже.)
Однако использование RSA для обмена ключами не одобряется (хотя некоторые системы все еще используют его) из-за уязвимостей, обнаруженных криптологом Даниэлем Блейхенбахером. Фактически, комплекты шифров для обмена ключами RSA (и неэфемерные группы Диффи-Хеллмана) были объявлены устаревшими с развертыванием TLS 1.3 в попытке обеспечить полную прямую секретность (которая использует эфемерный ключ). Таким образом, обмен ключами RSA был заменен эксклюзивным использованием обменов эфемерными ключами Диффи-Хеллмана.
Алгоритм обмена ключами Диффи-Хеллмана - это система распределения открытых ключей, которая использует модульную арифметику для получения согласованного секретного номера (сеансового ключа). Итак, как вы можете видеть, наименование алгоритма Диффи-Хеллмана «шифровальным» на самом деле вводит в заблуждение, поскольку его нельзя использовать для шифрования или дешифрования чего-либо. И это не столько «обмен ключами», сколько процесс генерации ключей . Да, происходит обмен переменными, но вы все равно создаете ключ на основе этих обменов.
Диффи-Хеллман использует обмен общедоступными переменными (числами) для создания общего решения, известного как сеансовый ключ. Этот секретный сеансовый ключ используется для обмена данными по безопасному каналу, защищенному симметричным шифрованием.
Посмотрите это отличное видео, чтобы увидеть, как работает процесс обмена ключами Диффи-Хеллмана с использованием цветов:

Насколько надежны симметричные ключи?​

Сила любого криптографического ключа зависит от нескольких конкретных соображений.
  • Длина ключа,
  • Случайность (энтропия) того, как он был сгенерирован, и
  • Сколько времени нужно, чтобы обратить вспять, чтобы выяснить, зависит от отдельных компонентов.
Теперь вы можете задаться вопросом, может ли киберпреступник просто повернуть процесс вспять, чтобы угадать переменные для вычисления использованных чисел. Это возможно, но реальность того, что происходит, настолько далека, что это непрактично. Я говорю это, потому что, хотя киберпреступники понимают, как работают эти вычисления, невероятно сложно отменить процесс, чтобы узнать секретный номер, который вы или ваш получатель использовали для генерации совпадающих ключей сеанса.
Это восходит к концепции, которая обсуждалась в видео, где показано использование смешивания определенных цветов для создания общей ценности. Хотя легко комбинировать цвета для создания общего значения, практически невозможно деконструировать эти значения, чтобы точно выяснить, какие оттенки цветов использовались для их создания.
Более того, поскольку цифры, которые используются в этих расчетах, огромны, потребуется больше времени, чем у любого киберпреступника во время сеанса, чтобы вычислить их. Даже с самыми современными суперкомпьютерами злоумышленнику придется потратить сотни, если не тысячи лет, на попытки вычислить отдельные числа, которые вы использовали оба. Не знаю, как вы, но у нас, смертных, не так много времени тратить на такие задачи.
Итак, теперь, когда мы знаем, что такое симметричное шифрование и как оно работает, как оно используется в реальном мире?

Примеры того, где вы уже используете симметричное шифрование​

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

Банковское дело​

Вы когда-нибудь слышали о PCI DSS? В индустрии платежных карт по стандартам безопасности данных представляют собой набор из 12 требований, предприятие или организация , которые принимают платежи по кредитным картам должно придерживаться. Симметричное шифрование является ключевым компонентом соответствия PCI, поскольку оно напрямую коррелирует с требованием № 3, которое направлено на защиту данных держателей карт в состоянии покоя.
Это отличается от требования № 4, которое фокусируется на защите данных в пути. Это все об использовании асимметричного шифрования (в основном, SSL/TLS и HTTPS, о которых мы говорили ранее).

Данные в состоянии покоя​

Данные в состоянии покоя относятся к состоянию ваших данных, когда они находятся на сервере или устройстве. Он не передается, что означает, что он не передается по сети или через Интернет. Итак, рассмотрим пример личной книги или дневника. Вы пишете в нем либо очень ценную, либо конфиденциальную информацию, которую не хотите, чтобы другие люди читали. Итак, хотя вы никуда его не отправляете, это не значит, что вы хотите, чтобы кто-то другой мог прочитать его содержимое, если ему удастся его достать. Шифрование данных в состоянии покоя - это то, что предотвращает такой вид уязвимости.
Хотите знать, какие продукты или услуги вы используете, которые включают симметричное шифрование в свои платформы или инструменты? Вот лишь несколько таких сервисов:
  • CodeGuard - CodeGuard - это инструмент резервного копирования веб-сайтов, который использует шифрование AES-256 для защиты ваших резервных копий.
  • Google Suite - многие сервисы Google G Suite используют шифрование данных в состоянии покоя (в дополнение к шифрованию при передаче через HTTPS) для защиты ваших данных.
  • Microsoft Azure - Azure Encryption использует симметричное шифрование для быстрого шифрования и дешифрования большого количества данных.
  • SalesForce - платформа SaleForce использует шифрование AES-256 для защиты данных в состоянии покоя.

HTTPS и безопасность веб-сайтов​

Мы уже касались этого ранее. Помните, как мы говорили о том, что симметричное шифрование является частью процесса HTTPS? Здесь асимметричное шифрование используется для облегчения обмена ключами между двумя сторонами, а затем идентичные симметричные ключи сеанса используются для фактической обработки шифрования для сеанса.
Итак, это означает, что симметричное шифрование является неотъемлемым компонентом безопасности веб-сайта.

Заключительные мысли о шифровании с симметричным ключом​

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

Хотя симметричная криптография - это старый метод шифрования, он по-прежнему занимает неоценимое место в нашем цифровом мире.
 
Top