4.3.9.1 Основные сведения
MySQL поддерживает шифрованные SSL-соединения. Для лучшего понимания того,
как в MySQL используется SSL, мы приводим здесь основные сведения по SSL и
X509. Пользователи, которые уже знакомы с данным протоколом и стандартом,
эту часть могут пропустить.
По умолчанию в MySQL используются незашифрованные соединения между
клиентом и сервером. Это означает, что просматривать все данные,
передаваемые между клиентом и сервером, может кто угодно. На практике
можно даже изменять данные во время передачи их от клиента к серверу и
наоборот. Помимо того, иногда возникает необходимость передать
действительно секретные данные через общедоступную сеть - в таких случаях
использование незашифрованных соединений просто неприемлемо.
В протоколе SSL используются различные алгоритмы шифрования,
обеспечивающие безопасность для данных, передаваемых через общедоступные
сети. Этот протокол содержит средства, позволяющие обнаруживать любые
изменения, потери и повторы данных. В протоколе SSL также применяются
алгоритмы для проведения идентификации при помощи стандарта X509.
Шифровка - это метод, позволяющий сделать прочтение любых данных
невозможным. Фактически при современном положении дел для алгоритмов
шифрования требуется использование дополнительных элементов безопасности.
Они должны обеспечивать противодействие многим видам известных на
настоящий момент атак, таких как изменение порядка зашифрованных сообщений
или повторение данных.
Стандарт X509 позволяет производить идентификацию в Internet. Чаще всего
он используется в приложениях электронной коммерции. Упрощенно схема его
применения выглядит следующим образом: существует некая организация под
названием "Certificate Authority" (можно перевести как ``Сертификационное
Бюро''. - Прим. пер.), которая назначает электронные сертификаты всем,
кому они нужны. Сертификаты основываются на асимметричных алгоритмах
шифрования, содержащих два ключа - публичный и секретный. Владелец
сертификата может подтвердить свою личность, предъявив свой сертификат
другой стороне. Сертификат состоит из публичного ключа владельца. Любые
данные, зашифрованные при помощи этого публичного ключа могут быть
расшифрованы только при помощи соответствующего секретного ключа, который
находится у владельца сертификата.
В MySQL по умолчанию не используется шифрование при соединениях, так как
это значительно замедляет обмен данными между клиентом и сервером. Любые
дополнительные функции приводят к дополнительной нагрузке для компьютера,
а шифрование данных требует интенсивной работы процессора, что может
вызвать задержку выполнения основных задач MySQL. По умолчанию MySQL
настроен на максимально быструю работу.
Если вы хотите получить дополнительную информацию о SSL/X509/шифровании,
необходимо воспользоваться своим любимым поисковым сервером Internet и
произвести поиск по словам, которые вас интересуют.