Paras,
Когда клиентская библиотека впервые пытается подключиться к SQL Server / SQL Azure, она отправляет первоначальный запрос на подключение.Считайте, что это запрос «перед подключением».На этом этапе клиент не знает, требуется ли SSL / шифрование, и ждет ответа от SQL Server / SQL Azure, чтобы определить, действительно ли требуется SSL в течение сеанса (не только последовательности входа в систему, всего сеанса соединения).В ответе установлен бит, указывающий на это.Затем клиентская библиотека отключается и повторно подключается, вооружившись этой информацией.
Рассмотрим прокси-сервер между клиентом и SQL Azure (или SQL Server).Клиент общается с прокси, а прокси общается с SQL Azure / Sql Server.Если вы не навязываете бит шифрования клиенту, вы оставляете его прокси для шифрования или нет сеанса.Прокси-сервер может зашифровать соединение на внутреннем сервере (это необходимо для SQL Azure), но не на клиентской стороне соединения, что позволяет получить доступ ко всем вашим конфиденциальным данным.Таким образом, установка флажка шифрования позволяет обойти запрос «pre-pre-connection», который запрещает любому прокси-серверу отключать бит шифрования на клиентской стороне прокси-сервера, что позволяет избежать атаки «человек посередине».
Надеюсь, в этом есть смысл ... :) Если вы скачаете Wireshark и посмотрите, что происходит с пакетами перед входом в систему, вы поймете, что я имею в виду.Установка флажка изменяет механизм рукопожатия перед входом в систему, чтобы избежать описанной мной атаки «человек посередине».