Выбор алгоритма шифрования
Шифрование — одно из нескольких эффективных средств защиты, позволяющих администраторам обеспечивать безопасность экземпляра SQL Server.
Алгоритмы шифрования определяют преобразования данных, которые не могут с легкостью отменить неавторизованные пользователи. SQL Server позволяет администраторам и разработчикам выбирать из нескольких алгоритмов, в том числе DES, Triple DES, TRIPLE_DES_3KEY, RC2, RC4, RC4 со 128-разрядным ключом, DESX, AES со 128-разрядным ключом, AES со 192-разрядным ключом и AES с 256-разрядным ключом.
Не существует одного алгоритма, идеально подходящего для всех случаев. Информация по качеству каждого из них лежит за пределами электронной документации по SQL Server . Однако можно руководствоваться следующими общими принципами:
Надежные алгоритмы шифрования обычно потребляют больше ресурсов ЦП, чем менее надежные средства шифрования.
Использование длинных ключей, как правило, дает более надежные результаты, чем шифрование с помощью коротких ключей.
Асимметричное шифрование слабее симметричного шифрования с использованием ключа той же длины, но является относительно медленным.
Блочные шифры с длинными ключами надежнее поточных шифров.
Длинные сложные пароли надежнее, чем короткие пароли.
При необходимости шифровать большие объемы данных, шифруйте данные с помощью симметричного ключа, а симметричный ключ — с помощью асимметричного ключа.
Зашифрованные данные не поддаются сжатию, но сжатые данные могут быть зашифрованы. При использовании сжатия данных, выполняйте эту операцию до их шифрования.
Важно!
Алгоритм RC4 поддерживается только в целях обратной совместимости. Когда база данных имеет уровень совместимости 90 или 100, новые материалы могут шифроваться только с помощью алгоритмов RC4 или RC4_128. (Не рекомендуется.) Используйте вместо этого более новые алгоритмы, например AES. В SQL Server 2012 и более поздних версиях материалы, зашифрованные с помощью RC4 или RC4_128, можно расшифровать на любом уровне совместимости.
Многократное использование одного и того же RC4 или RC4_128 KEY_GUID для различных блоков данных приведет к одному и тому же ключу RC4, так как SQL Server не предоставляет рассеивание автоматически. Повторное использование ключа RC4 является типичной ошибкой, снижающей надежность шифра. Таким образом, ключевые слова RC4 и RC4_128 являются устаревшими. В будущей версии Microsoft SQL Server этот компонент будет удален. Не используйте его при работе над новыми приложениями и как можно быстрее измените приложения, в которых он в настоящее время используется.
Дополнительные сведения об алгоритмах шифрования и о технологии шифрования см. в разделе Основные понятия безопасности руководства разработчика для платформы .NET Framework в сети MSDN.
Пояснение к алгоритмам DES:
DESX был именован неправильно. Симметричные ключи, созданные с параметром ALGORITHM = DESX, в действительности используют шифр TRIPLE DES с 192-битным ключом. Алгоритм DESX не предоставляется. В будущей версии Microsoft SQL Server этот компонент будет удален. Избегайте использования этого компонента в новых разработках и запланируйте изменение существующих приложений, в которых он применяется.
Симметричные ключи, созданные с параметром ALGORITHM = TRIPLE_DES_3KEY, используют шифр TRIPLE DES с 192-битным ключом.
Симметричные ключи, созданные с параметром ALGORITHM = TRIPLE_DES, используют шифр TRIPLE DES с 128-битным ключом.
Связанные задачи
Шифрование с помощью симметричного ключа. | CREATE SYMMETRIC KEY (Transact-SQL) |
Шифрование с помощью асимметричного ключа. | CREATE ASYMMETRIC KEY (Transact-SQL) |
Кодирование с использованием сертификата. | Инструкция CREATE CERTIFICATE (Transact-SQL) |
Шифрование файлов базы данных с помощью прозрачного шифрования данных. | Прозрачное шифрование данных (TDE) |
Как зашифровать столбец таблицы. | Шифрование столбца данных |