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


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

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

См. также:

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