Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Относится к:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Система аналитической платформы (PDW)
SQL база данных в Microsoft Fabric
Криптография с открытым ключом представляет собой форму обеспечения конфиденциальности сообщений, подразумевающую создание открытого и закрытого ключей. Закрытый ключ хранится в секрете, а открытый ключ передается другим лицам. Хотя ключи математически связаны, закрытый ключ не может быть легко производным с помощью открытого ключа.
Открытый ключ можно использовать для шифрования данных, которые могут расшифровывать только соответствующий закрытый ключ. Это использование обеспечивает конфиденциальность при отправке зашифрованных сообщений владельцу закрытого ключа.
Аналогичным образом владелец закрытого ключа может подписывать данные (шифровать хэш), которые можно проверить (расшифровать) с помощью открытого ключа. Это использование формирует основу цифровых сертификатов, в которых сведения, содержащиеся в сертификате, подписаны владельцем закрытого ключа, гарантируя подлинность содержимого и удостоверение подписывчика. Так как ключи шифрования и расшифровки отличаются, они называются асимметричными ключами.
Как сертификаты, так и асимметричные ключи представляют собой способы асимметричного шифрования. Сертификаты часто используются в качестве контейнеров для асимметричных ключей, так как они могут содержать дополнительные сведения, такие как даты окончания срока действия и издатели. Нет разницы между двумя механизмами для алгоритма шифрования, и нет разницы в силе, учитывая ту же длину ключа. Как правило, сертификат используется для шифрования других типов ключей шифрования в базе данных или для подписывания модулей кода.
Сертификаты и асимметричные ключи можно применять для расшифровки данных, зашифрованных другим способом. Обычно асимметричный ключ используется для шифрования симметричного ключа перед его сохранением в базе данных.
Открытый ключ не имеет определенного формата, например сертификата, и его нельзя экспортировать в файл.
Note
SQL Server содержит функции, позволяющие создавать сертификаты и ключи и управлять ими для использования с сервером и базой данных. SQL Server нельзя использовать для создания сертификатов и ключей с другими приложениями или операционной системой и управления ими.
Certificates
Сертификат — это объект безопасности с цифровой подписью, содержащий открытый (при необходимости закрытый) ключ для SQL Server. Вы можете использовать внешние созданные сертификаты или SQL Server для создания сертификатов.
Note
Сертификаты SQL Server соответствуют стандарту сертификата IETF X.509v3.
Сертификаты полезны благодаря возможности выполнить как экспорт ключей в файлы сертификатов X.509, так и импорт из них. Синтаксис, применяемый при создании сертификатов, позволяет вводить параметры создания для сертификатов, например дату окончания действия.
Использование сертификата в SQL Server
Сертификаты могут использоваться для защиты соединений, при зеркальном отображении баз данных, подписывании пакетов и других объектов, шифровании данных или соединений. В следующей таблице перечислены дополнительные ресурсы для сертификатов в SQL Server.
| Topic | Description |
|---|---|
| СОЗДАТЬ СЕРТИФИКАТ (Transact-SQL) | Содержит описание команды создания сертификатов. |
| Определение источника пакетов с помощью цифровых подписей | Содержит сведения об использовании сертификатов для подписывания программных пакетов. |
| Использование сертификатов для конечной точки зеркального отображения базы данных (Transact-SQL) | Содержит сведения об использовании сертификатов с зеркальным отображением базы данных. |
Асимметричные ключи
Асимметричные ключи используются для защиты симметричных ключей. Их можно также использовать для ограниченного шифрования данных и цифрового подписывания объектов базы данных. Асимметричный ключ состоит из закрытого ключа и соответствующего открытого ключа. Дополнительные сведения об асимметричных ключах см. в статье CREATE ASYMMETRIC KEY (Transact-SQL).
Асимметричные ключи можно импортировать из файлов ключей строгого имени, но их нельзя экспортировать. У них также нет параметров истечения срока действия. Асимметричные ключи не могут шифровать подключения.
Использование асимметричного ключа в SQL Server
Асимметричные ключи можно использовать для защиты данных или подписывания незашифрованного текста. В следующей таблице перечислены дополнительные ресурсы для асимметричных ключей в SQL Server.
| Topic | Description |
|---|---|
| CREATE ASYMMETRIC KEY (Transact-SQL) | Содержит описание команды создания асимметричных ключей. |
| SIGNBYASYMKEY (Transact-SQL) | Отображает параметры для подписывания объектов. |
Tools
Корпорация Майкрософт предоставляет средства и служебные программы, которые будут создавать сертификаты и файлы ключей строгого имени. Эти средства обеспечивают более широкий объем гибкости процесса создания ключей, чем синтаксис SQL Server. Эти средства можно использовать для создания ключей RSA с более сложными длинами ключей, а затем импортировать их в SQL Server. В следующей таблице показано, где найти эти средства.
| Tool | Purpose |
|---|---|
| New-SelfSignedCertificate | Создает самозаверяющие сертификаты. |
| makecert | Создает сертификаты. Вместо него рекомендуется использовать New-SelfSignedCertificate. |
| sn | Создает строгие имена для симметричных ключей. |