Применимо:SQL Server База данных SQL Azure Управляемый экземпляр SQL Azure azure Synapse Analytics Analytics Platform System (PDW)
Шифрование — это одна из нескольких защит, доступных администратору, который хочет защитить экземпляр SQL Server.
Алгоритмы шифрования определяют преобразования данных, которые не могут быть легко отменены несанкционированными пользователями. Администраторы и разработчики могут выбрать один из нескольких алгоритмов в SQL Server, включая DES, Triple DES, TRIPLE_DES_3KEY, RC2, RC4, 128-разрядный RC4, DESX, 128-разрядный AES, 192-разрядный AES и 256-разрядный AES.
Начиная с SQL Server 2016 (13.x), все алгоритмы, отличные от AES_128, AES_192и AES_256 не рекомендуется. Чтобы использовать старые алгоритмы (что не рекомендуется), необходимо установить уровень совместимости базы данных 120 или ниже.
Выбор правильного алгоритма
Ни один алгоритм не идеально подходит для всех ситуаций, и руководство по преимуществам каждого из них выходит за рамки этой статьи. Однако можно руководствоваться следующими общими принципами:
Надежные алгоритмы шифрования обычно потребляют больше ресурсов ЦП, чем менее надежные средства шифрования.
Использование длинных ключей, как правило, дает более надежные результаты, чем шифрование с помощью коротких ключей.
Асимметричное шифрование медленнее симметричного.
Длинные сложные пароли надежнее, чем короткие пароли.
Симметричное шифрование рекомендуется использовать, если ключ хранится только локально. Асимметричное шифрование рекомендуется использовать, когда ключи должны быть общими в проводной сети.
При шифровании большого количества данных необходимо зашифровать данные с помощью симметричного ключа и зашифровать симметричный ключ асимметричным ключом.
Зашифрованные данные нельзя сжать, но сжатые данные можно зашифровать. При использовании сжатия данных, выполняйте эту операцию до их шифрования.
Дополнительные сведения о алгоритмах шифрования и технологии шифрования см. в разделе "Основные понятия безопасности".
Устаревший алгоритм RC4
Алгоритм RC4 поддерживается только в целях обратной совместимости. Новый материал можно зашифровать только с помощью RC4 или RC4_128 когда база данных находится на уровне совместимости 90 или 100 (не рекомендуется). Используйте вместо этого более новые алгоритмы, например AES. В SQL Server 2012 (11.x) и более поздних версиях материалы, зашифрованные с помощью RC4 или RC4_128 можно расшифровать на любом уровне совместимости.
Повторяющееся использование одного или RC4_128KEY_GUID нескольких RC4 блоков данных приводит к тому же ключу RC4, так как SQL Server не предоставляет соль автоматически. Использование одного и того же ключа RC4 неоднократно является известной ошибкой, которая приводит к слабому шифрованию. Поэтому мы не рекомендуем RC4 использовать ключевые слова и RC4_128 ключевые слова. Эта функция будет удалена в будущей версии SQL Server. Избегайте использования этого компонента в новых разработках и запланируйте изменение существующих приложений, в которых он применяется.
Уточнение алгоритмов DES
DESX был именован неправильно. Симметричные ключи, созданные с использованием шифра Triple DES с ALGORITHM = DESX 192-разрядным ключом. Алгоритм DESX не предоставляется. Эта функция будет удалена в будущей версии SQL Server. Избегайте использования этого компонента в новых разработках и запланируйте изменение существующих приложений, в которых он применяется.
Симметричные ключи, созданные с использованием Triple DES с ALGORITHM = TRIPLE_DES_3KEY 192-разрядным ключом.
Симметричные ключи, созданные с использованием Triple DES с ALGORITHM = TRIPLE_DES 128-разрядным ключом.
Администрирование инфраструктуры базы данных SQL Server для облачных, локальных и гибридных реляционных баз данных с помощью предложений реляционной базы данных Microsoft PaaS.
Узнайте о шифровании данных с использованием иерархической инфраструктуры шифрования и управления ключами в SQL Server. Хранение ключей в расширяемом модуле управление ключами.
Сведения о сертификатах и асимметричных ключах в SQL Server, включая сертификаты, инструменты и связанные задачи, созданные в SQL Server или за его пределами.
Сведения о том, как зашифровать столбец данных с помощью симметричного шифрования в SQL Server, используя Transact-SQL, что иногда называют шифрованием на уровне столбцов или ячеек.
Узнайте о прозрачном шифровании данных (TDE), которое шифрует данные SQL Server, Базы данных SQL Azure и Azure Synapse Analytics (шифрование неактивных данных).