Возможности Сервиса управления ключами AWS
Обзор
Сервис управления ключами AWS (KMS) обеспечивает управление криптографическими ключами, которые используются для защиты данных. AWS KMS предоставляет централизованное управление жизненным циклом и разрешениями для ключей. Вы сможете создавать новые ключи в любой удобный момент, а также по отдельности управлять правами на создание и использование этих ключей. Этот сервис интегрирован с другими сервисами AWS, что упрощает шифрование данных, хранимых в этих сервисах, и управление доступом к ключам для их дешифрования. Благодаря интеграции AWS KMS с AWS CloudTrail существует также возможность проверить, кто использовал ключи, какие именно, когда и для каких ресурсов. AWS KMS позволяет разработчикам без особых затруднений добавлять шифрование или цифровые подписи в код своих приложений, как напрямую, так и через AWS SDK. AWS Шифрование SDK поддерживает AWS KMS в качестве поставщика ключей для разработчиков, которые используют в своих приложениях локальное шифрование/дешифрование данных.
Основные функции
Открыть всеЕсли для вашего аккаунта AWS включен AWS CloudTrail, каждый запрос, который вы делаете к AWS KMS, записывается в файл журнала. Этот файл журнала доставляется в корзину Простого сервиса хранения данных Amazon (Amazon S3), которую вы указали при включении AWS CloudTrail. Записанная информация содержит сведения о пользователе, времени, дате, действии API и использованном ключе при необходимости.
AWS KMS является полностью управляемым сервисом. При увеличении потребностей в шифровании сервис автоматически масштабируется в соответствии с текущими требованиями. Он позволяет управлять десятками тысяч ключей KMS в аккаунте и использовать их в любое время. Существуют определенные лимиты по умолчанию на количество ключей и запросов, но при необходимости можно запросить их повышение.
Ключи KMS, созданные вами самостоятельно или другими сервисами AWS от вашего имени, не могут быть экспортированы из сервиса. Это означает, что AWS KMS несет полную ответственность за их надежное хранение. Чтобы обеспечить доступность ключей и соответствующих данных в любой момент обращения к ним, AWS KMS хранит множество копий зашифрованных версий ключей в системах с уровнем надежности 99,999999999 %.
Для зашифрованных данных или рабочих процессов цифровой подписи, которые перемещаются между регионами (аварийное восстановление, многорегиональные архитектуры высокой доступности, глобальные таблицы DynamoDB и глобально распределенные согласованные цифровые подписи), вы можете создать многорегиональные ключи KMS. Это набор взаимодействующих ключей с одним и тем же ключевым материалом и идентификаторами ключей, которые могут быть реплицированы в несколько регионов.
AWS KMS разработан как высокодоступный сервис с региональным адресом API. Поскольку большинство сервисов AWS используют его для шифрования и дешифрования, архитектура AWS KMS обеспечивает высокий уровень доступности. Эта доступность поддерживает работу остальных сервисов AWS и гарантируется Соглашением об уровне обслуживания AWS KMS.
Сервис AWS KMS устроен таким образом, что никто, включая сотрудников AWS, не может извлечь из него ваши незашифрованные ключи. В сервисе используются аппаратные модули безопасности (HSM), которые постоянно проверяются в Национальном институте по стандартизации и технологии США (NIST) с помощью Федерального стандарта по обработке информации (FIPS) 140-3 и Программы валидации криптографических модулей для защиты конфиденциальности и целостности ваших ключей. Модули HSM AWS KMS – это криптографический источник доверия для защиты ключей KMS. Они создают безопасную аппаратно защищенную границу для всех криптографических операций, которые происходят в KMS. Весь материал для ключей KMS, генерируемый в модулях AWS KMS HSM, и все операции, требующие расшифровки материала для ключей KMS, происходят строго в пределах границ этих модулей HSM по стандарту FIPS 140-3 уровня безопасности 3. К обновлениям встроенного ПО модулей HSM AWS KMS применяется многосторонний контроль доступа, который проверяет и анализирует независимая группа Amazon. Согласно требованиям FIPS-140, все изменения встроенного ПО модулей HSM KMS передаются в аккредитованную NIST лабораторию для проверки на соответствие уровню безопасности 3 FIPS 140-3.
Незашифрованные ключи никогда не записываются на диск и используются только в энергозависимой памяти HSM в течение времени, необходимого для выполнения запрошенной криптографической операции. Эти гарантии одинаково применимы как к ключам, которые AWS KMS создает от вашего имени, так и к тем, которые вы импортируете в службу извне или самостоятельно создаете в кластере AWS CloudHSM с использованием собственного хранилища ключей. Вы выбираете, создавать ключи для одного региона или для нескольких. Ключи для одного региона могут использоваться только в том регионе AWS, где они были созданы, и никогда не передаются за его пределы.
Подробнее об архитектуре AWS KMS и криптографии, которая используется в этом сервисе для защиты ключей, см. в сведениях о криптографии.
* В регионе AWS «Китай (Пекин)» под управлением Beijing Sinnet Technology Co., Ltd. (далее – Sinnet) Sinnet и регионе AWS «Китай (Нинся)» под управлением Ningxia Western Cloud Data Technology Co., Ltd. (далее – NWCD) NWCD модули HSM одобрены государственными учреждениями Китая (а не проверены по стандарту FIPS 140‑3), а вышеупомянутое техническое описание о сведениях криптографии не применяется.
AWS KMS позволяет создавать и использовать асимметричные ключи KMS и пары ключей данных. Вы можете назначить ключ KMS для использования в роли пары ключей подписи, шифрования или соглашения. Генерация пар ключей и асимметричные криптографические операции с такими ключами KMS выполняются в аппаратных модулях HSM. Вы можете запросить открытую часть асимметричного ключа KMS для использования в локальных приложениях, а закрытая часть никогда не покидает пределов сервиса. Вы можете импортировать закрытую часть асимметричного ключа из собственной инфраструктуры управления ключами.
Вы также может создать с помощью сервиса асимметричную пару ключей данных. Такая операция возвращает копию открытого и закрытого ключей в формате обычного текста, а также копию закрытого ключа, зашифрованную предоставленным вами симметричным ключом KMS. Версии ключей в формате обычного текста можно использовать в локальном приложении, а зашифрованную копию закрытого ключа – сохранить отдельно, чтобы использовать в будущем.
* Асимметричные ключи не поддерживаются при использовании собственного хранилища ключей.
Вы можете создать и проверить Код аутентификации сообщений на основе хэша (HMAC) из аппаратных модулей безопасности (HSM), проверенных AWS KMS FIPS 140-3. HMAC – это криптографический структурный элемент, который содержит секретный ключ в хэш-функции для создания кода аутентификации сообщения с уникальным ключом. Ключи KMS HMAC имеют преимущество перед HMAC из приложений, поскольку материал для ключа создается и используется полностью в KMS AWS, а также применяются меры контроля доступа, заданные для ключа. Ключи KMS HMAC и алгоритмы HMAC, которые используются AWS KMS, отвечают промышленным стандартам, определенным в RFC 2104. Ключи KMS HMAC генерируются в аппаратных модулях безопасности AWS KMS, сертифицированных в соответствии с программой проверки криптографических модулей FIPS 140-3, и никогда не оставляют AWS KMS без шифрования. Можно также импортировать собственный ключ HMAC из своей инфраструктуры управления ключами.
* Ключи HMAC AWS KMS не поддерживаются в собственных хранилищах ключей.
** Информация, приведенная в стандарте FIPS 140-3, не применима к региону AWS «Китай (Пекин)» под управлением Sinnet и региону AWS «Китай (Нинся)» под управлением NWCD. Аппаратные модули безопасности (HSM), используемые в Китае, одобрены государственными учреждениями Китая.
- Отчеты AWS по управлению системами и организациями (SOC 1, SOC 2 и SOC 3). Загрузить копию этих отчетов можно из AWS Artifact.
- Каталог контрольных механизмов соответствия облачных вычислений (C5). Узнайте больше о системе аттестации C5, поддерживаемой правительством Германии.
- Стандарт безопасности данных индустрии платежных карт (PCI DSS), уровень 1. Узнайте больше о сервисах, соответствующих стандарту PCI DSS, в AWS на странице вопросов и ответов.
- Федеральный стандарт по обработке информации (FIPS) 140-3. Криптографический модуль AWS KMS прошел сертификацию по стандарту FIPS 140-3 (уровень безопасности 3) Национальным институтом по стандартизации и технологии США (NIST). Подробные сведения можно найти в сертификате FIPS 140‑3 для модулей HSM сервиса AWS KMS и в соответствующей политике безопасности.
- Федеральная программа управления рисками и авторизацией (FedRAMP). Подробнее о соответствии AWS требованиям FedRAMP см. на странице соответствия требованиям FedRAMP.
- Акта о передаче и защите данных учреждений здравоохранения (HIPAA), США. Узнайте больше на странице соответствия требованиям HIPAA.
Средства управления безопасностью и качеством сервиса AWS KMS были подтверждены и сертифицированы по указанным ниже схемам соответствия требованиям.
Здесь мы приводим список других режимов соответствия, по которым сервис AWS KMS прошел проверку и сертификацию.
* Информация, приведенная в стандарте FIPS 140-3, не применима к региону AWS «Китай (Пекин)» под управлением Sinnet и региону AWS «Китай (Нинся)» под управлением NWCD. Аппаратные модули безопасности (HSM), используемые в Китае, одобрены государственными учреждениями Китая.
Собственные хранилища ключей сочетают в себе удобный и всеобъемлющий интерфейс управления ключами AWS KMS с возможностью владеть устройствами, на которых находится ключевой материал и выполняются криптографические операции, а также контролировать их. В результате вы берете на себя большую ответственность за доступность и долговечность криптографических ключей и за работу HSM. AWS KMS предлагает два типа собственных хранилищ ключей.
Хранилище ключей с поддержкой CloudHSM
Вы можете создать ключ KMS в собственном хранилище ключей AWS CloudHSM, где все ключи генерируются и хранятся в кластере AWS CloudHSM, которым вы владеете и управляете. Когда вы применяете ключ KMS из собственного хранилища ключей, все криптографические операции с этим ключом выполняются только в вашем кластере AWS CloudHSM.
Использование собственного хранилища ключей влечет за собой дополнительные расходы на кластер AWS CloudHSM. Ответственность за доступность материала ключей в этом кластере несет сам клиент. Подробнее о том, подойдет ли собственное хранилище ключей в вашем случае, см. в этом блоге.
Внешнее хранилище ключей
Если у вас есть нормативная необходимость хранить и использовать ключи шифрования на территории или за пределами облака AWS, вы можете создать ключ KMS во внешнем хранилище ключей AWS KMS (XKS), где все ключи генерируются и хранятся во внешнем менеджере ключей вне AWS, которым вы владеете и управляете. При использовании XKS ключевой материал никогда не покидает HSM.
В отличие от стандартных ключей KMS или ключей в собственном хранилище ключей CloudHSM, при использовании внешнего хранилища ключей вы несете ответственность за надежность, доступность, задержку, производительность и безопасность ключевого материала и криптографических операций с внешними хранилищами ключей. На производительность и доступность операций KMS могут влиять аппаратные, программные или сетевые компоненты используемой вами инфраструктуры XKS. Чтобы узнать больше об XKS, вы можете прочитать этот блог AWS News.
* Поддержка собственных хранилищ ключей недоступна в регионе AWS «Китай (Пекин)» под управлением Sinnet и регионе AWS «Китай (Нинся)» под управлением NWCD.
** Функция собственного хранилища ключей недоступна для асимметричных ключей KMS.
*** CodeArtifact не поддерживает ключи KMS в XKS.
- AWS Шифрование SDK – это библиотека шифрования общего назначения для реализации шифрования и дешифрования всех типов данных.
- SDK шифрования баз данных AWS – это библиотека шифрования, которая помогает защитить конфиденциальные данные, хранящиеся в базе данных, и предоставляет дополнительные функции поиска зашифрованных данных и запросов к ним.
- Клиент шифрования Amazon S3 – это библиотека для шифрования и дешифрования объектов, хранящихся в бакете S3.
AWS KMS можно использовать с библиотеками шифрования на стороне клиента для защиты данных непосредственно в приложении на AWS или в гибридных и многооблачных средах. Эти библиотеки можно использовать для шифрования данных перед их хранением в сервисах AWS или на любом другом носителе хранения и сторонних сервисах по своему усмотрению. Они предназначены для шифрования и дешифрования данных с использованием отраслевых стандартов и передовых методов. Библиотеки шифрования позволяют сосредоточиться на основных функциях приложения, а не на шифровании и дешифровании данных.
Дополнительные сведения см. в документации AWS Crypto Tools.
Хотя крупномасштабных квантовых компьютеров пока нет в общем доступе, создание достаточно мощного квантового компьютера потенциально ускорит решение схем, которые мы используем в криптографических алгоритмах с открытым ключом для защиты наших данных сегодня. AWS уже работает, готовясь к постквантовому миру. Сервис управления ключами AWS (KMS) поддерживает постквантовую криптографию двумя способами: постквантовый протокол TLS для соединений с AWS KMS и постквантовые подписи. Для защиты соединений с адресами TLS, подключенными к KMS, используется Module-Lattice-Based Key-Encapsulation Mechanism (ML-KEM). Для цифровых подписей AWS KMS поддерживает FIPS 204 Module-Lattice Digital Signature Standard (ML-DSA) – квантово-устойчивый алгоритм, разработанный для помощи организациям в противодействии возникающим угрозам со стороны квантовых вычислений в сфере цифровых подписей. И ML-KEM, и ML-DSA являются алгоритмами, стандартизированными NIST для защиты конфиденциальной информации в обозримом будущем, в том числе после появления квантовых компьютеров, способных взломать криптографию.
Интеграция с сервисами AWS
AWS KMS интегрируется с сервисами AWS для шифрования данных в местах хранения или для упрощения входа и проверки с помощью ключа AWS KMS. Для защиты данных в местах хранения интегрированные сервисы AWS используют шифрование конвертов, для которого применяется ключ данных, который в свою очередь шифруется с помощью ключа KMS, сохраненного в AWS KMS. Для входа и проверки сервисы AWS используют асимметричные ключи KMS или ECC, сохраненные в AWS KMS. Дополнительные сведения о том, как интегрированный сервис использует AWS KMS, можно найти в документации на соответствующий сервис AWS.
Таблица интеграции сервисов
|
|
Названия сервисов
|
Названия сервисов
|
Названия сервисов
|
Названия сервисов
|
Названия сервисов
|
|---|---|---|---|---|---|
|
Интеграция сервисов
|
Alexa для бизнеса [1]
|
Amazon EMR
|
Управляемые рабочие процессы Amazon для Apache Airflow (MWAA)
|
Безопасный браузер Amazon WorkSpaces
|
AWS GameLift
|
- [1] Поддерживает только управляемые ключи AWS.
- [2] AWS KMS поддерживает собственное хранилище ключей, для которого кластер AWS CloudHSM создает резервную копию.
- [3] Список сервисов, интегрированных с AWS KMS в регионе AWS «Китай (Пекин)» под управлением Sinnet и регионе AWS «Китай (Нинся)» под управлением NWCD, см. на странице интеграция AWS KMS с сервисами в Китае.
Сервисы AWS, которые не перечислены выше, шифруют данные клиента с помощью ключей, принадлежащих самому сервису и управляемых им же.