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

Шифрование — одно из нескольких эффективных средств защиты, позволяющих администраторам обеспечивать безопасность экземпляра SQL Server.

Алгоритмы шифрования определяют преобразования данных, исключающие возможность легкого восстановления исходного текста неавторизированными пользователями. SQL Server позволяет администраторам и разработчикам выбирать из нескольких алгоритмов, включая DES, Triple DES, TRIPLE_DES_3KEY, RC2, RC4, RC4 с 128-разрядным ключом, DESX, AES с 128-разрядным ключом, AES с 192-разрядным ключом и AES с 256-разрядным ключом.

Не существует одного алгоритма, идеально подходящего для всех случаев. Информация по качеству каждого из них лежит за пределами электронной документации по SQL Server. Однако можно руководствоваться следующими общими принципами:

  • Надежные алгоритмы шифрования обычно потребляют больше ресурсов ЦП, чем менее надежные средства шифрования.

  • Использование длинных ключей, как правило, дает более надежные результаты, чем шифрование с помощью коротких ключей.

  • Асимметричные операции шифрования обеспечивают более надежную защиту, нежели симметричные алгоритмы шифрования с помощью ключей такой же длины, но выполняются относительно медленно.

  • Блочные шифры с длинными ключами надежнее поточных шифров.

  • Длинные сложные пароли надежнее, чем короткие пароли.

  • При необходимости шифровать большие объемы данных, шифруйте данные с помощью симметричного ключа, а симметричный ключ — с помощью асимметричного ключа.

  • Зашифрованные данные не поддаются сжатию, но сжатые данные могут быть зашифрованы. При использовании сжатия данных, выполняйте эту операцию до их шифрования.

Важное примечаниеВажно!

Повторное использование того же алгоритма 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-разрядным ключом.