Интернет вещей (IoT) привел к распространению подключенных устройств. Этот всплеск также открыл двери для скомпрометированных данных. Поскольку новые технологии способствуют росту, давайте подробнее рассмотрим, как мы можем обеспечить безопасность данных и конфиденциальность в наш век гиперсвязи.
Для обеспечения безопасности в Интернете коммуникационная корпорация Netscape разработала протокол Secure Socket Layer (SSL), первый в мире уровень безопасности интернет-коммуникаций для предотвращения утечки данных и вторжений. В течение многих лет протокол SSL оставался самой популярной версией SSL. Для решения проблем, возникших в конце 90-х, поверх SSL была создана обновленная, более безопасная версия, получившая название Transport Layer Security (TLS).
По своей сути TLS был разработан с нуля как протокол, независимый от приложений. Это означает, что наряду с веб-браузерами TLS также можно использовать для других приложений, таких как электронная почта, аудио- и видеосвязь, передача файлов, интернет-телефония (VoIP), а теперь и IoT.
В этой статье мы проиллюстрируем, как работает TLS, различные протоколы, которые он поддерживает, как он реализует шифрование данных и почему важно включить его в системах Linux для защиты данных.
TLS шифрует данные во время передачи, чтобы предотвратить взлом по пути к месту назначения. Это означает, что во время передачи содержимое не прослушивается и не изменяется, точно так же, как упаковка, защищенная от несанкционированного доступа. Чтобы сделать возможным такое шифрование (и последующее дешифрование), TLS использует как симметричную, так и асимметричную криптографию, чтобы гарантировать отсутствие ущерба для производительности и безопасности.
TLS использует симметричную криптографию для шифрования данных с помощью секретного ключа. Хотя секретный ключ по умолчанию имеет 128-битное шифрование, рекомендуется использовать ключи длиной 256 бит для обеспечения непревзойденной безопасности. Симметричная криптография гарантирует, что ресурсы или время не будут потрачены впустую при самих вычислениях. Однако и при шифровании, и при дешифровании используется один и тот же секретный ключ. Это означает, что ключ должен быть надежно передан обеим сторонам.
В асимметричной криптографии для TLS (как и для SSL) существуют две пары ключей: открытый ключ и закрытый ключ. Открытый ключ шифрует данные, в то время как сервер использует свой закрытый ключ для расшифровки. Преимущество здесь в том, что открытый ключ может быть передан без какой-либо защиты.
Несмотря на то, что открытый ключ открыт для всего мира, математическую взаимосвязь между открытым и закрытым ключами нелегко вывести или дублировать, особенно когда ключи большего размера. Хотя обычно используются ключи с минимальной длиной 1024 бита, предпочтительны 2048-битные ключи.
TLS использует это асимметричное шифрование для безопасной генерации сеансового ключа и совместного использования. Затем этот ключ используется для шифрования всех данных, которыми обмениваются стороны. TLS также отбрасывает ключ по окончании сеанса.
Применяется другой уровень безопасности, при котором клиент может проверить, действительно ли открытый ключ, совместно используемый сервером, принадлежит серверу. Это проверяется с помощью сертификата, выданного Центром сертификации (CA) (www.ssl.com/faqs/what-is-a-certificate-authority/). Центр сертификации выдает цифровые сертификаты, подтверждающие подлинность владельца сертификата. Это также подтверждает, что владелец контролирует домен, которому принадлежит открытый ключ, и, следовательно, клиенты могут доверять ему.
Транспортный уровень в общих чертах можно разделить на три уровня:
TLS должен быть включен на каждом сервере, на котором размещены приложения, обменивающиеся данными по протоколу TCP/IP. По умолчанию TCP или любой другой вид безопасности на серверах не включен
На прикладном уровне существует два типа протоколов: HTTP и HTTPS. HTTP не обеспечивает безопасность и приводит к таким проблемам, как атаки типа “человек посередине”. HTTPS используется вместо HTTP для обеспечения безопасности данных во время передачи. Чтобы настроить HTTPS на сервере, вам необходимо предоставить следующие данные:
Протокол SSL устарел в своей третьей версии в 2015 году в пользу TLS, который оказался более безопасным. Сегодня большинство современных приложений используют TLS для шифрования, которое в браузерах обозначается символом padlock — общепризнанным символом.
Как показано выше, TLS шифрует передаваемые данные. Но как TLS обеспечивает это? Ниже приведена последовательность событий, которые происходят во время шифрования.
Когда сервер расшифровывает данные с помощью секретного ключа, сервер может снова вычислить HMAC, чтобы сравнить его с оригиналом, переданным клиентом. Если они совпадают, это доказывает, что сообщение не было скомпрометировано во время передачи. Если они этого не делают, это означает, что сообщение было подделано.
TLS играет решающую роль в обеспечении безопасности данных, передаваемых через Интернет, и защищенности от атак “человек посередине”. Но как нам убедиться, что TLS включен на самих веб-серверах?
Большинство серверов в Интернете сегодня развернуты на компьютерах с Linux. Это объясняет, почему в Linux уже существует широкая поддержка TLS. Все информационные и технические руководства, необходимые для настройки и включения TLS в Linux, доступны для любого выбранного сервера и операционной системы.
К счастью, почти все методы, рассмотренные выше, поддерживаются Linux изначально (по умолчанию). Linux также обычно является местом, где начинается, завершается и останавливается передача данных. Это делает еще более важным обеспечение того, чтобы TLS работал должным образом на всех компьютерах с Linux, не оставляя лазеек или слабых мест.
Сегодня онлайн (или цифровые) транзакции требуют обмена конфиденциальной личной информацией в режиме онлайн. Несанкционированный доступ к этим транзакциям в середине потока может привести к раскрытию потенциально конфиденциальных данных. Если кто-то другой получит к нему доступ в середине потока, это может привести к серьезным проблемам.
Чтобы эти данные не попали в руки злоумышленников, их необходимо обеспечить двойной защитой во время передачи. На сегодняшний день TLS является наилучшим используемым методом, поскольку он шифрует данные во время передачи на всем пути от источника к получателю. Это означает, что даже если кто-то подслушивает, он не будет знать, о чем идет речь, благодаря закрытым ключам.
Linux на сегодняшний день является наиболее предпочтительной операционной системой для серверов, поэтому включение TLS для Linux становится критически важным для обеспечения безопасности данных.