Шифрование данных в SQL Server (ADO.NET)

SQL Server 2005 содержит функции шифрования и расшифровки данных с помощью сертификата и асимметричного или симметричного ключа. Все они содержатся во внутреннем хранилище сертификатов. Хранилище использует иерархию шифрования, обеспечивающую безопасность сертификатов и ключей на уровне, находящемся выше в иерархии. Эта область функций SQL Server 2005 называется секретным хранилищем.

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

Ключи и алгоритмы

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

В пределах соединения с базой данных SQL Server 2005 может поддерживать несколько открытых симметричных ключей. Открытый ключ получается из хранилища и доступен для расшифровки данных. Не нужно указывать, какой симметричный ключ будет использоваться для расшифровки фрагмента данных. Каждое зашифрованное значение содержит идентификатор ключа (идентификатор GUID ключа), использованного для его шифрования. Если расшифрован и открыт верный ключ, то ядро сопоставляет зашифрованный поток байтов с открытым симметричным ключом. Этот ключ затем используется для выполнения расшифровки и возвращения данных. Если верный ключ не открыт, возвращается значение NULL.

Пример работы с зашифрованными данными в базе данных см. в разделе Как зашифровать столбец данных в электронной документации по SQL Server.

Внешние ресурсы

Дополнительные сведения о шифровании см. в одном из следующих источников.

Шифрование SQL Server в электронной документации по SQL Server 2008

Содержит общие сведения о шифровании в SQL Server 2008. Этот раздел включает ссылки на дополнительные разделы и инструкции.

Иерархия шифрования и Инструкции по шифрованию в электронной документации по SQL Server 2005

Содержит общие сведения о шифровании в SQL Server 2005. В этом разделе даны ссылки на дополнительные разделы и инструкции.

Использование шифрования и запутывания в электронной документации по SQL Server 2000

Описывает параметры шифрования SQL Server 2000. Дополнительно SQL Server 2000 может использовать протокол SSL для шифрования всех данных, передаваемых между компьютером приложения и экземпляром SQL Server.

См. также

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

Сценарии защиты приложений в SQL Server (ADO.NET)

Проверка подлинности в SQL Server (ADO.NET)

Серверные роли и роли базы данных в SQL Server (ADO.NET)

Владение и отделение пользователей от схем в SQL Server (ADO.NET)

Авторизация и разрешения в SQL Server (ADO.NET)

Другие ресурсы

Защита приложений ADO.NET