Параметры безопасности протокола TLS: вход в закрытую часть и АРМ генерации ключей

Параметры безопасности

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

  • Конфиденциальность. Используя симметричные алгоритмы, TLS шифрует передаваемые данные. В случае перехвата данных прочитать их будет невозможно.
  • Аутентификация. Гарантия того, что обмен данными происходит между теми узлами, для которых изначально был создан канал связи.
  • Проверка целостности. Одностороннее хеширование проверяет входящую информацию, исключая возможность подстановки или искажения.

При использовании протокола веб-браузер поддерживает параметры, обеспечивающие высочайшую степень безопасности. Статистика TLS предоставляет следующие данные:

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

Принцип работы SSL и TLS

Принцип SSL и TLS, как я уже сказал, одинаковый. Помимо протокола TCP / IP, устанавливается зашифрованный канал, в котором данные передаются с использованием протокола приложения: HTTP, FTP и так далее. Вот как это можно представить графически:

TLS и SSL: требуются минимальные знания
TLS и SSL: требуются минимальные знания

Протокол приложения заключен в TLS / SSL, который, в свою очередь, заключен в TCP / IP. Фактически, данные протокола приложения передаются по TCP / IP, но зашифрованы. И только машина, установившая соединение, может расшифровать передаваемые данные. Для всех остальных, кто получает переданные пакеты, эта информация будет бессмысленной, если они не смогут ее расшифровать.

Подключение устанавливается в несколько этапов:

1) Клиент устанавливает соединение с сервером и запрашивает безопасное соединение. Это может быть обеспечено путем установления соединения с портом, изначально предназначенным для работы с SSL / TLS, например 443, или путем отправки дополнительного запроса от клиента на установление безопасного соединения после установления нормального.

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

3) Сервер отправляет клиенту свой цифровой сертификат, подписанный центром сертификации, и открытый ключ сервера.

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

5) Для безопасного соединения генерируется сеансовый ключ. Это делается следующим образом:
— Клиент генерирует случайную цифровую последовательность
— Клиент шифрует его открытым ключом сервера и отправляет результат на сервер
— Сервер расшифровывает полученную последовательность с помощью закрытого ключа
Поскольку алгоритм шифрования асимметричен, только сервер может расшифровать последовательность. При использовании асимметричного шифрования используются два ключа: частный и открытый. Сообщение, отправленное публично, зашифровывается, а личное сообщение расшифровывается. Вы не можете расшифровать сообщение, если у вас есть открытый ключ.

6) Таким образом устанавливается зашифрованное соединение. Данные, передаваемые по нему, шифруются и дешифруются до тех пор, пока соединение не будет разорвано.

TLS-рукопожатие

Рукопожатие TLS

Процедура начинается с согласования параметров соединения между сервером и клиентом: определяется тип протокола и метод шифрования протокола TLS. Сертификаты проверяются, вычисляется общий сеансовый ключ. В дальнейшем клиент и сервер, не соглашаясь друг с другом, вычисляют хеш-функцию всех сообщений и несколько раз сравнивают друг друга. Если значения совпадают, устанавливается безопасное соединение на основе вычисленного общего ключа. Процедура занимает огромное количество ресурсов компьютера, и, чтобы избежать этого каждый раз, когда прерванный сеанс возобновляется, был создан TLS False Start.

TLS False Start

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

Проверьте настройки даты и времени

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

Убедитесь, что вы правильно установили время и часовой пояс. Если время постоянно тратится, см. Статью «Время на компьютере теряется при выключении: что делать?”.

Причины сбоя в протоколе TLS

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

Есть и некоторые другие причины такого сообщения:

  • Блокировка интернет-ресурса антивирусом, из-за чего отображается такое сообщение;
  • Пользователь использует старую версию «КриптоПро» — программы для создания отчетов и др.;
  • В BIOS (базовой системе ввода / вывода) включена опция SecureBoot»;
  • У пользователя установлено приложение VPN или расширение браузера, что вызывает ошибку;
  • На вашем компьютере есть вирусы, блокирующие безопасное соединение;
  • Если у вас проблемы только с подключением к ресурсу, возможно, у самого сайта проблемы с серверами или с настройками TLS;
  • возможно, сайт небезопасен, поэтому лучше не посещать его.

В базовой системе ввода / вывода (BIOS) опция «SecureBoot» включена

В базовой системе ввода / вывода (BIOS) опция «SecureBoot» включена

Влияние SSL/TLS на SEO

