Поделиться через


Выбор алгоритма шифрования

Шифрование — одно из нескольких эффективных средств защиты, позволяющих администраторам обеспечивать безопасность экземпляра 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, могут быть расшифрованы на любом уровне совместимости.

Многократное использование одного и того же KEY_GUID алгоритма RC4 или RC4_128 для разных блоков данных приведет к формированию одинакового ключа 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)

Как зашифровать столбец таблицы.

Шифрование столбца данных

См. также

Основные понятия

Шифрование SQL Server

Иерархия средств шифрования