Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
SQL Server шифрует данные с помощью иерархической инфраструктуры шифрования и управления ключами. Каждый слой шифрует слой под ним с помощью сочетания сертификатов, асимметричных ключей и симметричных ключей. Асимметричные ключи и симметричные ключи можно хранить за пределами SQL Server в модуле расширенного управления ключами (EKM).
На следующем рисунке показано, что каждый слой иерархии шифрования шифрует слой под ним и отображает наиболее распространенные конфигурации шифрования. Доступ к началу иерархии обычно защищен паролем.
Следует учитывать следующие основные понятия.
Для повышения производительности шифруйте данные с помощью симметричных ключей вместо сертификатов или асимметричных ключей.
Основные ключи базы данных защищены главным ключом службы. Главный ключ службы создается программой установки SQL Server и шифруется с помощью API защиты данных Windows (DPAPI).
Возможны другие иерархии шифрования с накоплением дополнительных слоев.
Модуль расширенного управления ключами (EKM) содержит симметричные или асимметричные ключи за пределами SQL Server.
Прозрачное шифрование данных (TDE) должно использовать симметричный ключ, называемый ключом шифрования базы данных, который защищен либо сертификатом, защищенным главным ключом главной базы данных, либо асимметричным ключом, хранящимся в EKM.
Главный ключ службы и все основные ключи базы данных являются симметричными ключами.
На следующем рисунке показаны те же сведения альтернативным образом.
На этой схеме показаны следующие дополнительные понятия:
На этом рисунке стрелки указывают общие иерархии шифрования.
Симметричные и асимметричные ключи в EKM могут защитить доступ к симметричным и асимметричным ключам, хранящимся в SQL Server. Пунктирная линия, связанная с EKM, указывает, что ключи в EKM могут заменить симметричные и асимметричные ключи, хранящиеся в SQL Server.
Механизмы шифрования
SQL Server предоставляет следующие механизмы шифрования:
функции Transact-SQL
Асимметричные ключи
симметричные ключи;
Сертификаты
Прозрачное шифрование данных
Функции Transact-SQL
Отдельные элементы можно зашифровать при их вставке или обновлении с помощью функций Transact-SQL. Дополнительные сведения см. в разделе ENCRYPTBYPASSPHRASE (Transact-SQL) и DECRYPTBYPASSPHRASE (Transact-SQL).
Сертификаты
Сертификат открытого ключа, как правило, просто называемый сертификатом, представляет собой цифровую подпись, которая привязывает значение открытого ключа к удостоверению пользователя, устройства или службы, содержащей соответствующий закрытый ключ. Сертификаты выдаются и подписаны центром сертификации (ЦС). Сущность, получающая сертификат от ЦС, является держателем этого сертификата. Как правило, сертификаты содержат следующие сведения.
Открытый ключ субъекта.
Сведения об идентификаторе субъекта, такие как имя и адрес электронной почты.
Срок действия. Это срок действия сертификата, который считается допустимым.
Сертификат действителен только в течение определенного периода времени; каждый сертификат содержит допустимые даты и допустимые даты. Эти даты задают границы срока действия. Когда срок действия сертификата прошел, новый сертификат должен запрашиваться субъектом сертификата с истекшим сроком действия.
Сведения об идентификаторе издателя.
Цифровая подпись издателя.
Эта подпись подтверждает допустимость привязки между открытым ключом и сведениями об идентификаторе субъекта. (Процесс цифровой подписи подразумевает преобразование информации, а также некоторые секретные сведения, удерживаемые отправителем, в тег, называемый подписью.)
Основное преимущество сертификатов заключается в том, что они освобождают узлы от необходимости поддерживать набор паролей для отдельных субъектов. Вместо этого хост просто устанавливает доверие к издателю сертификатов, который затем может подписать неограниченное количество сертификатов.
Когда узел, например безопасный веб-сервер, назначает издателя в качестве доверенного корневого центра, узел неявно доверяет политикам, которые издатель использовал для установления привязок сертификатов, которые он выдает. Фактически хост доверяет, что издатель проверил личность субъекта сертификата. Компьютер назначает эмитента в качестве доверенного корневого центра, помещая самоподписанный сертификат эмитента, который содержит открытый ключ эмитента, в хранилище сертификатов доверенного корневого центра сертификации на хост-компьютере. Промежуточные или подчиненные центры сертификации являются доверенными только в том случае, если у них есть допустимый путь сертификации из доверенного корневого центра сертификации.
Издатель может отозвать сертификат до истечения срока его действия. Отзыв отменяет привязку открытого ключа к удостоверению, указанному в сертификате. Каждый издатель поддерживает список отзыва сертификатов, который можно использовать программами при проверке допустимости любого данного сертификата.
Самозаверяемые сертификаты, созданные SQL Server, соответствуют стандарту X.509 и поддерживают поля X.509 версии 1.
Асимметричные ключи
Асимметричный ключ состоит из закрытого ключа и соответствующего открытого ключа. Каждый ключ может расшифровать данные, зашифрованные другим. Асимметричное шифрование и расшифровка являются относительно ресурсоемкими, но они обеспечивают более высокий уровень безопасности, чем симметричное шифрование. Асимметричный ключ можно использовать для шифрования симметричного ключа для хранения в базе данных.
Симметричные ключи
Симметричный ключ — это один ключ, используемый как для шифрования, так и для расшифровки. Шифрование и расшифровка с помощью симметричного ключа быстро и подходит для обычного использования с конфиденциальными данными в базе данных.
Прозрачное шифрование данных
Прозрачное шифрование данных (TDE) — это особый случай шифрования с помощью симметричного ключа. TDE шифрует всю базу данных с помощью этого симметричного ключа, называемого ключом шифрования базы данных. Ключ шифрования базы данных защищен другими ключами или сертификатами, защищенными главным ключом базы данных или асимметричным ключом, хранящимся в модуле EKM. Дополнительные сведения см. в разделе прозрачное шифрование данных (TDE).
Связанные материалы
Обеспечение безопасности SQL Server
Функция безопасности (Transact-SQL)