SEO (Search Engine Optimization, поисковая оптимизация) — это комплексная разработка и продвижение сайта для вывода его на верхние позиции в выдаче поисковых систем (SERP). Поисковая оптимизация помогает увеличить посещаемость сайта.

Использование SSL-сертификата влияет на производительность SEO, но это влияние носит косвенный характер. С 2015 года Google уделяет приоритетное внимание ранжированию (т. Е. Присвоению сайту места в результатах поиска) тем сайтам, которые работают по протоколу HTTPS. Яндекс и Мозилла придерживаются той же политики.

Браузер Google Chrome — один из самых популярных браузеров в Интернете в России. Недавно Chrome пометил HTTP-сайты как небезопасные:

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

Как решить проблему с параметрами безопасности TLS

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

  • Для антивируса Avast: откройте настройки, выберите раздел «Активная защита», нужный пункт должен быть рядом со значком щита. Снимите флажок и включите сканирование HTTP. Сохраните настройки;
  • Для Антивируса Касперского найдите раздел «Не проверять безопасное соединение». Его можно найти во вкладке «Сканировать». Или найдите «Установить сертификат» в дополнительных настройках. Сохраните настройки и перезагрузите компьютер.

Включение сканирования HTTPS в антивирусе Avast

Включение сканирования HTTPS в антивирусе Avast

Установите сертификат в Антивирусе Касперского
Установите сертификат в Антивирусе Касперского

Как правильно настроить TLS для разного типа приложений?

Для начала, у всего есть свои ключи реестра, но вам нужно точно выяснить, какое приложение вы хотите настроить, чтобы избежать проблем. Для начала полный список системных ключей, доступных в Windows 10 / Windows Server 2016/2019, доступен по адресу https://docs.microsoft.com/en-ru/windows-server/security/tls/tls-registry -settings . Изменяя их, вы можете настраивать IIS, ADFS и другие службы. Однако эти ключи не влияют на работу приложений .NET (и в частности Powershell) и WinHTTP!

Как дела? Это библиотеки. IIS и ADFS используют Schannel, поставщика поддержки безопасности (SSP), который реализует стандартные протоколы проверки подлинности SSL, TLS и DTLS в Интернете. Интерфейс поставщика поддержки безопасности (SSPI) — это API, используемый системами Windows для выполнения функций, связанных с безопасностью, включая аутентификацию. В Windows все функции SSPI выполняются библиотекой Schannel.dll, которая реализует все протоколы и криптографические наборы.

Итак, интересующие нас ветки реестра:

  • HKEY_LOCAL_MACHINE SYSTEM CurrentControlSet Control SecurityProviders SCHANNEL Protocols — включить или отключить протоколы для Schannel.dll, как клиентские, так и серверные. У каждого протокола есть своя ветка;
  • HKEY_LOCAL_MACHINE SYSTEM CurrentControlSet Control SecurityProviders SCHANNEL Ciphers — здесь вы можете редактировать список и просматривать порядок (это важно!) Комплектов шифрования;
  • HKEY_LOCAL_MACHINE SOFTWARE Microsoft Windows CurrentVersion Internet Settings WinHttp — протоколы для приложений в WinHttp API настраиваются в параметре DefaultSecureProtocols;
  • HKEY_LOCAL_MACHINE CurrentControlSet Control Cryptography ECCParameters — установка эллиптических кривых для шифрования;
  • HKEY_LOCAL_MACHINE SYSTEM CurrentControlSet Control SecurityProviders SCHANNEL Hash MD5 — отключить шифрование MD5 для токенов безопасности.

    Внимание! После его отключения Sharepoint 2010 перестает правильно работать! Он использует MD5 для генерации внутренних идентификаторов безопасности, поэтому его отсутствие сильно страдает.
  • HKEY_LOCAL_MACHINE SYSTEM CurrentControlSet Control LSA — установка размера пула потоков для рукопожатий TLS в HTTP.SYS (это реализация веб-сервера на ASP.NET Core, который является альтернативой популярному веб-серверу Kestrel).

Теперь рассмотрим конкретные примеры и настройки.

Отключение протоколов SSL и TLS 1.0 в системе в Schannel подробно описано в документации Microsoft. Вы можете отключить небезопасные либо через реестр, либо с помощью Powershell.

небезопасные криптографические наборы можно отключить с помощью параметра Functions в разделе реестра HKEY_LOCAL_MACHINE SYSTEM CurrentControlSet Control Cryptography Configuration Local SSL 00010002.

