Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Key Vault поддерживает два типа ресурсов: хранилища и управляемые модули HSM. Оба типа ресурсов поддерживают несколько типов ключей шифрования. Чтобы просмотреть сводку поддерживаемых типов ключей, типы защиты по каждому типу ресурсов см. в разделе "Сведения о ключах".
В следующей таблице приведены сводные данные о типах ключей и поддерживаемых алгоритмах.
| Ключевые типы, размеры и кривые | Encrypt/Decrypt (Wrap/Unwrap) |
Sign/Verify |
|---|---|---|
| EC-P256, EC-P256K, EC-P384, EC-P521 | NA | ES256 ES256K ES384 ES512 |
| RSA 2K, 3K, 4K | RSA-OAEP-256 [Не рекомендуется] RSA1_5 [Не рекомендуется] RSA-OAEP |
PS256 PS384 PS512 RS256 RS384 RS512 RSNULL |
| AES 128-разрядная, 256-разрядная (Только для управляемых устройств HSM) |
AES-KW AES-GCM AES-CBC |
NA |
Алгоритмы EC
Для ключей EC-HSM поддерживаются приведенные ниже идентификаторы алгоритма.
Типы кривых
- P-256 — кривая NIST P-256, определенная в DSS FIPS PUB 186-4.
- P-256K — кривая SEC SECP256K1, определенная в sec 2: рекомендуемые параметры домена эллиптических кривых.
- P-384 — кривая NIST P-384, определенная в DSS FIPS PUB 186-4.
- P-521 — кривая NIST P-521, определенная в DSS FIPS PUB 186-4.
SIGN/VERIFY
- ES256 — ECDSA для дайджестов SHA-256 и ключей, созданных с кривой P-256. Этот алгоритм описан на RFC7518.
- ES256K — ECDSA для дайджестов SHA-256 и ключей, созданных с кривой P-256K. Этот алгоритм находится на этапе ожидания стандартизации.
- ES384 — ECDSA для дайджестов SHA-384 и ключей, созданных с кривой P-384. Этот алгоритм описан на RFC7518.
- ES512 — ECDSA для дайджестов SHA-512 и ключей, созданных с кривой P-521. Этот алгоритм описан на RFC7518.
Алгоритмы RSA
Для ключей EC-HSM в Key Vault поддерживаются приведенные ниже идентификаторы алгоритма.
Ключи обертывания/разобертывания (WRAPKEY/UNWRAPKEY), шифрование/дешифрование (ENCRYPT/DECRYPT)
- RSA-OAEP-256 — RSAES с использованием оптимального асимметричного шифрования с хэш-функцией SHA-256 и функцией создания маски MGF1 с SHA-256
- [Не рекомендуется] RSA1_5 — шифрование ключей RSAES-PKCS1-V1_5 [RFC3447]
- [Не рекомендуется] RSA-OAEP — RSAES с использованием оптимального асимметричного шифрования с дополнительным заполнением (OAEP) [RFC3447], с параметрами по умолчанию, указанными в RFC 3447 в разделе A.2.1. В этих параметрах по умолчанию используется хэш-функция SHA-1 и функция генерации маски MGF1 с помощью SHA-1.
Warning
Корпорация Майкрософт рекомендует использовать RSA_OAEP_256 или более сильные алгоритмы для повышения безопасности.
Корпорация Майкрософт не рекомендует RSA_1_5 и RSA_OAEP, которые включены исключительно для обратной совместимости. Криптографические стандарты больше не рассматривают RSA с схемой PKCS#1 версии 1.5 для шифрования, в то время как RSA_OAEP использует SHA1, которая имеет известные проблемы с столкновением.
SIGN/VERIFY
- PS256 — RSASSA-PSS с использованием SHA-256 и MGF1 с SHA-256, как описано в RFC7518.
- PS384 — RSASSA-PSS с использованием SHA-384 и MGF1 с SHA-384, как описано в RFC7518.
- PS512 — RSASSA-PSS, использующий SHA-512 и MGF1 с SHA-512, как описано в RFC7518.
- RS256 — RSASSA-PKCS-v1_5 с помощью SHA-256. Предоставленное приложением значение хэш-кода должно быть вычислено с помощью SHA-256 и иметь длину в 32 байта.
- RS384 — RSASSA-PKCS-v1_5 с помощью SHA-384. Предоставленное приложением значение хэш-кода должно быть вычислено с помощью SHA-384 и иметь длину в 48 байтов.
- RS512 — RSASSA-PKCS-v1_5 с помощью SHA-512. Предоставленное приложением значение хэш-кода должно быть вычислено с помощью SHA-512 и иметь длину в 64 байта.
- RSNULL — см. RFC2437 специализированный вариант использования для включения определенных сценариев TLS.
Note
Для повышения производительности рекомендуется использовать режим заполнения RSA-PSS. DigestInfo создается на стороне сервера для операций подписи, которые создают алгоритмы RS256, RS384 и RS512.
Алгоритмы симметричных ключей (только для управляемых устройств HSM)
- AES-KW — оболочка ключей AES (RFC3394).
- AES-GCM — шифрование AES в режиме счетчика Galois (NIST SP 800-38d)
- AES-CBC — шифрование AES в режиме цепочки блоков шифров (NIST SP 800-38a)
Эти алгоритмы при использовании с 256-разрядными ключами являются устойчивыми к квантовым атакам в соответствии с набором алгоритмов коммерческой национальной безопасности 2.0 и FAQ по квантовым вычислениям.
Note
Алгоритмы операций подписывания и проверки должны использовать соответствующий тип ключа, в противном случае служба вернет ошибку "Неправильный размер ключа".
Ключевые операции
Key Vault, включая управляемый модуль HSM, поддерживает следующие операции с объектами ключей:
- Создание: позволяет клиенту создавать ключ в Key Vault. Значение ключа создается в Key Vault и хранится в нем. Оно не выдается клиенту. В Key Vault можно создать асимметричные ключи.
- Импорт. Позволяет клиенту импортировать существующий ключ в Key Vault. Асимметричные ключи можно импортировать в Key Vault с помощью нескольких различных методов упаковки в конструкции JWK.
- Обновление. Позволяет клиенту с достаточными разрешениями изменять метаданные (ключевые атрибуты), связанные с ключом, ранее хранящимся в Key Vault.
- Удаление. Позволяет клиенту с достаточными разрешениями удалить ключ из Key Vault.
- Список. Позволяет клиенту перечислять все ключи в определенном Хранилище ключей.
- Список версий: позволяет клиенту перечислять все версии заданного ключа в определенном Key Vault.
- Get: позволяет клиенту получать общедоступные части заданного ключа в Key Vault.
- Резервное копирование: экспортирует ключ в защищенной форме.
- Восстановление: импортирует ранее сохраненный ключ.
- Выпуск: он безопасно освобождает ключ для авторизованного кода, работающего в конфиденциальной вычислительной среде. Для этого требуется аттестация, которая соответствует требованиям release_policy ключа доверенной среды выполнения (TEE).
- Смена: смена существующего ключа путем создания новой версии ключа (только Key Vault).
Дополнительные сведения о работе с ключами см. в справочнике по работе с Azure Key Vault с помощью REST API.
После создания ключа в Key Vault с его использованием можно выполнять следующие криптографические операции:
- Подпись и проверка. Строго говоря, эта операция является подписью или проверкой хэша, так как Key Vault не поддерживает хэширование содержимого в рамках создания подписи. Приложения должны хэшировать данные для подписи локально, а затем запрашивать подпись хэша в Key Vault. Проверка подписанных хэшей поддерживается в качестве удобного механизма для приложений, у которых нет доступа к материалам открытого ключа. Для максимальной производительности приложений операции VERIFY следует выполнять локально.
- Шифрование и упаковка ключа. Ключ, хранимый в Key Vault, можно использовать для защиты другого ключа, как правило, симметричного ключа шифрования содержимого (CEK). Если ключ в Azure Key Vault асимметричен, используется шифрование ключа. Например RSA-OAEP, а операции WRAPKEY/UNWRAPKEY эквивалентны операциям ENCRYPT/DECRYPT. Если ключ в Azure Key Vault симметричен, применяется упаковка ключа. Например, AES-KW. Операция WRAPKEY поддерживается в качестве удобного механизма для приложений, у которых нет доступа к материалам открытого ключа. Для оптимизации производительности приложений рекомендуется выполнять операции WRAPKEY локально.
- Шифрование и расшифровка. Ключ, хранимый в Azure Key Vault, можно использовать для шифрования или расшифровки одного блока данных, размер которого определяется типом ключа и выбранным алгоритмом шифрования. Операция шифрования предоставляется в качестве удобного механизма для приложений, у которых нет доступа к материалам открытого ключа. Для оптимизации производительности приложений операции ENCRYPT нужно выполнять локально.
Хотя операции WRAPKEY и UNWRAPKEY с использованием асимметричных ключей могут показаться излишними (так как они эквивалентны операции ENCRYPT и DECRYPT), важно использовать различные операции. Это обеспечивает разделение семантики и авторизации этих операций, а также целостность в случаях, когда служба поддерживает другие типы ключей.
Azure Key Vault не поддерживает операции EXPORT. Как только ключ подготовлен в системе, нельзя извлечь его или изменить его материал. Однако пользователям Key Vault ключ может потребоваться для других вариантов использования, например при его удалении. В этом случае они могут использовать операции BACKUP и RESTORE для экспорта или импорта ключей в защищенной форме. Ключи, созданные в ходе операции BACKUP, не могут использоваться за пределами Key Vault. Кроме того, в различных экземплярах Key Vault также можно использовать операцию IMPORT.
Пользователи могут ограничивать любую из криптографических операций, поддерживаемых Key Vault, для каждого ключа с помощью свойства key_ops объекта JWK.
Дополнительные сведения об объектах JWK см. в статье о веб-ключе JSON (JWK).
Операции политики смены ключа
Автоматическую смену ключей для Key Vault можно задать путем настройки политики автоматической смены ключей. Эта возможность доступна только для ресурсов Key Vault.
- Получение политики поворота: получение конфигурации политики поворота.
- Настройка политики поворота: настройка конфигурации политики поворота.
Ключевые атрибуты
В дополнение к материалу ключа можно указать следующие атрибуты. В запросе JSON ключевое слово атрибутов и кавычки "{' '}" необходимы, даже если атрибуты не указаны.
- включено: логическое значение, необязательно, значение по умолчанию — true. Указывает, является ли ключ активным и подходит ли для операций шифрования. Атрибут включено используется с nbf и exp. Если операция возникает между nbf и exp, она будет разрешена только в том случае, если включенозначение true. Операции вне окна nbf / exp автоматически запрещаются, за исключением расшифровки, выпуска, расшифровки ключа и проверки.
- nbf: IntDate, необязательно, по умолчанию теперь. Атрибут nbf (не раньше) определяет время, до которого ключ НЕ ДОЛЖЕН использоваться для криптографических операций, за исключением расшифровки, выпуска, распаковки и проверки. Для обработки атрибута nbf требуется, чтобы текущая дата и время должна быть после или равно не до даты и времени, указанной в атрибуте nbf . Key Vault может предоставить кратковременную отсрочку, обычно не более чем несколько минут, чтобы учесть разницу в показаниях часов. Нужно указать число, содержащее значение IntDate.
- exp: IntDate, необязательно, значение по умолчанию — "навсегда". Атрибут exp (время окончания срока действия) определяет время окончания срока действия после которого ключ НЕ ДОЛЖЕН использоваться для криптографической операции, за исключением расшифровки, освобождения, распаковки и проверки. Обработка атрибута exp требует, чтобы текущая дата/время должна быть до даты и времени окончания срока действия, указанного в атрибуте exp . Key Vault может предоставить кратковременную отсрочку, обычно не более чем несколько минут, чтобы учесть разницу в показаниях часов. Нужно указать число, содержащее значение IntDate.
Существуют более доступные только для чтения атрибуты, включенные в любой ответ, включающий ключевые атрибуты:
- создано: IntDate, необязательно. Созданный атрибут указывает, когда была создана эта версия ключа. Это значение равно NULL для ключей, созданных перед добавлением данного атрибута. Нужно указать число, содержащее значение IntDate.
- обновлено: IntDate, необязательный параметр. Обновленный атрибут указывает, когда была обновлена эта версия ключа. Это значение равно NULL для ключей, которые в последний раз обновлялись перед добавлением данного атрибута. Нужно указать число, содержащее значение IntDate.
-
hsmPlatform: строка, необязательно. Базовая платформа HSM, которая защищает ключ.
- Значение hsmPlatform 2 означает, что ключ защищен нашей последней платформой FIPS 140 уровня 3, проверенной платформой HSM.
- Значение hsmPlatform со значением 1 означает, что ключ защищен нашей предыдущей платформой HSM уровня 140 FIPS 2.
- Значение hsmPlatform со значением 0 означает, что ключ защищен криптографическим модулем FIPS 140 уровня 1.
- Если этот параметр не задан управляемым пулом HSM, он защищен нашей последней платформой HSM уровня 140 FIPS 3.
Важно отметить, что ключи привязаны к HSM, в котором они были созданы. Новые ключи легко создаются и хранятся в новых виртуальных машинах HSM. Хотя нет способа переноса или передачи ключей, новые версии ключей автоматически находятся на новых виртуальных машинах HSM. Дополнительные сведения о миграции на новый ключ см. в статье "Как перенести ключевые рабочие нагрузки".
Дополнительные сведения о IntDate и других типах данных см. в разделе "Сведения о ключах, секретах и сертификатах: типы данных".
Операции, зависящие от даты и времени
Недействительные и истекшие ключи вне временного окна nbf / exp будут работать для операций расшифровки, выпуска, распаковки и проверки (не приведут к возврату ошибки 403, запрещено). Основной причиной использования ключа в состоянии "еще не проверено" является возможность проверить ключ перед использованием в рабочей среде. Основная причина использования ключа в состоянии "истекший срок действия" — возможность выполнения операций восстановления в данных, которые были созданы, когда ключ был допустим. Кроме того, можно отключить доступ к ключу с помощью политик Key Vault или обновить включенный атрибут ключа на false.
Дополнительные сведения о типах данных см. в разделе "Типы данных".
Дополнительные сведения о других возможных атрибутах см. в разделе о веб-ключе JSON (JWK).
Ключевые теги
Можно указать дополнительные метаданные, относящиеся к приложению, в виде тегов. Key Vault поддерживает до 15 тегов, каждый из которых может иметь имя и значение длиной 256 знаков.
Note
Теги доступны для чтения вызывающим пользователем, если у них есть разрешение list или get к указанному ключу.
Контроль доступа к ключам
Контроль доступа к ключам, управляемым Key Vault, предоставляется на уровне хранилища ключей, которое выступает в роли контейнера ключей. Вы можете управлять доступом к ключам, используя управление доступом на основе ролей Azure (рекомендуется) или старую модель разрешений политики доступа к хранилищу. Модель разрешений на основе ролей Azure имеет три предопределенные роли для управления ключами: "Сотрудник по шифрованию Key Vault", "Пользователь шифрования key Vault", "Пользователь шифрования службы Key Vault" и может быть ограничен подпиской, группой ресурсов или уровнем хранилища.
Разрешения модели разрешений политики доступа хранилища:
Разрешения для операций управления ключами
- get: чтение открытой части ключа, а также его атрибутов
- список ключей или версий ключа, хранящихся в хранилище ключей.
- обновление. Обновление атрибутов ключа
- create: Создание новых ключей
- импорт: импорт ключа в хранилище ключей
- удалить: удалить ключевой объект
- восстановление: восстановление удаленного ключа
- резервное копирование: резервное копирование ключа в хранилище ключей
- восстановление. Восстановление резервного копирования ключа в хранилище ключей
Разрешения для криптографических операций
- расшифровка: используйте ключ для отмены защиты последовательности байтов
- шифрование: используйте ключ для защиты произвольной последовательности байтов
- unwrapKey: используйте ключ для распаковки защищенных симметричных ключей
- wrapKey: используйте ключ для защиты симметричного ключа
- проверить: Используйте ключ для проверки дайджестов
- знак: используйте ключ для подписывания дайджестов
Разрешения для привилегированных операций
- Очистка: очистка (окончательное удаление) удаленного ключа
- выпуск: освобождение ключа в защищенной вычислительной среде, которая соответствует release_policy ключа
Разрешения для операций политики смены
- ротация: Смена существующего ключа путем создания новой версии ключа (только для Key Vault)
- получение политики смены: конфигурация получения политики смены
- установка политики смены: конфигурация установки политики смены
Дополнительные сведения о работе с ключами см. в статье Azure Key Vault REST API reference (Справочник по REST API для Azure Key Vault).