Этот параметр представляет собой многострочное текстовое значение, которое просто содержит список наборов построчно (по одному в каждой строке). Удалите ненужные линии.

Полный список поддерживаемых наборов см. На странице https://docs.microsoft.com/en-us/windows/win32/secauthn/cipher-suites-in-schannel
Внимание, список и порядок наборов меняется от версии к версии!


Набор шифрования

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

Наконец, были представлены командлеты Powershell для управления доступными наборами. Например, с помощью Disable-TlsCipherSuite можно отключить нежелательный набор.

Отключение SSL для Powershell и других .NET приложений

Как я уже писал, указанные выше системные настройки не влияют на сеансы Powershell. Вы можете проверить, какие протоколы в настоящее время активны в сеансе Powershell, выполнив команду

Net.ServicePointManager :: Протокол безопасности

Если в выводе команды вы видите ssl30, tls, значит, они должны быть отключены.

Для этого в Windows Server 2012 / Windows 2016 используйте раздел реестра

HKEY_LOCAL_MACHINE SOFTWARE Microsoft .NETFramework v4.0.30319 «SchUseStrongCrypto» = dword: 00000001

Используя сам Powershell, это можно изменить с помощью команды:

New-ItemProperty -path ‘HKLM: SOFTWARE Microsoft .NetFramework v4.0.30319’ -name ‘SchUseStrongCrypto’ -value ‘1’ -PropertyType ‘DWord’ -Force | Out-Null

Включение TLS 1.2 для WinHTTP

Короче говоря, в раздел реестра HKEY_LOCAL_MACHINE SOFTWARE Microsoft Windows CurrentVersion Internet Settings WinHttp нужно добавить параметр DefaultSecureProtocols, который в шестнадцатеричном формате будет содержать сумму значений всех протоколов, которые необходимо включить. Например, чтобы включить TLS 1.1 и 1.2, добавьте значение 0x00000A00, которое будет суммой значений TLS 1.1 (0x0000020) и TLS 1.2 (0x00000800).

Отключите поддержку протокола QUIC

Проверьте, включен ли QUIC (Fast UDP Internet Connections) в Chrome. Протокол QUIC позволяет намного быстрее открывать соединение и согласовывать все параметры TLS (HTTP) при подключении к сайту. Однако в некоторых случаях это может вызвать проблемы с SSL-соединениями. Попробуйте отключить QUIC:

  1. Переходим на страницу: chrome: // flags / # enable-quic;
  2. Найдите экспериментальную опцию протокола QUIC;
  3. Измените значение параметра По умолчанию на Отключено;
  4. Перезагрузите Chrome.

Экспериментальный протокол QUIC - отключить в Chrome

Отключите сторонние расширения в браузере

Мы рекомендуем вам отключить (удалить) сторонние расширения браузера, особенно все типы анонимайзеров, прокси, VPN, антивирусные расширения и другие подобные надстройки, которые могут помешать прохождению трафика на целевой сайт. Вы можете просмотреть список расширений, включенных в Chrome, перейдя в Настройки -> Дополнительные инструменты -> Расширения или перейдя на страницу chrome: // extensions /. Отключите все подозрительные расширения.

Отключить расширения Chrome

Очистите кэш и куки браузера, SSL кэш

Кеши браузера и файлы cookie могут быть частой причиной ошибок сертификата SSL. Мы рекомендуем вам сначала очистить кеш браузера и очистить файлы cookie. В Chrome нажмите комбинацию клавиш Ctrl + Shift + Del, выберите период времени (Всегда) и нажмите кнопку Очистить данные (Очистить данные).

Очистить кеш и файлы cookie Chrome

Чтобы очистить кеш SSL в Windows:

  1. Перейдите в Панель управления -> Свойства браузера;
  2. Щелкните вкладку «Содержание;
  3. Нажмите кнопку Очистить статус SSL);
  4. Должно появиться сообщение «Кэш SSL успешно очищен”;
  5. Осталось перезапустить браузер и проверить, осталась ли ошибка ERR_SSL_PROTOCOL_ERROR.

Очистить кеш SSL Windows

Установка SSL/TLS

На REG.RU вы можете приобрести SSL-сертификат, работающий на TLS версии 1.2. Для этого выберите соответствующий сертификат и выполните три шага: закажите, активируйте и установите его на сайте.

Если вам не удалось создать безопасный канал SSL / TLS или возникли проблемы с настройкой протокола SSL, обратитесь к нашим специалистам за помощью через заявку в службу поддержки.

Проверьте настройки антивируса и файрвола

Если на вашем компьютере установлена ​​антивирусная программа или брандмауэр (часто он интегрирован в антивирус), возможно, они блокируют доступ к сайту. Чтобы понять, ограничивают ли доступ к сайту антивирус или брандмауэр, попробуйте на время приостановить их работу.
Во многих современных антивирусах по умолчанию есть модуль проверки сертификатов сайтов SST / TLS. Если антивирус обнаруживает, что сайт использует недостаточно безопасный (или самозаверяющий) сертификат или устаревшую версию протокола SSL (тот же SSL v3 или более ранней версии), доступ пользователя к этому сайту может быть ограничен. Попробуйте отключить трафик HTTP / HTTPS и сканирование сертификатов SSL. Как вы понимаете, все зависит от того, на какой антивирус у вас установлен. Например:

  • В Dr.Web встроенный межсетевой экран (SpIDer Gate) может блокировать доступ к веб-сайтам);
  • В ESET NOD32 отключите параметр «Включить фильтр протокола SSL / TLS»; Включить фильтр ESET NOD32 SSL / TLS
  • В Avast параметр называется «Включить сканирование HTTP» (находится в «Настройки» -> «Активная защита» -> «Веб-экран» -> «Настройки» -> «Общие настройки). Avast Включить сканирование HTTP

Обновите корневые сертификаты Windows

Если ваш компьютер находится в изолированном сегменте, долгое время не обновлялся или на нем полностью отключена служба автоматического обновления, возможно, на вашем компьютере нет новых доверенных корневых сертификатов (TrustedRootCA). Мы рекомендуем вам обновить вашу систему: установить последние обновления безопасности, в случае Windows 7 — убедиться, что вы установили SP1 (KB976932) и обновления часового пояса (KB2998527).

вы можете вручную обновить корневые сертификаты согласно статье: Как вручную обновить корневые сертификаты в Windows (также рекомендуется проверить хранилище сертификатов на наличие ненадежных сертификатов, это предотвратит перехват HTTP-трафика и ряд других проблем).

Исправляем ошибку

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

Настраиваем антивирус

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

  1. Avast: зайдите в настройки, найдите блок «Активная защита», снимите флажок «Проверка веб-трафика», активируйте опцию «Включить проверку HTTPS».
  2. Касперский — находим кнопку «Не проверять защищенное соединение» в разделе «Проверка»; если его нет, перейдите в «Дополнительные настройки» и воспользуйтесь опцией «Установить сертификат».
  3. Любой другой антивирус — находим элемент, указывающий на сканирование интернет-соединения и пробуем его отключить.

Мнение эксперта Дарья СтупниковаСпециалист по WEB программированию и компьютерным системам. Редактор PHP / HTML / CSS для сайта os-helper.ru. Спросите Дарью. Если проблема не решена, функцию сканирования можно вернуть в активное состояние, а затем перейти к другим параметрам.

Обновляем «КриптоПро»

Пользователи утилиты «КриптоПро» очень часто жалуются, что при попытке зайти на какой-либо сайт браузер выдает уведомление о ненадежности протокола TLS. Обычно ошибка вызвана устаревшей версией КриптоПро. Единственное решение — обновить программу до последней версии. Вы можете скачать обновленное приложение по этой ссылке.

 

Меняем настройки браузера

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

  1. Для Internet Explorer: перейдите в «Сервис», нажмите «Свойства», нажмите «Дополнительно», откройте «Безопасность», переключите переключатель с «SSL» на «TLS».
  2. Для Opera: зайдите в «Инструменты», откройте «Общие настройки», в блоке «Дополнительно» найдите строку «Протоколы безопасности», отключите столбец «Анонимный DH / SHA-256».
  3. Для Mozilla Firefox — та же последовательность, что и в IE.

 

В Google Chrome и других браузерах нужной нам настройки нет: нужно сменить любимый браузер или искать причину в другом.

Используем дополнительные варианты

Мы предлагаем множество других методов, не требующих подробного описания:

  1. Полностью отключить защиту от вирусов на определенный период времени.
  2. Очистите файлы cookie и удалите данные веб-сайта в используемом вами браузере.
  3. Отключите приложения VPN.
  4. Выполните тщательное сканирование файловой системы с помощью антивируса.

 

Мы предложили самые простые и эффективные методы — скорее всего, один из них поможет получить доступ к нужному ресурсу.

Оцените статью
Блог про андроид-эмуляторы и электронную подпись